Selasa, 25 Maret 2014

Xathrya Sabertooth

Xathrya Sabertooth


Arduino and List of Arduino Boards

Posted: 24 Mar 2014 06:19 PM PDT

Arduino is an open source electronics prototyping platform based on flexible, easy-to-use hardware and software. It is a single board microcontroller intended for artists, designers, hobbyists, and anyone interested in creating interactive objects or environment.

A microcontroller (sometimes abbreviated as µC, uC, or MCU) is an integrated circuit contain a processor core, memory, and programmable input/output peripherals. One can program microcontroller for various purpose especially for control machinery, for example: robotics, automobile engine control systems, remote controls, toys, and other embedded systems. In short, microcontroller is similar to our brain, controlling input, process, and output of electronic device. This behavior similar to computer, however microcontroller already have memory, timer, and storage for store executable program.

A microcontroller can’t be used directly. It is a IC chip and we can’t use it immediately, which means we have to supply a minimum system to run it. That is analogically same with processor and motherboard. Fortunately, Arduino has provide all we need to utilize a microcontroller. Arduino has wrapped all the complicated things and provide us with nice programmable board without us to do extra work to create a system minimum.

The Boards

When we talk about Arduino, we are actually talking about Arduino family. There are some boards released by Arduino, designed using either Atmel AVR processor and ARM-based processor. The main differences between those boards are the:

  • Type of processor
  • Number of inputs and outputs
  • Form factor

An Arduino board is basically a single board with appropriate system and components enough to power and run a microcontroller. One Arduino product (Arduino board) might differs in some aspects when compared to another Arduino product. Arduino boards use megaAVR series of chips, specifically the ATmega8, ATmega 328, ATmega 1280, and ATmega 2560; and also ARM Cortex chips.

The boards include a 5 volt linear regulator. We can power Arduino board from power connector or from USB connector when we program it.

Most of Arduino products include 16MHz crystal oscillator (or ceramic resonator in some variants). Although some designes such as the LilyPad run at 8 MHz.

As stated before, Arduino is an open-source. Arduino exposed the schematics for all of their products, open to everyone. Anyone who interested can make their own arduino board. However, Arduino restricts that no one should use Arduino brand name for third party maker. That means, any company who create the Arduino clone cannot use Arduino name.

The Shields

Shields are printed circuit expansion boards that plug into the normally supplied Arduino pin-headers. Shields can provide motor controls, GPS, ethernet, LCD display, or any function specific to that shield. These peripherals are sold separately and can also be made by ourselves.

Programming in Arduino

Microcontroller is programmable, so does Arduino board which use microcontroller to run its awesomeness.

Arduino has official Integrated Development Environment (IDE) in use of programming for Arduino. The IDE is a cross-platform application written in Java and derived from the IDE for the Processing programming language and Wiring projects. It is designed to introduce programming to artists and other newcomers unfamiliar with software development. There are also alternative to Arduino IDE which you can see from this list.

Arduino programs are written in C or C++, however the structure is simplified. Arduino use software library called Wiring from original Wiring project which makes many common input/output operations much easier. We at minimum only need to define two function to make a runnable cyclic executive program:

  • setup(): a function run once at the start of a program that can initialize settings.
  • loop(): a function called repeatedly until the board powers off.

An example for simple source code (also called as “sketch”) which will blinks a LED on and off:

