Arduino lessen/les 0: verschil tussen versies

Uit Lab
Naar navigatie springen Naar zoeken springen
 
(23 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 6: Regel 6:
De Arduino wordt veel gebruikt voor ontwerp-projecten en voor het maken van prototypes, onder andere door opleidingen voor Industrial Design. Door het werken met een Arduino kun je veel leren over computer-hardware en -software, terwijl je werkt aan nuttige of interessante toepassingen. Een bijkomend voordeel is dat de meeste elektronische onderdelen die je nodig hebt, heel erg betaalbaar zijn.
De Arduino wordt veel gebruikt voor ontwerp-projecten en voor het maken van prototypes, onder andere door opleidingen voor Industrial Design. Door het werken met een Arduino kun je veel leren over computer-hardware en -software, terwijl je werkt aan nuttige of interessante toepassingen. Een bijkomend voordeel is dat de meeste elektronische onderdelen die je nodig hebt, heel erg betaalbaar zijn.


Op het web zijn erg veel voorbeelden te vinden van toepassingen die met een Arduino te maken zijn. Er is ook veel materiaal beschikbaar om er zelf mee aan de slag te gaan (tutorials). Enkele bronnen van inspiratie:
=== Opdracht 1. wat is een Arduino? ===
* https://blog.arduino.cc
* https://blog.adafruit.com/category/arduino/
** https://learn.adafruit.com/category/flora
* https://www.sparkfun.com/news/tags/arduino


=== Arduino-varianten ===
Bezoek de officiële Arduino website (https://arduino.cc), en bekijk de verschillende onderdelen. Raadpleeg eventueel de achtergrondinformatie ([[Arduino]]). Beantwoord de volgende vragen:


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). Enkele voorbeelden:
* Wat is een microcontroller?
* voor het aansturen van 3D printers:
* Welke microcontroller(s) vind je op een Arduino UNO bordje?
** http://reprap.org/wiki/Ultimaker's_v1.5.7_PCB  (en nog vele andere)
* Wat is een sketch?
* voor robots:
* Geef een aantal voorbeelden van sensoren die je op een Arduino kunt aansluiten.
** https://www.arduino.cc/en/Guide/Robot  (en nog vele andere)
* Geef een aantal voorbeeld van actuatoren die je op een Arduino kunt aansluiten.
* om in je kleren te naaien, of op een andere manier op je lichaam te dragen:
* Hoe kun je een Arduino aansluiten op het internet?
** http://www.adafruit.com/categories/92
* draadloos, om je huis intelligent te maken:
** http://jeelabs.net/projects/hardware/wiki/JeeNode


De naam Arduino is beschermd - maar er zijn talloze variaties met "duino" denkbaar, zoals blijkt als je even zoekt. (Welke heb je gevonden?)
=== Opdracht 2: microcontrollers in en om huis ===


=== Tutorials ===
Het hart van de Arduino is een microcontroller. Afhankelijk van de versie is dat bijvoorbeeld een AtMega328, een ARM M0, of weer een andere versie.
* geef een aantal voorbeelden van apparaten in je eigen omgeving (thuis) waarin een microcontroller toegepast zou kunnen zijn. Welke functie zou die kunnen vervullen?
* geef een voorbeeld van een toepassing thuis die zinvol gebruik zou kunnen maken van een microcontroller die in het internet verbonden is.


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.
=== Opdracht 3: wat is jouw Arduino-droomproject? ===


Voorbeelden van tutorials:
Bedenk een project dat je met Arduino zou kunnen uitvoeren. Dit kan een project zijn dat iemand al eerder gedaan heeft, maar je kunt natuurlijk ook je eigen fantasie gebruiken.
* https://learn.adafruit.com/category/learn-arduino
** https://learn.adafruit.com/lesson-0-getting-started
* https://www.youtube.com/watch?v=09zfRaLEasY
 
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.
 
=== Opdracht 1: wat is jouw Arduino-droomproject? ===
 
Bedenk aan de hand van de voorbeelden die je op het web kunt vinden een project dat je met Arduino zou kunnen uitvoeren. Dit kan een project zijn dat iemand al eerder gedaan heeft, maar je kunt natuurlijk ook je eigen fantasie gebruiken.
* geef een globale beschrijving van het project;
* geef een globale beschrijving van het project;
* geef aan waarom je dit leuk, interessant, of relevant vindt;
* geef aan waarom je dit leuk, interessant, of relevant vindt;
* wat heb je hiervoor nodig?
* wat heb je hiervoor nodig?
** sensoren
** welke sensoren (drukknop, temperatuursensor, lichtsensor, enz.)
** actuatoren (motoren, relais, waterklep, pompje, luidspreker, enz.)
** welke actuatoren (motoren, relais, waterklep, pompje, luidspreker, enz.)
** kennis & vaardigheden.
** welke kennis & vaardigheden?


Als je een goed idee hebt, kun je dat mogelijk later bij ICT in de Wolken uitvoeren. Je kunt dat stap voor stap opbouwen.
Als je een goed idee hebt, kun je dat mogelijk later bij ICT in de Wolken uitvoeren. Je kunt je kennis en vaardigheden voor je project stap voor stap opbouwen.
 
Enkele bronnen van inspiratie voor mogelijke toepassingen:
* https://blog.arduino.cc
* https://blog.adafruit.com/category/arduino/
** https://learn.adafruit.com/category/flora
* https://www.sparkfun.com/news/tags/arduino
 
Je kunt natuurlijk ook zelf zoeken op het web, en op YouTube.


== Installeren van de software ==
== Installeren van de software ==
Regel 69: Regel 61:


Je kunt met de IDE je Arduino-programma's invoeren en controleren (compileren). De volgende stap is het laden van je programma in de Arduino.
Je kunt met de IDE je Arduino-programma's invoeren en controleren (compileren). De volgende stap is het laden van je programma in de Arduino.
Om uit te testen of het werkt, kun je het Blink-voorbeeld  gebruiken. Dit is voor de Arduino wat "Hello World" is voor andere omgevingen.
Om uit te testen of het werkt, kun je het Blink-voorbeeld  gebruiken. Dit is voor de Arduino wat "Hello World" is voor andere omgevingen.
# Zorg ervoor dat de Arduino aangesloten is via de USB-kabel op de computer, en dat de IDE opgestart is.
# Zorg ervoor dat de Arduino aangesloten is via de USB-kabel op de computer, en dat de IDE opgestart is.
Regel 77: Regel 68:
# Om zeker te weten dat het werkt, verander je in het Blink-voorbeeld op beide plaatsen <code>delay(1000); </code> in <code>delay(100);</code>, en herhaal je de bovenstaande stap. De LED moet nu zichtbaar sneller gaan knipperen.
# Om zeker te weten dat het werkt, verander je in het Blink-voorbeeld op beide plaatsen <code>delay(1000); </code> in <code>delay(100);</code>, en herhaal je de bovenstaande stap. De LED moet nu zichtbaar sneller gaan knipperen.


Deze laatste stap is een zinvolle extra controle, omdat het Blink-programma vaak standaard geïnstalleerd is op een Arduino. Dit kun je ook controleren door de Arduino aan te sluiten op een USB-voeding (eventueel een computer): het programma dat op de Arduino staat wordt dan direct uitgevoerd, daar is geen andere computer voor nodig.
Deze laatste stap is een zinvolle extra controle, omdat het Blink-programma vaak standaard geïnstalleerd is op een Arduino. Dit kun je ook controleren door de Arduino aan te sluiten op een USB-voeding: het programma dat op de Arduino staat wordt dan direct uitgevoerd, daar is geen andere computer voor nodig.


=== Fritzing software (optioneel) ===
=== Fritzing software (optioneel) ===
Regel 94: Regel 85:


NB: je kunt met Fritzing hardware-schakelingen tekenen, maar niet simuleren. Daarvoor heb je andere (veel grotere/complexere) software nodig.
NB: je kunt met Fritzing hardware-schakelingen tekenen, maar niet simuleren. Daarvoor heb je andere (veel grotere/complexere) software nodig.
== Referenties en andere tutorials ==
* http://learn.adafruit.com/lesson-0-getting-started/overview
== Hardware ==
Waar kun je een Arduino-bordje kopen, een breadboard, of andere onderdelen?
* http://floris.cc/shop/en/
* https://iprototype.nl
* https://www.antratek.nl
* http://shop.sodaq.com/nl/
* http://shop.fritzing.org
* http://store.arduino.cc/ww/index.php
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.

Huidige versie van 18 okt 2017 om 06:59

Arduino lessen
  1. Blink - digitale uitvoer
  2. Button - digitale invoer
  3. Dimmer - PWM
  4. Dimmer - analoge invoer
  5. Seriële uitvoer naar host
  6. Analoge sensoren
  7. Beweging: servo
  8. Button - event
  9. Tijd - timers
  10. Blink - met timer

Wat is een Arduino? Wat kun je ermee?

Een Arduino is een bordje ("printed circuit board") met een microcontroller. Met een Arduino kun je meten (via sensoren) en sturen (via actuatoren). Er is een programmeeromgeving (IDE) waarmee je op een eenvoudige manier software kunt ontwikkelen voor de Arduino.

De Arduino wordt veel gebruikt voor ontwerp-projecten en voor het maken van prototypes, onder andere door opleidingen voor Industrial Design. Door het werken met een Arduino kun je veel leren over computer-hardware en -software, terwijl je werkt aan nuttige of interessante toepassingen. Een bijkomend voordeel is dat de meeste elektronische onderdelen die je nodig hebt, heel erg betaalbaar zijn.

Opdracht 1. wat is een Arduino?

Bezoek de officiële Arduino website (https://arduino.cc), en bekijk de verschillende onderdelen. Raadpleeg eventueel de achtergrondinformatie (Arduino). Beantwoord de volgende vragen:

  • Wat is een microcontroller?
  • Welke microcontroller(s) vind je op een Arduino UNO bordje?
  • Wat is een sketch?
  • Geef een aantal voorbeelden van sensoren die je op een Arduino kunt aansluiten.
  • Geef een aantal voorbeeld van actuatoren die je op een Arduino kunt aansluiten.
  • Hoe kun je een Arduino aansluiten op het internet?

Opdracht 2: microcontrollers in en om huis

Het hart van de Arduino is een microcontroller. Afhankelijk van de versie is dat bijvoorbeeld een AtMega328, een ARM M0, of weer een andere versie.

  • geef een aantal voorbeelden van apparaten in je eigen omgeving (thuis) waarin een microcontroller toegepast zou kunnen zijn. Welke functie zou die kunnen vervullen?
  • geef een voorbeeld van een toepassing thuis die zinvol gebruik zou kunnen maken van een microcontroller die in het internet verbonden is.

Opdracht 3: wat is jouw Arduino-droomproject?

Bedenk een project dat je met Arduino zou kunnen uitvoeren. Dit kan een project zijn dat iemand al eerder gedaan heeft, maar je kunt natuurlijk ook je eigen fantasie gebruiken.

  • geef een globale beschrijving van het project;
  • geef aan waarom je dit leuk, interessant, of relevant vindt;
  • wat heb je hiervoor nodig?
    • welke sensoren (drukknop, temperatuursensor, lichtsensor, enz.)
    • welke actuatoren (motoren, relais, waterklep, pompje, luidspreker, enz.)
    • welke kennis & vaardigheden?

Als je een goed idee hebt, kun je dat mogelijk later bij ICT in de Wolken uitvoeren. Je kunt je kennis en vaardigheden voor je project stap voor stap opbouwen.

Enkele bronnen van inspiratie voor mogelijke toepassingen:

Je kunt natuurlijk ook zelf zoeken op het web, en op YouTube.

Installeren van de software

Arduino IDE

Met behulp van de Arduino IDE kun je programma's voor de Arduino invoeren, veranderen, en laden naar de Arduino. Je kunt deze omgeving ook gebruiken voor de communicatie tussen de Arduino en de hostcomputer, bijvoorbeeld voor tekstuitvoer vanuit de Arduino naar het scherm van je computer (zodat je kunt zien wat er gebeurt).

Downloaden en installeren

De Arduino ontwikkelomgeving kun je downloaden van de Arduino website: http://arduino.cc/en/Main/Software. De software is beschikbaar voor Windows, Mac OS X, en Linux.

De handleiding voor het installeren vind je op:

  1. http://arduino.cc/en/Guide/Windows (voor Windows)
  2. http://arduino.cc/en/Guide/MacOSX (voor Mac OS X)
  3. http://playground.arduino.cc/Learning/Linux (Voor Linux)
    1. Het is mogelijk om de Arduino-software te installeren op een Raspberry Pi.

Testen van de IDE (met een Arduino-bordje)

Je kunt met de IDE je Arduino-programma's invoeren en controleren (compileren). De volgende stap is het laden van je programma in de Arduino. Om uit te testen of het werkt, kun je het Blink-voorbeeld gebruiken. Dit is voor de Arduino wat "Hello World" is voor andere omgevingen.

  1. Zorg ervoor dat de Arduino aangesloten is via de USB-kabel op de computer, en dat de IDE opgestart is.
  2. Selecteer in de Arduino IDE het Blink-voorbeeld (menu: Bestand->Voorbeelden->0.1Basics->Blink).
  3. Compileer en laad het programma naar de Arduino (knop met pijl naar rechts, boven het venster met de Blink-code). Op de Arduino moet er nu een kleine LED gaan knipperen (1 sec. aan, 1 sec. uit, herhaald).
  4. Let op mogelijke foutboodschappen in het zwarte venster onder de Blink-code.
  5. Om zeker te weten dat het werkt, verander je in het Blink-voorbeeld op beide plaatsen delay(1000); in delay(100);, en herhaal je de bovenstaande stap. De LED moet nu zichtbaar sneller gaan knipperen.

Deze laatste stap is een zinvolle extra controle, omdat het Blink-programma vaak standaard geïnstalleerd is op een Arduino. Dit kun je ook controleren door de Arduino aan te sluiten op een USB-voeding: het programma dat op de Arduino staat wordt dan direct uitgevoerd, daar is geen andere computer voor nodig.

Fritzing software (optioneel)

De Fritzing software heb je niet beslist nodig, maar deze is wel erg handig. Hiermee kun je tekeningen maken van de hardware-schakelingen bij de Arduino. Deze schakelingen kun je op verschillende manieren laten zien: (i) als elektronica-schema; (ii) als tekening van een breadbord met draadjes en onderdelen; (iii) als "printed circuit board (PCB)". Je kunt een dergelijk PCB via Fritzing laten maken; je moet er dan nog zelf de onderdelen op solderen. Op deze manier kun je bijvoorbeeld je eigen Arduino-shield maken.

Op de Fritzing-website kun je ook veel voorbeelden vinden van projecten die met een Arduino gemaakt zijn: zie http://fritzing.org/projects/.

  1. download de Fritzing software: http://fritzing.org/download/
  2. installeer deze software volgens de handleiding op diezelfde pagina
  3. start de software, en selecteer het voorbeeld Bestand->Open Voorbeeld->Arduino->Digital->Output->Blink
  4. vergelijk Weergave->Toon breadboard, Weergave->Toon Schema, en Weergave->Toon PCB
  5. je kunt een weergave exporteren als PNG-bestand (of in een ander formaat); dit is de manier waarop veel van de schema's op deze wiki gemaakt zijn.

Je kunt hier ook je eigen schakelingen maken, in de vorm van een schema, of in de vorm van een breadboard met onderdelen. Fritzing kan ook de ene vorm in de andere omrekenen.

NB: je kunt met Fritzing hardware-schakelingen tekenen, maar niet simuleren. Daarvoor heb je andere (veel grotere/complexere) software nodig.