Arduino: verschil tussen versies
(30 tussenliggende versies door dezelfde gebruiker niet weergegeven) | |||
Regel 2: | Regel 2: | ||
== Arduino == | == Arduino == | ||
Een Arduino is een klein bordje met elektronica, met als belangrijkste onderdeel een microcontroller. Dit is een complete computer op een chip voor het aansturen van een apparaat | Een Arduino is een klein bordje met elektronica, met als belangrijkste onderdeel een microcontroller. Dit is een complete computer op een chip voor het aansturen van een apparaat. Je kunt de microcontroller op het Arduino-bordje eenvoudig programmeren via een personal computer. Op de Arduino kun 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 industrieel 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"). | Arduino's worden onder andere door industrieel 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"). | ||
=== | === Wat kun je met een Arduino? === | ||
Enkele links om een indruk te krijgen wat een Arduino is, en wat je ermee kunt doen: | 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://www.arduino.cc: de Arduino website bevat informatie over hardware en over de software. Hier kun je ook de Arduino software-ontwikkelomgeving (IDE) vinden. | ||
* https://www.arduino.cc/en/Guide/Introduction | |||
* http://playground.arduino.cc: de playground bevat veel informatie over het gebruik van Arduino, van tutorials tot voorstellen voor projecten. | * 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. | * http://playground.arduino.cc/Projects/ArduinoUsers: een tentoonstelling (exhibition): een lange lijst van meer en minder interessante toepassingen van Arduino. | ||
=== Hoe begin je? === | === Hoe begin je? === | ||
Je kunt op verschillende manieren met een Arduino aan de slag. Het handigst is het om te beginnen met een starters-kit, met bijbehorende tutorials. Op het web zijn ook voor tutorials te vinden, zie verderop voor een paar voorbeelden. | |||
Meestal begin je met het nabouwen van een project. Het is belangrijk om klein te beginnen, en om steeds kleine stappen te nemen. Het loont de moeite om te proberen de voorbeelden te begrijpen. Als je zelf iets wilt bouwen, zul je goed moeten begrijpen wat je doet. Puur "copy & paste" werkt zelden bij software, en helemaal niet bij complexere Arduino-projecten. | |||
In het begin kan het werken met een Arduino wat overweldigend zijn. Je moet zowel programmeren als een hardware-opstelling maken. De software en de hardware moet ook nog precies op elkaar afgestemd zijn. En als het niet werkt, heb je vaak maak weinig houvast om uit te zoeken wat er aan de hand is. | |||
Een belangrijke regel is: volhouden - ook als het niet direct werkt. Door uit te zoeken waar het probleem zit, kun je ook veel leren. | |||
=== De opzet van deze website === | === De opzet van deze website === | ||
Regel 21: | Regel 29: | ||
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. | 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 | === Arduino UNO, Arduino IDE === | ||
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. | 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. | ||
* Documentatie van de Arduino UNO: https://store.arduino.cc/arduino-uno-rev3 | |||
* De Arduino IDE vind je via: https://www.arduino.cc/en/Main/Software | |||
* De documentatie van de Arduino programmeertaal: https://www.arduino.cc/en/Reference/HomePage | |||
** dit is een speciale versie van C++ | |||
=== Open Source === | === Open Source === | ||
Regel 31: | Regel 43: | ||
=== Ontwikkelomgeving === | === 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 | 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 "uploaden" naar je Arduino-bordje. | ||
=== ICT in de wolken Arduino-Basiskit (doos met onderdelen) === | === ICT in de wolken Arduino-Basiskit (doos met onderdelen) === | ||
Regel 42: | Regel 54: | ||
* robotica: motoren, motor shield, afstandssensor, lijnvolgsensor, lichtsluis met schijfje met inkepingen (tellen van omwentelingen). | * robotica: motoren, motor shield, afstandssensor, lijnvolgsensor, lichtsluis met schijfje met inkepingen (tellen van omwentelingen). | ||
== Informatie op het | == Informatie op het web == | ||
Op het | Op het web kun je erg veel informatie over de Arduino en het gebruik daarvan vinden. Het kan even tijd kosten om je weg daarin te vinden. Suggesties om je op weg te helpen: | ||
* [[/Informatie op het web]] | |||
== Arduino-varianten en -toepassingen == | |||
Er zijn allerlei varianten van de Arduino: dit is mogelijk doordat zowel de hardware als de software van de Arduino Open Source zijn. Iedereen kan hier zijn eigen variaties op maken (remix). Vaak zijn deze varianten gericht op een bepaald soort toepassing. Enkele voorbeelden: | Er zijn allerlei varianten van de Arduino: dit is mogelijk doordat zowel de hardware als de software van de Arduino Open Source zijn. Iedereen kan hier zijn eigen variaties op maken (remix). Vaak zijn deze varianten gericht op een bepaald soort toepassing. Enkele voorbeelden: | ||
Regel 106: | Regel 74: | ||
De naam Arduino is beschermd - maar er zijn talloze variaties met "duino" denkbaar, zoals blijkt als je even zoekt. (Welke heb je gevonden?) | De naam Arduino is beschermd - maar er zijn talloze variaties met "duino" denkbaar, zoals blijkt als je even zoekt. (Welke heb je gevonden?) | ||
=== Arduino IDE voor andere borden (ESP8266, enz.) === | |||
Je kunt de Arduino IDE gebruiken voor het programmeren van veel verschillende soorten Arduino's, maar ook voor andere soorten borden, bijvoorbeeld de NodeMCU of Wemos D1, gebaseerd op de ESP8266. Merk op dat bijna alle moderne borden een spanning van 3.3V gebruiken, voor de voeding en voor de logische signalen (digitale input en output). Je kunt 5V onderdelen niet zomaar combineren met 3.3V onderdelen! | |||
* [[/Extra board in IDE|Toevoegen van een ander board aan de Arduino IDE]] (ESP8266, enz.) | |||
* Arduino-pinout voor de NodeMCU: | |||
** de pinnummering in de software is de GPIO-nummering. De externe aansluitingen zijn D0, D1, enz. | |||
** bijv. <code>pinMode(13, OUTPUT);</code> zet GPIO13/D7 als output. | |||
** voor de analoge input gebruik je <code>A0</code>, bijv. <code>readAnalog(A0)</code>. | |||
** zie ook: http://esp8266.github.io/Arduino/versions/2.0.0/doc/reference.html | |||
** zie bijv. https://www.hackster.io/Aritro/getting-started-with-esp-nodemcu-using-arduinoide-aa7267 | |||
* Arduino-pinout voor de Wemos D1 mini (Pro): | |||
** zie: https://wiki.wemos.cc/products:d1:d1_mini_pro | |||
** de aansluitingen zijn eigenlijk dezelfde als bij de NodeMCU; de D1 mini heeft echter wat minder aansluitingen (D0..D8, ipv. D0..D11). | |||
== Hardware bestellen == | == Hardware bestellen == | ||
Arduino hardware | Meer informatie over het bestellen van Arduino hardware vind je op: [[/Hardware bestellen]] | ||
== Workshop == | |||
Informatie over de Arduino workshop: [[/Workshop]]. | |||
== Arduino als bouwdoos == | |||
[[/Bouwdoos]] | |||
== Onderdelen == | == Onderdelen == | ||
Regel 138: | Regel 119: | ||
* [[/Basiskit]] | * [[/Basiskit]] | ||
* [[/Optical detector]] | * [[/Optical detector]] | ||
* [[/I2C]] | |||
[[Categorie:Home control]] | [[Categorie:Home control]] |
Huidige versie van 8 okt 2017 om 08:52
Arduino
Een Arduino is een klein bordje met elektronica, met als belangrijkste onderdeel een microcontroller. Dit is een complete computer op een chip voor het aansturen van een apparaat. Je kunt de microcontroller op het Arduino-bordje eenvoudig programmeren via een personal computer. Op de Arduino kun 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 industrieel 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").
Wat kun je met een Arduino?
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.
- https://www.arduino.cc/en/Guide/Introduction
- 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.
Hoe begin je?
Je kunt op verschillende manieren met een Arduino aan de slag. Het handigst is het om te beginnen met een starters-kit, met bijbehorende tutorials. Op het web zijn ook voor tutorials te vinden, zie verderop voor een paar voorbeelden.
Meestal begin je met het nabouwen van een project. Het is belangrijk om klein te beginnen, en om steeds kleine stappen te nemen. Het loont de moeite om te proberen de voorbeelden te begrijpen. Als je zelf iets wilt bouwen, zul je goed moeten begrijpen wat je doet. Puur "copy & paste" werkt zelden bij software, en helemaal niet bij complexere Arduino-projecten.
In het begin kan het werken met een Arduino wat overweldigend zijn. Je moet zowel programmeren als een hardware-opstelling maken. De software en de hardware moet ook nog precies op elkaar afgestemd zijn. En als het niet werkt, heb je vaak maak weinig houvast om uit te zoeken wat er aan de hand is.
Een belangrijke regel is: volhouden - ook als het niet direct werkt. Door uit te zoeken waar het probleem zit, kun je ook veel leren.
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, Arduino IDE
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.
- Documentatie van de Arduino UNO: https://store.arduino.cc/arduino-uno-rev3
- De Arduino IDE vind je via: https://www.arduino.cc/en/Main/Software
- De documentatie van de Arduino programmeertaal: https://www.arduino.cc/en/Reference/HomePage
- dit is een speciale versie van C++
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 "uploaden" naar je Arduino-bordje.
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 web
Op het web kun je erg veel informatie over de Arduino en het gebruik daarvan vinden. Het kan even tijd kosten om je weg daarin te vinden. Suggesties om je op weg te helpen:
Arduino-varianten en -toepassingen
Er zijn allerlei varianten van de Arduino: dit is mogelijk doordat zowel de hardware als de software van de Arduino Open Source zijn. Iedereen kan hier zijn eigen variaties op maken (remix). Vaak zijn deze varianten gericht op een bepaald soort toepassing. Enkele voorbeelden:
- voor het aansturen van 3D printers:
- http://reprap.org/wiki/Ultimaker's_v1.5.7_PCB (en nog vele andere)
- voor robots:
- https://www.arduino.cc/en/Guide/Robot (en nog vele andere)
- om in je kleren te naaien, of op een andere manier op je lichaam te dragen:
- draadloos, om je huis intelligent te maken:
- aansluiten op het internet, en gebruiken als onderdeel in het "Internet of Things"
De naam Arduino is beschermd - maar er zijn talloze variaties met "duino" denkbaar, zoals blijkt als je even zoekt. (Welke heb je gevonden?)
Arduino IDE voor andere borden (ESP8266, enz.)
Je kunt de Arduino IDE gebruiken voor het programmeren van veel verschillende soorten Arduino's, maar ook voor andere soorten borden, bijvoorbeeld de NodeMCU of Wemos D1, gebaseerd op de ESP8266. Merk op dat bijna alle moderne borden een spanning van 3.3V gebruiken, voor de voeding en voor de logische signalen (digitale input en output). Je kunt 5V onderdelen niet zomaar combineren met 3.3V onderdelen!
- Toevoegen van een ander board aan de Arduino IDE (ESP8266, enz.)
- Arduino-pinout voor de NodeMCU:
- de pinnummering in de software is de GPIO-nummering. De externe aansluitingen zijn D0, D1, enz.
- bijv.
pinMode(13, OUTPUT);
zet GPIO13/D7 als output. - voor de analoge input gebruik je
A0
, bijv.readAnalog(A0)
. - zie ook: http://esp8266.github.io/Arduino/versions/2.0.0/doc/reference.html
- zie bijv. https://www.hackster.io/Aritro/getting-started-with-esp-nodemcu-using-arduinoide-aa7267
- Arduino-pinout voor de Wemos D1 mini (Pro):
- zie: https://wiki.wemos.cc/products:d1:d1_mini_pro
- de aansluitingen zijn eigenlijk dezelfde als bij de NodeMCU; de D1 mini heeft echter wat minder aansluitingen (D0..D8, ipv. D0..D11).
Hardware bestellen
Meer informatie over het bestellen van Arduino hardware vind je op: /Hardware bestellen
Workshop
Informatie over de Arduino workshop: /Workshop.