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ä.
Arduinoa ohjelmoidaan Arduino Alpha -ohjelmalla tietokoneen USB-portin kautta, mikä on mahdollista asentaa yleisimmille käyttöjärjestelmille, kuten Microsoft Windows, Apple Mac OS X ja Ubuntu Linux[1]
Projekti aloitettiin Italian Ivreassa Olivettilla opiskelijoita varten. Alun perin Arduino-laitteita valmisti italialainen Smart Projects, mutta laitteen speksit ovat julkiset, joten muutkin valmistavat ovat valmistaneet niitä. Laitteita on eri malleja, jotka eroavat toisistaan mm. RAM-muistin ja EEPROM-muistin ja Flash-muistin määrän perusteella, digitaalisten ja analogisten pinnien määrällä. Alkuperäisissä laitteissa ohjelmointi tapahtui sarjaportin kautta, myöhemmissä on USB tai Bluetooth. Laitteistolle on saatavissa myös lisälaitteita (ns. shield), jotka painetaan prosessorikortin päälle. Näitä ovat mm. Ethernet, GPS, WiFi, sensorikortit tai kosketusnäyttö.
Arduino | Prosessori | Flash KiB |
EEPROM KiB |
SRAM KiB |
Digitaaliset siirtopinnit |
...joista PWM:llä |
Analogiset pinnit | USB liitäntätyyppi |
Dimensions 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 | None | 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 | None | 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 mikrokontriollerille siirrettävä ohjelma on Blink (suomeksi vilkku), joka vilkuttaa yhtä LEDiä. Arduinon tapauksessa ohjelma näyttää tältä:[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 mukana määritetty arvo, joka antaa ledille 5 Voltin virran
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.