microcontroller

2.8 wat is een Arduino UNO

8

wat is een Arduino UNO

microcontroller

Hierboven is een Arduino UNO afgebeeld. Een Arduino Uno is een microcontroller. Met een microcontroller kun je elektrische apparaten aansturen.

wat ga je doen?

Bij de vorige module heb je geleerd hoe je een stroomkring op een breadboard kunt maken. Bij deze module ge je leren hoe je een microcontroller (de Arduino UNO) kunt aansluiten op een breadboard en ga je leren hoe je met behulp van <code> een Arduino UNO kunt aansturen.

een voorbeeld van een elektronisch circuit

In de bovenstaande afbeelding is op een breadboard een stroomkring (of elektronisch circuit) gemaakt. Met behulp van de Arduino UNO wordt in dit geval een functie aan de schakelaar toegevoegd. Deze functie is geschreven in <code> op computer. De <code> wordt via een USB-kabel die aangesloten wordt op de Arduino UNO naar de Arduino UNO geüpload. Je kunt met <code> de functie van de aansluitpunten (pins) veranderen.

Arduino Uno (schematisch)

Batterij:
stroom toevoer
USB-poort:
aansluitpunt computer
GND:
aansluitpunt [-]
5v:
aansluitpunt [+]
microcontroller:
rekenkracht
power LED:
spanningsindicator
reset button:
herstarten
digital pins:
aansluitpunten breadboard
analoog in:
aansluitpunten breadboard

voorkennis

In de vorige module heb je leren werken met breadboards, LED-lampjes, weerstanden, stroomschema's en stroomkringen. Deze kennis heb je nodig om elektrische circuits voor Arduino UNO projecten.

spanning, voedingsrails & breadboard

Door de GND-pin van de Arduino UNO op de [-] voedingsrail aan te sluiten en de 5v-pin van de Arduino UNO op de [+] voedingsrail aan te sluiten zet je spanning op het breadboard.

USB-kabel

Als de Arduino UNO met een USB-kabel met een computer wordt verbonden, staat het breadboard onder spanning.

  • Arduino 40x
  • usb kabel 40x
  • breadboards 40x
  • weerstand 220 ohm 40x
  • LED 40x

1 Bij deze opdracht ga je een stroomkring op het breadboard bouwen die spanning krijgt van de Arduino UNO.

Ontkoppel de USB-kabel van je Arduino UNO als je een circuit op het breadboard bouwt.

Naast de schematische afbeelding van de Arduino met breadboard zie je een stroomschema afgebeeld. In dit stroomschema zijn ook de aansluitpunten op de Arduino UNO opgenomen.

  • ontkoppel USB-kabel van Arduino UNO
  • verbind de 5v-pin van de Arduino UNO met de [+]-voedingsrail
  • verbind de GND-pin van de Arduino UNO met de [-]-voedingsrail
  • prik je LED-lampje op het breadboard
  • bedenk dat de lange poot van het LED-lampje de [+]-kant is en het kortere pootje van het LED-lampje de [-]-kant is.
  • prik de schakelaar op het breadboard en verbindt de schakelaar met de [+]-voedingsrail en het LED-lampje
  • prik de weerstand (220 Ω) op het breadboard en verbindt de weerstand met het LED-lampje en de [-]-voedingsrail
  • sluit de USB-kabel weer aan op de Arduino UNO
  • , test je stroomkring en maak een foto en plaats deze foto in je projectmap.

website arduino.cc

Arduino software

Om <code> voor een Arduino UNO te schrijven heb je software nodig. Deze software kun je downloaden op de website van Arduino: arduino.cc.

2 Download en installeer de Arduino IDE op je computer.

  • heb je een chromebook? Ga naar codebender.cc
    Klik op de groene knop Sign up (dus niet bij edcuation)
    Log in met Google of Github account.
    Klik links op > Getting Started.
    Doorloop de vijf stappen; selecteer Arduino Uno en de poort bij stap 4.
    Klik daarna op Create Sketch

<code> schrijven

Hiernaast is een venster afgebeeld van het programma waarmee je <code> voor de Arduino UNO kunt schrijven.

bestaande <code>

Omdat je eerst moet leren om <code> te schrijven, begin je met bestaande <code> te gebruiken.

3 Bij deze opdracht ga je bestaande code <code> van Arduino.cc bestuderen.

  • Open het bestand 'blink' (zie afbeelding hierboven).

<code> van het programmaatje 'blink'

void setup() 
	{
  		pinMode(13, OUTPUT);
	}
void loop() 
	{
		digitalWrite(13, HIGH);
		delay(1000);
		digitalWrite(13, LOW);
		delay(1000);
	}				

De bovenstaande <code> laat een LED-lampje knipperen.

documentatie

In de <code> van het bestand 'blink' staat veel meer informatie dat in het bovenstaande kader. Deze extra informatie wordt documentatie genoemd. Documentatie is bedoeld als extra informatie voor de programmeur. Je kunt documentatie herkennen aan de kleur (grijs) en de // voor de tekst.

// Documentatie wordt niet gelezen door de Arduino.


  • Bestudeer de <code> in het bestand 'blink'.
  • Wat betekenen de woorden OUTPUT, HIGH, LOW & delay?

stroomkring bij de <code> 'blink'

4 Bij de <code> voor 'blink' hoort een bepaalde stroomkring.

  • ontkoppel de USB-kabel van de Arduino UNO
  • bouw de stroomkring na
  • let op dat je de plus kant het LED-lampje (de lange poot) verbindt met de digital pin-13

