Arduino: verschil tussen versies

Uit Lab
Naar navigatie springen Naar zoeken springen
 
(19 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 29: 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 Uno, IDE 1.0 ===
=== 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 39: 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 laden in
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 50: 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 internet ==
== Informatie op het web ==
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.
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]]


=== Officiële documentatie en referentiemateriaal ===
== Arduino-varianten en -toepassingen ==
 
De Arduino-website bevat een schat aan informatie: voorbeelden, tutorials, en referentie-documentatie:
* Getting started: https://www.arduino.cc/en/Guide/HomePage
* Tutorial: https://www.arduino.cc/en/Tutorial/HomePage
* Reference: https://www.arduino.cc/en/Reference/HomePage
 
=== Tutorials ===
 
Er is op het web heel veel materiaal te vinden om zelf met een Arduino aan de slag te gaan. Ook op YouTube kun je het nodige vinden.
 
Voorbeelden van tutorials:
* https://www.youtube.com/playlist?list=PLT6rF_I5kknPf2qlVFlvH47qHvqvzkknd
* https://learn.adafruit.com/category/learn-arduino
** https://learn.adafruit.com/lesson-0-getting-started
* https://www.youtube.com/watch?v=09zfRaLEasY
* in de vorm van een strip: http://playground.arduino.cc/uploads/Main/arduino_comic_v0004.pdf
 
Zoals met zoveel informatie op het web, verschilt de kwaliteit nogal. Ook de betere tutorials bevatten soms kleine onnauwkeurigheden. Vertrouw niet teveel op één enkele bron. Als je twijfelt, raadpleeg een expert, en/of zoek in de originele documentatie van de fabrikant.
 
De Arduino is niet speciaal ontworpen voor het onderwijs, maar je kunt er goed een brug mee slaan tussen het onderwijs en relevante praktijktoepassingen.
 
=== Nederlandstalig materiaal ===
 
Het materiaal op deze website is in het Nederlands. Naast deze lessen vind je hier ook een uitgebreidere beschrijving van de principes.
 
Nog enkele andere voorbeelden van  Nederlandstalig materiaal:
* http://www.arduino.nu/download/Arduino%20manual%201_0%20NL.pdf
** Deze handleiding is geschreven voor een oudere versie van het Arduino-bordje; de verschillen zijn minimaal.
* http://www.jrl-technasium.nl/downloads/
** Deze website bevat een schat aan Arduino-materiaal, o.a.:
** http://www.jrl-technasium.nl/files/2.%20interactief%20ontwerpen%20met%20arduino.pdf (door Stan Roukens)
* https://sites.google.com/site/hwcontwerpen/home (website van Stan Roukens)
* http://lemio.nl/arduino (website van Geert Roumen)
** http://lemio.nl/files/arduino_cursus.pdf
 
=== Cheat sheets ===
 
* Arduino Uno pinout diagram: http://pighixxx.com/unov3pdf.pdf
** voor meer: http://www.pighixxx.com/test/pinoutspg/boards/page/2/
** onder de tab "ABC" zijn heel veel Arduino Basic Circuits te vinden
* 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)
 
=== 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 116: 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 en andere elektronica kun je onder andere bestellen bij de Nederlandse leveranciers:
Meer informatie over het bestellen van Arduino hardware vind je op: [[/Hardware bestellen]]
* http://floris.cc
 
* https://iprototype.nl
== Workshop ==
* https://www.antratek.nl
 
* http://shop.sodaq.com/nl/
Informatie over de Arduino workshop: [[/Workshop]].


Voor elektronica-onderdelen kun je onder andere terecht bij:
== Arduino als bouwdoos ==
* http://eoo-bv.nl
** een traditionele leverancier van elektronica-onderdelen, niet specifiek op Arduino gericht
* http://tinytronics.nl
** Deze leverancier heeft veel goedkope Chinese onderdelen op voorraad. Je krijgt dan snel geleverd, maar wat minder goedkoop dan wanneer je direct in China bestelt.
** O.a. goedkope Chinese Arduino-clonen.


Als je enige ervaring hebt, kun je ook het gebruik van goedkope Arduino-clones overwegen. Via de Chinese leveranciers kun je veel goedkope elektronica krijgen. Sommige Arduino-clones werken net iets anders dan de officiële versie. Deze zijn daarom minder geschikt voor de absolute beginners.
[[/Bouwdoos]]


== Onderdelen ==
== Onderdelen ==

Huidige versie van 8 okt 2017 om 08:52

Arduino

Lessen

Voorbereiding, installeren software

  1. Blink
  2. Button
  3. Dimmer
  4. Arduino lessen/les 4
  5. Arduino lessen/les 5
  6. Arduino lessen/les 6
  7. Arduino lessen/les 7

Zie ook Regels en richtlijnen
Zie ook Artikelen bewerken

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:

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.

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:

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!

Hardware bestellen

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