Arduino

Arduino on avoimeen laitteistoon perustuva mikrokontrolleri-elektroniikka-alusta ja ohjelmointiympäristö. Laitteisto perustuu 8-bittiseen Atmel AVR -mikrokontrolleriin, jonka pinneihin voi kytkeä erilaisia sensoreita, moottoreita, LED-valoja ja muita komponentteja. Laitteistoa ohjelmoidaan C++:aan perustuvalla Arduino-ohjelmointikielellä.
Arduinon alkuperä
Arduino-projekti käynnistettiin Olivettilla 2005 opiskelijoita varten. Alun perin Arduino-laitteita valmisti italialainen Smart Projects, mutta Arduinon tekninen määrittely on julkinen ja vapaasti käytettävissä, ja sittemmin laitteita ovat ovat valmistaneet muutkin.
Tekniikka
Arduino-laitteita on eri malleja, jotka eroavat toisistaan mm. EEPROMin, keskusmuistin ja Flash-muistin sekä digitaalisten ja analogisten pinnien määrissä. Alkuperäisissä laitteissa ohjelmointi tehtiin sarjaportin kautta, nykyisin käytettävissä on usein USB tai Bluetooth. Ohjelmointiin käytetään Arduino Alpha -ohjelmaa, joka on saatavilla yleisimmille käyttöjärjestelmille (mm. Microsoft Windows, Apple Mac OS X ja Ubuntu Linux[1]). Arduinolle on saatavissa myös lisälaitteita (engl. shield), jotka liitetään suoritinkortin päälle. Lisälaitteiden avulla Arduinossa voi käyttää mm. Ethernetiä, GPS:ää, WLANia, sensorikortteja ja kosketusnäyttöjä.
Arduino-laite | Suoritin | Flash-muistia (KiB) | EEPROMia (KiB) | SRAMia (KiB) | Digitaalisia siirtopinnejä |
...joista PWM:llä | Analogisia pinnejä | USB | Mitat (mm) |
---|---|---|---|---|---|---|---|---|---|
Diecimila | ATmega168 | 16 | 0.5 | 1 | 14 | 6 | 6 | FTDI | 68.6 mm × 53.3 mm |
Due[2] | ATMEL SAM3U | 256 | 0[3] | 50 | 54 | 4[4] | 16 | ||
Duemilanove | ATmega168/328P | 16/32 | 0.5/1 | 1/2 | 14 | 6 | 6 | FTDI | 68.6 mm × 53.3 mm |
Uno | ATmega328P | 32 | 1 | 2 | 14 | 6 | 6 | ATmega8U2 | 68.6 mm × 53.3 mm |
Leonardo | Atmega32u4 | 32 | 1 | 2 | 14 | 6 | 12 | Atmega32u4 integrated | 68.6 mm × 53.3 mm |
Mega | ATmega1280 | 128 | 4 | 8 | 54 | 14 | 16 | FTDI | 101.6 mm × 53.3 mm |
Mega2560 | ATmega2560 | 256 | 4 | 8 | 54 | 14 | 16 | ATmega8U2 | 101.6 mm × 53.3 mm |
Fio | ATmega328P | 32 | 1 | 2 | 14 | 6 | 8 | - | 40.6 mm × 27.9 mm |
Nano | ATmega168 or ATmega328 | 16/32 | 0.5/1 | 1/2 | 14 | 6 | 8 | FTDI | 43 mm × 18 mm |
LilyPad | ATmega168V or ATmega328V | 16 | 0.5 | 1 | 14 | 6 | 6 | - | 50 mm ⌀ |
Ohjelmisto
Arduinossa on vain kaksi pääfunktiota:
setup()
– funkio, joka alustaa laitteen asetukset.loop()
– funktio, jota toistetaan virran sammuttamiseen asti.
Yleisin ensimmäinen mikrokontrollerille siirrettävä ohjelma on Blink (suom. "Vilkku"), joka vilkuttaa yhtä LEDiä[5]:
#define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT); // pinni 13 asetetaan tulostustilaan.
}
void loop () {
digitalWrite (LED_PIN, HIGH); // kytkee LEDin päälle; HIGH on Arduinon vakio, joka antaa LEDille 5 volttia
delay (1000); // odottaa sekunnin (1000 millisekuntia)
digitalWrite (LED_PIN, LOW); // sammuttaa LEDin
delay (1000); // odottaa sekunnin
}
Lähteet
- ↑ Karvinen Tero ja Kimmo: Sulautetut, s. 34-49. Helsinki: Readme.fi, 2010. ISBN 978-952-220-313-7 Teoksen verkkosivut Viitattu 28.11.2011.
- ↑ Chirgwin, Richard: Arduino to add ARM board this year. The Register, 20.9.2011. ”Arduino [...] showed off the new version in time for the New York Maker’s Faire, with a 96 MHz clock speed, 256 KB of flash memory, 50 KB of SRAM, five SPI buses, two I2C interfaces, five UARTs and 16 12-bit analog interfaces.” Artikkelin verkkoversio. Viitattu September 20, 2011.
- ↑ http://www.atmel.com/dyn/products/param_table.asp?category_id=163&family_id=605&subfamily_id=2086&OrderBy=part_no&Direction=ASC
- ↑ http://www.atmel.com/dyn/products/param_table.asp?category_id=163&family_id=605&subfamily_id=2086&OrderBy=part_no&Direction=ASC
- ↑ "Blink Tutorial" Arduino.cc.