knoppen Arduino software

<code> uploaden naar de Arduino UNO

De <code> van 'blink' werkt pas op de Arduino UNO als deze wordt geüpload naar de Arduino UNO.

5 Door op de upload knop in de Arduino software te klikken uploadt je de <code> van 'blink' naar de Arduino UNO.

  • , Maak een foto van het resultaat van de <code> 'blink' op het breadboard en plaats deze foto in je projectmap.

'blink' <code> aanpassen (tweaken)

6 Pas de 'blink' <code> aan zoals hieronder is voorgedaan en uploadt () de aangepaste <code> naar de Arduino UNO.

void setup() 
	{
  		pinMode(13, OUTPUT);
	}
void loop() 
	{
		digitalWrite(13, HIGH);
		delay(500);
		digitalWrite(13, LOW);
		delay(1500);
	}
  • Wat is anders aan de 'blink' <code>?
  • Maak een nieuwe directory (folder/map) aan op je computer.
  • Verander de naam van het bestand en sla de gewijzigde 'blink' <code> op.
  • Welke verandering neem je waar?
  • Welke functie heeft de delay() functie?

7 Probeer er met behulp van een stopwatch (iPad/laptop) achter te komen hoe lang delay(1000); duurt.

  • Hoe kun je dit het beste aanpakken?
  • Hoe lang duurt delay(1000);?

8 Welke waarde zou je in de delay(); functie moeten invullen om de delay(); één minuut te laten duren?

9 Pas de 'blink' <code> aan zoals hieronder is voorgedaan en uploadt ( ) de aangepaste <code> naar de Arduino UNO.

void setup() 
	{
  		pinMode(12, OUTPUT);
	}
void loop() 
	{
		digitalWrite(12, HIGH);
		delay(1000);
		digitalWrite(12, LOW);
		delay(1000);
	}				
  • Wat is anders aan de 'blink' <code>?
  • Verander de naam van het bestand en sla de gewijzigde 'blink' <code> op.
  • Waarom werkt de 'blink' <code> nu niet meer?
  • Wat moet je aanpassen aan de stroomkring om de 'blink' <code> weer te laten werken (ontkoppel de USB-kabel!)?
  • Welke functie heeft de pinMode(); functie?

input en output

Bij Arduino <code> worden de termen INPUT en OUTPUT gebruikt. Bij een INPUT gaat elektriciteit naar de Arduino toe en bij OUTPUT gaat elektriciteit van de Arduino af. In de void setup() wordt aangegeven welke pin welke functie heeft.

10 Bestudeer de <code>.

  • Wat betekenen de '12' en de 'OUTPUT' in de pinMode(12, OUTPUT);?

11 Bij de pinMode(); functie staat een ' ; ' achter de functie, terwijl bij de void setup() geen ' ; ' achter de functie staat.

  • Als je naar het gebruik van ' { ' en ' } ' in de <code> kijkt, zou dit iets te maken kunnen hebben met de verschillende notaties?

12 De onderstaande is aangepast zodat twee LED-lampjes om beuren knipperen en uploadt () de aangepaste <code> naar de Arduino UNO.

void setup() 
	{
  		pinMode(12, OUTPUT);
  		pinMode(13, OUTPUT);
	}
void loop() 
	{
		digitalWrite(12, HIGH);
		digitalWrite(13, LOW);
		delay(1000);
		digitalWrite(12, LOW);
		digitalWrite(13, HIGH);
		delay(1000);
	}				
  • Wat is anders aan de 'blink' <code>?
  • Verander de naam van het bestand en sla de gewijzigde 'blink' <code> op.
  • Pas de stroomkring aan voor twee LED-lampjes (gebruik een extra weerstand en ontkoppel de USB-kabel!).
  • , Maak een foto van je nieuwe stroomkring en plaats deze foto in je projectmap.
  • Welke functie heeft de digitalWrite() functie?
  • Wat is de betekenis van HIGH en LOW in de <code>?

een verkeerslicht maken

13 Inmiddels heb je genoeg kennis om met behulp van een breadboard, LED-lampjes, weerstanden en kabeltjes en Arduino software een functionerend verkeerslicht te maken.

  • Wat heb je nodig voor het maken van een functionerend verkeerslicht?
  • Pas de <code> in de Arduino software zo aan dat drie LED-lampjes (rood, geel, groen) laat knipperen als een verkeerslicht. (gebruik weerstanden en ontkoppel de USB-kabel!).
  • Verander de naam van het bestand op.
  • , Maak een foto's/video van je verkeerslicht en plaats deze foto's/video in je projectmap.

14 Pas je stroomkring en <code> zo aan dat je een functionerend kruispunt maakt.

  • Wat heb je nodig voor het maken van een functionerende verkeerslichten op een kruispunt?
  • Pas de <code> in de Arduino software zo aan dat twee keer drie LED-lampjes (rood, geel, groen) laat knipperen als een verkeerslichten op een kruispunt. (gebruik weerstanden en ontkoppel de USB-kabel!).
  • Hoe kun je dit voor elkaar krijgen met zo min mogelijk <code>?
  • Verander de naam van het bestand op.
  • , Maak een foto's/video van je verkeerslichten op een kruispunt en plaats deze foto's/video in je projectmap.

microcontroller verkeerslicht

Als je met behulp van de benodigde elektronica en arduino software een functionerende verkeerslichten op een kruispunt kunt maken heb je de eerste voortgangs badge microcontroller verdiend.