Arduino Hello World
logo

Arduino Hello World

Module 1 Module 2 Module 3 Module 4 Module 5 Module 6 Module 7

Serial monitor en plotter


Serial Monitor

In de voorgaande oefeningen zagen we vaak onmiddellijk of onze code werkte doordat een led bijvoorbeeld op een bepaalde manier begon te pinken.

Echter, in sommige gevallen wil je dat de Arduino met je communiceert. Dit kan via de Serial Monitor.


  Opdracht 1

Serial monitor

// Deel 1: declaratie en initialisatie

// Deel 2: setup
void setup() {
Serial.begin(9600);  // Start de seriële communicatie.
}

// Deel 3: loop
void loop() {
Serial.print("Hello world");  // Print de boodschap Hello world
delay(1000);  // Wacht 1 seconde
}

Selecteer code en kopieer deze in een nieuwe Arduino sketch. Stuur de code door naar de Arduino of start de simulatie met Tinkercad en kijk naar het resultaat.
Klik hiervoor op het vergrootglas in Arduino IDE of op "Serial Monitor" in Tinkercad.

1. Is dit hoe je de boodschap wil zien? Vervang de functie Serial.print() door Serial.println().


2. Pas nu de code aan om een boodschap van 2 regels herhalend te printen:
  Hallo ik ben (jouw naam)
  Ik ben (jouw leeftijd) jaar.



Serial.begin(), Serial.print() en Serial.println()

Lees de documentatie van het commando Serial.begin(). Serial.begin() wordt gedefinieerd door 1 parameter, de snelheid van communiceren (uitgedrukt in baud).

 

Serial.begin(snelheid van communiceren)


  • Je geeft de snelheid van communiceren in bits per seconden in (baud). Voor Arduino Uno is dit 9600.
 


Lees de documentatie van de commando's Serial.print() en Serial.println(). Serial.print() en Serial.println() worden gedefinieerd door 1 of 2 parameters: waarde en eventueel formaat.

 

Serial.print(waarde) of Serial.print(waarde, formaat)
Serial.println(waarde) of Serial.println(waarde, formaat)


  • Je geeft de waarde die je wilt printen in. Een getal en variabelenaam kan je gewoon typen, een tekst moet je "tussen aanhalingstekens plaatsen".
  • Met de optionele parameter "formaat" kan je een waarde laten omzetten in een binair of hexadecimaal getal. Dit doe je door BIN of HEX als tweede parameter in te geven.
 

Debuggen met de Serial Monitor

Status van een digitale pin weergeven
  Opdracht 2

Neem het Blink programma er opnieuw bij en pas de code aan zodat er ook geprint wordt naar de serial monitor wanneer de pin hoog of laag geschreven wordt.
Zo kan je met de serial monitor volgen waar je zit in de code. Telkens wanneer je led aan ziet verschijnen, zou je fysieke led ook moeten aanspringen.

Deel 1: declaratie en initialisatie

Declareer en initialisieer de variabele die bepaalt hoe lang de led zal blijven branden.

Mogelijk oplossing
Status van een analoge pin weergeven

Op dezelfde manier kan je de serial monitor gebruiken om gemeten sensorwaardes weer te geven.

  Opdracht 3

Een fotoresistor is een elektronische component waarvan de elektrische weerstand verandert afhankelijk van de intensiteit van het licht dat erop valt. In het donker is de weerstand van een fotoresistor hoog, terwijl deze sterk daalt bij meer licht, zoals zonlicht. Deze eigenschap maakt fotoresistors nuttig in toepassingen die detectie of regeling op basis van lichtniveaus vereisen, zoals automatische straatverlichting en lichtgevoelige alarmen.

Maak deze schakeling met de fotoresistor en print de waarde die de fototransistor meet.

Maak en nieuwe sketch en schrijf je code.

Deel 1: declaratie en initialisatie

  • Maak een constante variabele aan voor de pin waaraan je fototransistor verbonden is (A0). Dit kan een constante zijn omdat deze waarde niet zal wijzigen.
  • Maak een variabele aan om de lichtwaarde in te stockeren, stel de waarde ervan gelijk aan 0.
Mogelijk oplossing

 

Extra denkoefening:


analogRead()

Lees de documentatie van het commando analog.Read(). analogRead dient om de de waarde van een analoge sensor uit te lezen. De functie analogRead() wordt gedefinieerd door 1 parameter namelijk de pin.

 

analogRead(pin)


  • Bij pin geef je het pinnumer in waaraan de sensor verbonden is die je wilt uitlezen. Waardes tussen 0 en 1023 worden ingelezen.
 

Serial Plotter

  Opdracht 4

Werk verder met voorgaande schakeling en print de waarde die de fototransistor meet. Zorg dat je enkel getallen print, niet voorafgegaan door tekst.

Open zowel in Arduino als in Tinkercad de plotter omgeving. Bij Arduino klik je rechtstreeks op het grafiek symbool. Bij Tinkercad klik je eerst op Serial monitor en dan het grafiek symbool. Dit is een andere manier om de waardes weer te geven.