Hey guys. I need a little guidance. I've become very interested in programming and microcontrollers as of this year. I want to be able to program them in order to create cool projects for my car. I'm a Auto Technician with with a great understanding of how electricity works, and a fairly good understanding of electronics as a whole. I'm just not sure of Arduino is for me.
I have a friend who gave me a Renesas starter kit, and told me that learning C with it would be much better than starting with Ardunio. He didn't like the fact that Ardunio used a language based on C. I look at the starter kit and some code and my mind instantly melted. I love to learn and I'm pretty quick at picking stuff up, but this was insane. Now I'm back at looking at getting a Arduino.
The thing is, would I be able to transfer smoothly from learning and using the Arduino language to full C easily? And can the Arduino be programmed using C directly? Thanks :)
The "Arduino language" is C (with some C++ classes thrown in). On top of C, there are some predefined functions that handle common tasks like reading pins, writing to pins, generating PWM waveforms, etc. But they're not a separate language, just pre-written functions that you call from C. You could program it directly in C (or C++).
The Arduino is a good way to become familiar with microcontroller programming in general. It is not as intimidating as a more powerful starter kit like the one you mention and would probably serve as a good first step. If/when you are ready to work with a more powerful kit your knowledge will transfer.
Check out our new shield: http://www.ruggedcircuits.com/html/gadget_shield.html
I'd really like to know how this whole "meme" of the Arduino "not using C/C++" got started. I'd also like to know why these people parrot this stuff, when it would be fairly easy to check it out for themselves and see that the avr-gcc compiler is invoked. Finally, it irks me that people think of the Arduino as a toy or worthless or something; like somehow it is impossible to code for the ATMega168/328 in "straight C" (like any other AVR) or even (boo! j/k) assembler - then upload the resulting hex file with a programmer via ICSP. I think maybe most of the people are ticked because an open-source community has made microcontrollers easy to use (similar "hate" was directed toward the Basic Stamp series, too)...
perform some of the simple tutorials & you will never look back.
It could help to buy a Starter Kit which has all the necessary hardware included.
eg: the Arduino Projects kit and book from www.smileymicros.com
If you wanted to use the microcontroller w/o the Arduino environment then www.nerdkits.com is an option.
I think Arduino is definitely for you. I had looked at C before with a big ol' fancy software and it swamped me. After that, I was very happy with Arduino. Use is very simplified and there is tons of help to learn how to program.
The Arduino software and programs you write with it is C, but it takes a little bit of the complexity/difficulty out. Still, you can program Arduino with normal C with a general C programming software/compiler. I don't know the details on this, but there's more information out there about that, for example, the Arduino website.
Wow, guys. Thanks for the excellent and kind response. I though I would get eaten alive lol. So I'll take your advice and learn C with the Arduino. I'm really excited to get started and to share my experience with together forum members. Fort learning C, any suggestions on beginner books?
I would just start with the examples on the playground, C books are (IMO) interesting at times, for example I have one that for the entire 300+ pages never once explained that int = integer, which is pretty durn dumb considering the first page say's "you don't need to know a single thing about programming" and goes on to make all sorts of assumptions that at times were tripping up experienced C people
yeah, the are so many tutorials on the net these days that you don't need to buy any dead tree versions really. Just jump in and blow some stuff up already.