Demonstrate a Useful Introduction to Electronics Using Arduino in the comments below!
If you're looking to get into electronics projects you might be confused about which board you want to use for your first project. The two boards that most people hear about are Arduino and Raspberry Pi. Raspberry Pi isn't a hard sell. After all, you can buy an SD card called NOOBs and get started on using Raspian, a Debian distribution of distribution of Linux, which does all the work for you. As you get more familiar with Linux you can choose your flavor, or choose the Linux distribution that works best for your project. OpenELEC is great if you're looking for a great bare bones Linux distribution for media centers and all the hard work for installing Retropie has been done for you if you are looking to do something with retro gaming. Linux really shines when it comes to taking advantage of your hardware to its fullest, something that people who have managed their own servers have been aware of for awhile.
Your choice of a board is going to depend on the type of electronics project you want to work on. If you've never considered Arduino before then you are in for a treat. Arduino has a loyal and passionate following, stemming from it's embrace of a simplified programming environment, it's embrace of an Open Hardware and Open Software ecosystem, and it's a great place to start if you're interested in how electronics work. It's great for so called tinklers, people who like to take electronics apart and try and figure out how everything works. Perhaps you've found yourself taking apart an old Casio digital watch, a game console that stopped working, a CRT, you name it. Arduino is for those who want to know how stuff works.
Because it embraces an Open environment, it's possible to understand everything there is to know about what's happening under the hood. As you can imagine, this has tremendous implications for whatever electronics project you are working for. It also means that a lot of the hard work has already been done, thanks to all the documentation created from open sourcing the project to a large and enthusiastic community. You can get started with simple projects such as making your own calculator, digital thermometer, light sensor, and digital voltmeter. You can also find a lot of documentation online to support you as you attempt to build your own Laser Harp or Robot. Arduino boards also work great with projects involving the Raspberry Pi, such as an input device for a bar top retro arcade cabinet. The PIK3A uses an Arduino Leonardo board on it.
On a Raspberry Pi you can simply hook up a monitor, a keyboard, a power supply, and NOOBS SD card to have your very own, full blown computer. There are even kits you can purchase that turn your Pi into full blown laptop, a bar top retro arcade cabinet, and more. An Arduino on the other hand isn't really a computer in the same way that a Raspberry Pi is. You can't run an OS on it and have multiple programs running on it. The Arduino is a different kind of a board. It contains a microcontroller on a circuit board which is used to receive inputs and drive outputs. Examples of inputs you would use with an Arduino include temperature sensors, a motion sensor, a distance sensor, capacitive touch sensor, reading an LED as a photodiode, or an analog sensor. Whereas outputs could be an LED Light, a screen, DC motors, relays, digital potentiometers, lasers, and stepper motors. You can configure the pins on an Arduino as either inputs or outputs.
Arduino can't run multiple programs at the same time, as you would do with a board like the Raspberry Pi that has its own OS, and it needs to be hooked up to a separate computer. The open-source Arduino Software (IDE) makes it simple to write your own code and upload it to your board through a serial port. The way you do that is through writing sketches that are converted to code. If you've ever taken a programming class for something like C++, Java, or a web-based language like PHP then you might appreciate how simple they've made it to program an Arduino board. Most of the work is done under the hood. The Arduino language is merely a set of C/C++ functions that can be called from your code. Your sketch undergoes minor changes (e.g. automatic generation of function prototypes) and then is passed directly to a C/C++ compiler (avr-g++).
If you've ever taken a programming class one of the first lessons you probably learned was how to program Hello World. The best way to learn about Arduino is by rolling up your sleeves and doing a simple project. If you're just getting started with Arduino then the Hello World tutorial on the Arduino site makes a great introduction to Arduino.
Here's a list of things Arduino is good for:
- Tinkering (You love dissecting broken gadgets but don't know what to do with the bits)
- Making hardcore electronics projects accessible (easy-to-use hardware and software)
- A Programmable Logic Controller (Program it to do things and it can interact with the world through electronic sensors, lights, and motors)
- Versatile and low-cost prototyping (An open-source prototyping platform for anyone interested in creating interactive objects or environments)
- Working with motors
- Wheels, servos, stepper motors
If you have anything you would like to add to this let us know in the comments below.