Siirry sisältöön

Arduino

Wikipediasta
Tämä on arkistoitu versio sivusta sellaisena, kuin se oli 5. tammikuuta 2015 kello 07.58 käyttäjän Dexbot (keskustelu | muokkaukset) muokkauksen jälkeen. Sivu saattaa erota merkittävästi tuoreimmasta versiosta.
Valmis Arduino-piirilevy komponentteineen

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 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() – funktio, 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

  1. Karvinen Tero ja Kimmo: Sulautetut, s. 34-49. Helsinki: Readme.fi, 2010. ISBN 978-952-220-313-7 Teoksen verkkosivut Viitattu 28.11.2011.
  2. 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.
  3. http://www.atmel.com/dyn/products/param_table.asp?category_id=163&family_id=605&subfamily_id=2086&OrderBy=part_no&Direction=ASC
  4. http://www.atmel.com/dyn/products/param_table.asp?category_id=163&family_id=605&subfamily_id=2086&OrderBy=part_no&Direction=ASC
  5. "Blink Tutorial" Arduino.cc.

Katso myös