A Software guy drowning in the Hardware world...
#1
Posted 27 August 2011 - 04:53 PM
Allow me to introduce myself:
I'm very interessted in electronics and computer science, and most of all what I can acheive at home using both. I'm hooked on home automation using HomeSeer and various protocols such as the old X10 protocol and RFXCOM for Nexa/HomeEasy/OregonScientific/etc.
I have a reasonable good handle on programming with VB.net and to some degree also C#.
However, I don't know much about electronics. But I'm very interessted to learn, and that's why I've looked into the Netduino. I have a Netduino on its way and I'm looking forward to start tinker with it. I've also start reading the "Netduino and Internet of Things" book and I'm looking forward for the "Getting Started with Netduino" book to be released.
I have a few ideas for hardware that I want to build (and program) and I'd like all the help and pointers I can get to make sure I'm on the right track:
1. Sleep Tracker
I want to hook up a accelerometer to a Netduino and let it track the vibrations from the bed for sleep analysis. I currently use my Android phone for this, but I want to avoid that if I can.
I've bought a tri-axis accelerometer ("Triple Axis Accelerometer Breakout - MMA7361") from Sparkfun and the idea is to just log the vibrations and let a PC analyse the results afterwards. But I don't even know how I connect the accelerometer to the Netduino...
2. Position Finder
Using some kind of wireless technology ("XBee" turns up whenever I search) I want to utilize three or more transmitter that sends a signal and then use the signal strength to determine a receivers distance to each transmitter. That data can then again be used to find a position if the trasmitter's locations are known.
I've seen Arduino projects where it is possible to estimate the distance betwen two XBees. But yet again I don't even know where to start. And I don't know which XBees to get.
3. A window blind motor
Hook up a motor/servo to a Netduino and hopefully have it respond to X10 or Nexa/HomeEasy commands over 433 MHz. I realize that this might be waaay out of my leage, but a man can dream....
4. Expanding
I want to add LCD-screens, LEDs, buttons and so on. Everything that's cool...
I know that this is already over my head. But is it possible?
Is there some recommended place to start and learn more about electronics?
I believe in a "learn by doing" approach, but where can I learn the basics?
Thank you for your help and patience!
#2
Posted 27 August 2011 - 10:48 PM
#3
Posted 28 August 2011 - 02:23 PM
The main thought was to at least have SOMETHING familiar when I'm entering a complete new world backwards and screaming.A general comment on your dreams: I think you are biting off too much too early. The Netduino, or any C# capable device for that matter, is, in my opinion, not an entry-level approach.
The idea of learning a new programming language at the same time as I'm trying to grasp the basic principles of electronics was somewhat off putting. To be able to just program like I'm already used to seemed like a good idea.
I though the whole idea behind the Netduino was that it's almost the same as the Arduino, but you can take advante of the .NET Micro framework? Many of the Arduino shields supposedly work with the Netduino.Have you thought about a more gentler way to get into the fight? Perhaps an Arduino or a Chipino? Sparkfun also has the T.I. "Launch" for $6 (which I bought).
The "Launch" seems cool. I will have to look into that too.
Perhaps you're right. I will have to read up on this. But the main thing I liked about the Netduino is that I already know how to write for it, it's basically just a matter of WHAT to open and when, but I guess that goes for all the languages.Learning about "interfacing" a microcontroller to the outside world is so much more easy and achievable (I believe) to grasp from the 8-bit C, or BASIC, realm.
I believe I will be able to program the Netduino "just fine" (hopefully ), but the main problem is that at the moment I don't know how to connect it to anything...
#4
Posted 28 August 2011 - 03:05 PM
#5
Posted 28 August 2011 - 03:55 PM
I really wonder why a programmer never asks for some source (book, web, tutorial, etc) to learn the electronic basis, so that he/she will "walk by him/herself".
I am *REALLY* happy to teach something to who does not know, and share everything I can of my knowledge about circuitry, but...why discourage?
WHOA! There is such a book????
I'm asking! I may have neglected to ask on this forum, but I have asked many of my EE friends and family. I can’t blame them they design CPU’s for HP so thinking with less a billion transistors is no longer an ability of theirs. Without exception, they have all pointed me to EE 101 type books that are theoretical based. I think I need something more technician based.
So if there is a book that could teach me how to create the trivial stuff you all take for granted like pull-up, pull-down, current limiting, how to use op-amps, voltage regulators, diodes, resistors, transistors… doing simple (~ less than 20 component) digital circuits… I would be eternally grateful!!!!!!
If my message helped you... how 'bout giving me a
www.MessingWithReality.com
#6
Posted 28 August 2011 - 04:28 PM
Allow me to introduce myself:
...
I have a reasonable good handle on programming with VB.net and to some degree also C#.
Welcome!
I saw your post yesterday and was going to respond, but I knew there were far more qualified members… I FEEL YOUR PAIN… Daily.
Sleep Tracker – Many of the SparkFun pages have references to tutorials. It just so happens the accelerometer you picked didn’t. But this one did… 3-axis accelerometer
Typically under the Documents section, they will have a tutorial…
I don’t know… but you might find the pin-out to be similar to what you have. And although, it’s taught to go to an Arduino, the pins on the Netduino are pin compatible so the wiring should be the same on that side. Although, the software samples are C++ and the objects are different, I suspect that you’re probably more comfortable with the code side (like me) once you have the wires in place.
Window Blind – If I understand your needs, you’ll want to know where the blind is as its moving. There are many ways… you could use a stepper motor so you know exactly how many rotations to lift the blind. I’ve gotten, but haven't used yet…
...for that purpose. There is a tutorial on the stepper motor driver page. Another alternative might be since the roll up blinds might not roll up with same number of turns every time. I know in the real world they seem to roll up tighter some times than others. You might use a motor and motor driver and then use a reed switch/ magnet or optical sensor to detect when it’s up and/or down. I'm kind of partial to the optical sensor! Its way cool what it can do.
I haven’t messed with RF yet, so, I’ll pass to others…
Otherwise, have fun, ask questions when you get to more specific issues.
Good luck!
- Moskus likes this
If my message helped you... how 'bout giving me a
www.MessingWithReality.com
#7
Posted 28 August 2011 - 05:06 PM
#8
Posted 28 August 2011 - 05:25 PM
In reading this thread (and lots more like it on other forums) I believe that often times people overlook that there is a big difference between knowing enough to get something to work and thoroughly understanding it.
Consider changing the oil in your car. That is something most people can do without an understanding of how an internal combustion engine works. By the same token there are some basics that one needs to know in order to do it safely and not ruin the engine. Things like "Shut the car off before crawling underneath to drain the oil" and 'Be sure to check the oil level on the dipstick before restarting the car and then check for leaks."
Now consider a simple electric lamp. One needs to have a power source, a lamp and some wire to connect them. One does not need to understand the difference between AC and DC current, or for that matter even care.
A good electrical engineer will understand Maxwell's equations, just as someone with a degree in computer science should thoroughly understand design patterns. That having been said, I know lots of people making a living as a programmer could not implement a state machine if their life depended on it.
The plain fact is that for _most_ of the things that beginners want to do with single board computers, knowledge of graduate level engineering is simply not required. What is helpful is the level of knowledge typically required to earn a boy (or girl) scout merit badge. Much of what one needs to know is best learned in a group environment with hands on labs. One could take EE courses at a university or one could simply go to a local hackerspace and learn by doing, benefiting from the experience and knowledge of others.
For those wanting an on-line resource to gain greater exposure to basic EE, two sites I have found helpful are the EEV blog and The Signal Path. If you are rusty on the math or other academic topics (like differential equations) the Khan Academy is a great resource.
Just keep in mind that learning electrical engineering and building simple projects are not always the same.
Finally allow me to say something to the EEs here. For a programmer who already knows C# (or VB) an .Net the Netduino is an ideal first single board computer. Why? because he already has the toolchain (Visual Studio) installed and running on his computer. While there are great, open source toolchains such as GNU on Unix available for a multitude of single board computers, for a programmer who uses Visual Studio on a daily basis that would simply be one more hurtle to getting started with micro-controllers. Similarly for a person with Unix PC who regularly programs in GCC, the Netduino may not be ideal.
Mention was made of the TI MSP430 which at a cost of $4.30 delivered has to be one best deals going. Personally if I am going to make a mistake and destroy a micro-controller I would rather make the mistake with one of my TI 430s than one of my Netduino Plus at $60. Heck, many places charge more that $4.30 just to ship a Netduino! The point being that there are lots of boards and parts available and it is usually best to try many of them and learn rather than fret over finding the one best one.
#9
Posted 28 August 2011 - 08:30 PM
#10
Posted 28 August 2011 - 09:22 PM
Netduino is really good for those just starting out with electronics too. A year ago when Netduino launched, there was of course no community and much less source code for .NET Micro Framework out there. Today, with 10,000's of people using Netduino and many contributing here in one online community...there is a lot of support for people at all stages of electronics.I though the whole idea behind the Netduino was that it's almost the same as the Arduino, but you can take advante of the .NET Micro framework? Many of the Arduino shields supposedly work with the Netduino.
don't know how to connect it to anything...
That said, we think Arduino is pretty nifty too. If you want to get into hardcore 8-bit C hacking or want to use the notepad-like IDE (no debugging or nice tools--but good for simpler art projects), you can certainly play there too...
We're here to help and support each other. It'll be fun to see what you build!
Chris
- Bill E. likes this
#11
Posted 28 August 2011 - 11:51 PM
...
It would be interesting to get some feedback from members as to why they zeroed in on the Netduino. ...
For me it was a no brainer... working all day with Visual Studio in my day job and all home projects as well... Windows Phone 7 apps, engineering apps for my other bad habits... designing boats and etc...
Also, have a friend at work and after watching five minutes of him dink'n in the Arduino editor and I was sold! People can give Microsoft grief on many things, but I haven't seen anything touch Visual Studio (Eclipse included)... but then I might be biased
And I'm glad I did... the Netduino... JUST WORKS!
I just wish the hardware side was as falling off the log easy. Maybe someday.
- Bill E. likes this
If my message helped you... how 'bout giving me a
www.MessingWithReality.com
#12
Posted 29 August 2011 - 05:03 AM
#13
Posted 29 August 2011 - 05:56 PM
@Mario Vernari
Math and physics don't scare me at all. I like them both very much!
Circuits and electronics, however, do scare me. I am a master in civil engineering, specialized in acoustics. At the university someone was trying to teach us some acoustics using circuits instead of a simple mass/spring connection.
I really didn't understand anything and I almost failed the course because of it. That scared the cr@p out of me, as I don't think I'm a stupid guy (it only seems that way ).
The main problem to me is that it seems that people that KNOWS electric circuits and all that stuff, think it is so easy that EVERYBODY should know it. And, as far as I know, it IS really easy but nobody has been able to explain it to me in a way I can understand it.
But then again, I haven't really sat down and read a book on the subject. Yet. And I believe I will have to do that (too bad your suggestion didn't have a Kindle version, but I'll find one).
Inquisitor
Thank you for the pointers! I'll check the other accelerometer to see if I can get started somehow. A stepper motor(s) and a driver seems like the way to go at the time being. Thanks!
Bill E.
I didn't think of you as "discouraging". You got my point. I'm really looking for pointers like "remember kids, do this, but don't do that". It seemes to me that on this forum (which is fantastic) therea are more electronic engingeers than there are hobbyists (or programmers).
I'm not a professional EE or a professional programmer. I only program applications and scripts to help me cope with my work and my home automation system. More and more lately I have a feeling that I'm missing the right hardware and that's when I started looking for a "development system" that could help me. The Netduino seems rather good!
Chris Walker
It's always good to see a communtiy growing! To me, that means it's a platform worth investigating and this thread confirms my impression of the Netduino.
I like being able to create applications that may solve a problem currently existing programs can't do. And from time to time, in my profession, it's not uncommon. To me this is just an extension of that, out of the software world and in to the hardware world.
I believe I will have to read up on the basics of electronic engineering. Start from scratch with resistors, current and so on. The problem is that if I knew where to start I would already have done so...
#14
Posted 29 August 2011 - 06:02 PM
#15
Posted 29 August 2011 - 06:36 PM
Much simpler than expected...Moskus, read these:
http://lpsa.swarthmo...calAnalogs.html
http://multimechatro...cal_Analogy.pdf
Cheers
#16
Posted 29 August 2011 - 08:14 PM
Thank yo, Mario. I've seen many of these analogies before, but seeing them now in this condensed form actually made more sense (and perhaps I've gotten a little more knowledge and experience since last time).Going for dinner...
Much simpler than expected...Moskus, read these:
http://lpsa.swarthmo...calAnalogs.html
http://multimechatro...cal_Analogy.pdf
Cheers
However, I believe I'm still not getting my point through. For "speed is distance over time" to make sense you need to know about "distance" and "time" and how to measure both. From there on you can move forward to "Force is mass with an acceleration", which requires knowledge about mass and how it's measured and what acceleration really is.
This is kind of the same. I want to learn how to blink a LED, how to combine it with a resistor, light sensor, turn an engine/servo ond and off and so on. And I hoped to learn it by using the Netduino.
When you learn programming as a hobby, you don't really need two full years of reading up on Object Oriented Programming, and three years of C, C++ and Java after that. You start by creating a "Hello World" program in the desired language, and you build up on that.
However, with programming there are thousands of articles and tutorials on the net, and they cover almost everything you want to know. If you have a problem, you can be sure you're not the only one.
The Netduino seems to be missing something in the middle. The projects on this page shows us how to blink a led and turn it on/off by using code. That's fine. But there HAS to be something between the advanced posts here on the forum and those (too) simple tutorials on the "Projects" page.
Perhaps it's because most guys using Netduinos are electrical engineers, not software developers. I don't know, it's just a theory.
However, I DO really need to read up on the basics. And I will.
#17
Posted 30 August 2011 - 06:44 AM
Have you had a look at the Wiki?The Netduino seems to be missing something in the middle. The projects on this page shows us how to blink a led and turn it on/off by using code. That's fine. But there HAS to be something between the advanced posts here on the forum and those (too) simple tutorials on the "Projects" page.
Regards,
Mark
To be or not to be = 0xFF
Blogging about Netduino, .NET, STM8S and STM32 and generally waffling on about life
Follow @nevynuk on Twitter
#19
Posted 30 August 2011 - 07:38 AM
If you are going to SparkFun's site then check out their tutorial section.... and I definentally need to get my hands on the "SparkFun Inventor's Kit"!
Regards,
Mark
To be or not to be = 0xFF
Blogging about Netduino, .NET, STM8S and STM32 and generally waffling on about life
Follow @nevynuk on Twitter
#20
Posted 31 August 2011 - 01:07 AM
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users