Arduino
Arduino
Een Arduino is een klein bordje met elektronica, met als belangrijkste onderdeel een microcontroller. Dit is een kleine computer die je eenvoudig kunt programmeren via een personal computer. Op de Arduino ku n je allerlei hardware aansluiten: invoerelementen ("sensoren") zoals schakelaars, temperatuursensors, infrarood-ontvangers, 3D versnellingsopnemers, enz.; en uitvoerelementen ("actuators") zoals lampjes, motoren, of andere apparaten. Hiermee kun je allerlei "physical computing" toepassingen mogelijk maken, van een eenvoudig reactiespelletje tot een robot of een 3D printer.
Arduino's worden onder andere door ontwerpers gebruikt om unieke opstellingen of prototypes te maken. Op het web vind je hiervan allerlei voorbeelden, van erg eenvoudig tot spectaculair. Je kunt een Arduino ook gebruiken om meer te leren over computers, hardware, en de besturing van systemen en machines met computers ("embedded systems").
Waar vind je meer informatie?
Enkele links om een indruk te krijgen wat een Arduino is, en wat je ermee kunt doen:
- http://www.arduino.cc: de Arduino website bevat informatie over hardware en over de software. Hier kun je ook de Arduino software-ontwikkelomgeving (IDE) vinden.
- http://playground.arduino.cc: de playground bevat veel informatie over het gebruik van Arduino, van tutorials tot voorstellen voor projecten.
- http://playground.arduino.cc/Projects/ArduinoUsers: een tentoonstelling (exhibition): een lange lijst van meer en minder interessante toepassingen van Arduino.
- tutorials: /Tutorials
Hoe begin je?
De opzet van deze website
Via deze pagina vind je het referentiemateriaal: per onderwerp een pagina. De lessen vind je via Arduino lessen.
Arduino in het Informatica-onderwijs
Op de microcontroller van de Arduino draait alleen de software die je zelf daarvoor geschreven hebt, in combinatie met een bibliotheek met ondersteunende functies. Er is geen Operating System aanwezig, er is geen filesysteem, enz. Dit betekent dat de afstand tussen je eigen programma en de hardware erg klein is, waardoor je een goed gevoel kunt krijgen voor de hardware en voor de mogelijkheden en de onmogelijkheden daarvan. Door met de Arduino te werken begrijp je ook beter hoe een computer werkt, en wat er op andere computers door het Operating System en andere software voor je gedaan wordt.
Arduino Uno, IDE 1.0
In het onderstaande gaan we uit van de Arduino Uno, als versie van het elektronica-bordje, en van versie 1.0 en hoger van de software-ontwikkelomgeving (IDE). Sommige details kunnen verschillen voor andere versies. Raadpleeg daarom altijd de officiële documentatie op de Arduino-website.
Open Source
Zowel de hardware als de software voor de Arduino zijn open source: dit wil zeggen dat je overal bij kunt, en dat je alle onderdelen -als je dat wilt- zelf kunt aanpassen aan de eigen behoefte.
Bij Open Source onderdelen moet je altijd letten op de licentie die gebruikt wordt: deze kan eisen opleggen aan de verdere verspreiding van je eigen aanpassingen. In sommige gevallen moet je deze aanpassingen weer met dezelfde licentie verspreiden.
- voor verder informatie over Open Source zie:
Ontwikkelomgeving
De software-ontwikkelomgeving (IDE) van de Arduino werkt op een "gewone" computer (desktop, laptop), die we hier de "host" noemen. Op de host bewerk je de source files (bronbestanden) met programma's en vertaal je deze programma's in machinecode. Via een USB-kabel kun je deze machinecode laden in
ICT in de wolken Arduino-Basiskit (doos met onderdelen)
Bij ICT in de Wolken gebruiken we een doos met onderdelen zoals beschreven in Arduino/Basiskit. Met deze onderdelen kun je al een groot aantal experimenten doen.
- door de kennismakingsexperimenten uit te voeren leer je in een snel tempo de verschillende onderdelen van de Arduino kennen.
- de basisexperimenten zijn bedoeld om dieper op de afzonderlijke onderdelen in te gaan.
- variaties en vrije experimenten zijn altijd mogelijk, om je eigen ideeën uit te werken, om bepaalde onderdelen en combinaties beter te leren begrijpen, en om "iets cools" te maken.
De nadruk bij de onderdelen in de basiskit ligt op sensoren en op de aansluiting op het internet en het web. Voor de volgende soorten toepassingen heb je andere onderdelen nodig:
- robotica: motoren, motor shield, afstandssensor, lijnvolgsensor, lichtsluis met schijfje met inkepingen (tellen van omwentelingen).
Informatie op het internet
Op het internet kun je erg veel informatie over de Arduino en het gebruik daarvan vinden. Het kan even tijd kosten om je weg daarin te vinden. Hieronder vind je wat suggesties om je op weg te helpen.
Cheat sheets
- Arduino Uno pinout diagram: http://pighixxx.com/unov3pdf.pdf
- AtMega 323 pinout: http://pighixxx.com/atmega328v3_0.pdf
- oudere versie, gecombineerd: http://marcusjenkins.com/wp-content/uploads/2014/06/ARDUINO_V2.pdf
- Arduino programmeren: https://github.com/liffiton/Arduino-Cheat-Sheet/blob/master/Arduino%20Cheat%20Sheet.pdf
- Arduino programmeren: http://www.element14.com/community/docs/DOC-65128/l/arduino-cheat-sheet
- Heel veel voorbeelden van hardware schema's voor Arduino (Arduino Basic Connections - ABC)
Hardware bestellen
Arduino hardware en andere elektronica kun je onder andere bestellen bij de Nederlandse leveranciers:
Voor elektronica-onderdelen kun je onder andere terecht bij: