Arduino
Arduino on avoimeen laitteistoon perustuva mikro-ohjain-/elektroniikka-alusta ja ohjelmointiympäristö. Laitteisto perustuu 8-bittiseen Atmel AVR -mikro-ohjaimeen, jonka pinneihin voi kytkeä erilaisia antureita, moottoreita, LED-valoja ja muita komponentteja. Laitteistoa ohjelmoidaan C- ja C++ -kieliin perustuvalla Arduino-ohjelmointikielellä.
Arduinon alkuperä
[muokkaa | muokkaa wikitekstiä]Arduino-projekti alkoi Interaction Design Institute Ivreassa Ivreassa Pohjois-Italiassa 2005 (entinen Olivettin tutkimuskeskus).[1] IDII:n suljettua ovensa entiset opettajat jatkoivat projektia. Massimo Banzi, David Cuartielles, David Mellis, Tom Igoe ja Gianluca Martino perustivat 2008 Yhdysvalloissa Arduino LLC:n jatkamaan Arduino-tuotesarjan kehitystä. Laitteet itsessään valmisti Martinon perustama Smart Projects SRL Italiassa. Myöhemmin eri yhtiöiden välillä oli kiista Arduino-tuotemerkistä.[2] Arduinon tekninen määrittely on julkinen ja vapaasti käytettävissä, ja laitteita ovat valmistaneet muutkin.
Arduino nimi on peräisin Ivreassa sijaitsevassa baarista, jossa projektin työntekijät usein tapasivat.[3]
Tekniikka
[muokkaa | muokkaa wikitekstiä]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 IDE-ohjelmaa, joka on saatavilla yleisimmille käyttöjärjestelmille (mm. Microsoft Windows, Apple Mac OS X ja Ubuntu Linux[4]). 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[5] | ATMEL SAM3U | 256 | 0[6] | 50 | 54 | 4[6] | 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 (Arkistoitu – Internet Archive) | 68.6 mm × 53.3 mm |
Mega | ATmega1280 (Arkistoitu – Internet Archive) | 128 | 4 | 8 | 54 | 14 | 16 | FTDI | 101.6 mm × 53.3 mm |
Mega2560 | ATmega2560 (Arkistoitu – Internet Archive) | 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 ⌀ |
Arduino IDE
[muokkaa | muokkaa wikitekstiä]Arduinon suosiossa on merkittävä osuus ollut sen integroidulla ohjelmointiympäristöllä. Ohjelmistolla voi kirjoittaa koodin, kääntää sen ja ladata sen Arduinolle. Arduinolle on saatavana suuri määrä kirjastoja eri laitteiden liittämiseen ja käyttöön.
Alkuperäinen Arduino-ohjelmointiympäristö on Java-kielellä kirjoitettu (versioon 1.8). Arduino IDE 2.0 perustuu Electron-ohjelmistokehykseen.[7]
Esimerkki
[muokkaa | muokkaa wikitekstiä]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ä[8]:
#define LED_PIN 13
void setup () {
pinMode (LED_PIN, OUTPUT); // pinni 13 asetetaan ulostuloksi.
}
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
[muokkaa | muokkaa wikitekstiä]- ↑ https://lwn.net/Articles/944038/
- ↑ https://lwn.net/Articles/637755/
- ↑ Justin Lahart: Taking an Open-Source Approach to Hardware Wall Street Journal. 27.11.2009. Viitattu 24.10.2023. (englanti)
- ↑ 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.
- ↑ a b [1] (Arkistoitu – Internet Archive)
- ↑ https://lwn.net/Articles/944038/
- ↑ "Blink Tutorial" Arduino.cc.
Aiheesta muualla
[muokkaa | muokkaa wikitekstiä]- Kuvia tai muita tiedostoja aiheesta Arduino Wikimedia Commonsissa