const unsigned int LED_PIN = 13;    void setup() {     pinMode (LED_PIN, OUTPUT);    // Enable pin 13 for digital output  }    void loop() {     digitalWrite(LED_PIN, HIGH);  // Turn on the LED     delay(1000);                  // Wait 1 second or 1000 miliseconds     digitalWrite(LED_PIN, LOW);   // Turn off the LED     delay(1000);                  // Wait 1 second  }

The programs compiled or created are in binary format which executable by the microcontroller. However this binary program is different with binary program in our computer. These programs use the different format, the mnemonic used by microcontroller.

The last step in programming Arduino is “upload” the program to Arduino. In common practice, uploading a program to microcontroller need external device called “programmer”. The fancy thing is, Arduino needs no external programmer. It has built component in board which allow our ordinary computer as programmer.

List of Boards

Arduino release numbers of board. This list might not be up to date. Please refer this page for more accurate Arduino product.

  1. Arduino Uno
  2. Arduino Leonardo
  3. Arduino Due
  4. Arduino Yùn
  5. Arduino Tre
  6. Arduino Micro
  7. Arduino Robot
  8. Arduino Esplora
  9. Arduino ADK
  10. Arduino Ethernet
  11. Arduino Mega 2560
  12. Arduino Mini
  13. Arduino BT (BlueTooth)
  14. LilyPad Arduino USB
  15. LilyPad Arduino Simple
  16. LilyPad Arduino SimpleSnap
  17. LilyPad Arduino
  18. Arduino Nano
  19. Arduino Pro Mini
  20. Arduino Pro
  21. Arduino Fio

For quick comparison:

Name
Processor
Operating Voltage/Input Voltage
CPU Speed
Analog In/Out
Digital IO/PWM
EEPROM [KB]
SRAM [KB]
Flash [KB]
USB
UART
UnoATmega3285 V/7-12 V16 Mhz6/014/61232Regular1
DueAT91SAM3X8E3.3 V/7-12 V84 MHz12/254/12-965122 Micro4
LeonardoATmega32u45 V/7-12 V16Mhz12/020/712.532Micro1
Mega 2560ATmega25605 V/7-12 V16Mhz16/054/1548256Regular4
Mega ADKATmega25605 V/7-12 V16Mhz16/054/1548256Regular4
MicroATmega32u45 V/7-12 V16Mhz12/020/712.532Micro1
MiniATmega3285 V/7-9 V16Mhz8/014/61232--
NanoATmega168

ATmega328
5 V/7-9 V16Mhz8/014/60.512

1
1

2
16

32
Mini-B1
EthernetATmega3285 V/7-12 V16Mhz6/014/41232Regular-
EsploraATmega32u45 V/7-12 V16Mhz--12.532Micro-
ArduinoBTATmega3285 V/2.5-12 V16Mhz6/014/61232-1
FioATmega328P3.3 V/3.7-7 V8 Mhz8/014/61232Mini1
Pro (168)ATmega1683.3 V/3.35-12 V8 Mhz6/014/60.512116-1
Pro (328)ATmega3285 V/5-12 V16Mhz6/014/61232-1
Pro MiniATmega1683.3 V/3.35-12 V

5 V/5-12 V
8 Mhz

16 MHz
6/014/60.512116-1
LilyPadATmega168V
ATmega328V
2.7-5.5 V/2.7-5.5 V8 Mhz6/014/6 0.512116--
LilyPad USBATmega32u43.3 V/3.8-5V8 Mhz4/09/412.532Micro-
LilyPad SimpleATmega3282.7-5.5 V/2.7-5.5 V8 Mhz4/09/41232--
LilyPad SimpleSnapATmega3282.7-5.5 V/2.7-5.5 V8 Mhz4/09/41232--
YùnATmega32u45 V/5 V

you should provide regulated 5V
16 MHz7/020/712.532Regular

Micro
1
TreATmega32u416 MHz6/014/7 (5 V)

12/4 (3.3 V)
12.532

We might cover some Arduino models. To get start, you can check following models:

  • Arduino Uno, basic one with a replaceable chipset.
  • Arduino Mega 2560, provides a bunch of inputs and output.
  • Arduino LilyPad, wearable as clothes.
  • Arduino Nano, very small device.

For my series of tutorials unless told otherwise, I will use Arduino Uno and sometime Arduino Mega.

Reference

  1. Arduino official site – http://arduino.cc/

Tidak ada komentar:

Posting Komentar