artikel under construction

Deze pagina wordt nog aangevuld.

Oplossing looplicht

Voor deze oefening bestaan verschillende oplossingen. Hier volgt één van de meest eenvoudige.

De toepassing die hier gedemonstreerd wordt is dat je binnen een lus de waarde van de teller kunt gebruiken als variabele om op een elegante manier code te schrijven.

de setup

In de setup moeten we pinnen 3 tot 10 als output definiëren. We kunnen dit door 8 regels na elkaar met elke keer de pinMode instructie, maar dit is ook met een for-loop op te lossen.

void setup() {
  for(int i=3; i<=10;i++) {
    pinMode(i,OUTPUT);
  }
}

We initialiseren de teller op 3, en laten hem lopen tot en met 10. Voor elk van deze waarden voeren we een pinMode instructie uit, waarbij i de te configureren pin is.

Op dezelfde manier laten we nu de opeenvolgende leds aan- en uitgaan.

void loop() {
  for(int i=3; i<=10;i++) {
    digitalWrite(i,HIGH);
    delay(250);
    digitalWrite(i,LOW);
  }
}

De delay(250) zorgt voor een vertraging van 250ms, waardoor het looplicht 4 stappen per seconde neemt, en de gevraagde 4Hz frequentie bereikt wordt.

Een simulatie kun je vinden via deze link.

 

labo 1

Oefeningen: basis 1 - systeem testen

Begin met het testen van je programmeeromgeving door het voorbeeldprogramma "blink" uit te voeren. Hoe je dit kunt doen zie je in onderstaande video (gebruik oortjes in de les!!).

  • zoek uit via welke poort de Arduino verbonden is met de laptop
  • Zoek op hoeveel stroom elke pin kan leveren of verwerken.
  • Wat zijn de verschillende pinModes, en wat is het onderscheid?

Oefeningen : basis 2 - morsecode SOS

Maak een nieuw programma. Plaats een rode LED op pin 12 en schrijf een programma waarbij de led SOS in morsecode weergeeft. Een streep duurt 0,3s en een punt 0,1s. De pauze tussen strepen en punten is 0,1s. De pauze tussen twee letters is 0,3s en de pauze tussen twee woorden is 0,7s.

Gebruik lussen om het programma zo efficiënt mogelijk te maken

Oefeningen: basis 3 - looplicht met vaste frequentie

Verbind 8 led's met pinnen 3..10 en programmeer een looplicht. Frequentie van het looplicht is 4Hz.

Oefeningen: basis 4 - knightrider effect

Maak met dezelfde configuratie en dezelfde frequentie een knightrider.

Oefeningen: basis 5 - RGB led aansturen

PLaats een RGB led op pinnen 3 (rood),4 (groen) en 5 (blauw). Maak een programma dat door de 7 basismengkleuren heen loopt, aan een frequentie van 1Hz.

Oefeningen: gevorderd 1 - 7-segment display animatie

Gebruik een dubbel 7-segment display en laat de segmenten in een 8-animatie oplichten.

Oefeningen: gevorderd 2 - 7-segment teller

Maak een teller op 1 display die doorlopend telt van 0 tot en met 9. Gebruik een array om de letterpatronen op te slaan. segA=pin3, segB=pin4,... Frequentie van de teller is 2Hz.

Oefeningen: gevorderd 3 - dubbele 7-segment teller

Maak van voorgaande opgave een 00 tot 99 teller door gebruik te maken van multiplexing. Pin10 bepaalt welk van beide displays actief is.

Oefeningen: gevorderd 4 - volledige morse code

Zorg dat alle letters in morsecode kunnen worden weergegeven. Zoek een manier om het morse alfabet efficiënt op te slaan, zodat niet per letter een functie dient geschreven te worden.

de presentatie

opgelet! deze wordt als bestand gedownload en dus niet in een venster getoond.

de presentatie in pdf formaat

de presentatie

opgelet! deze wordt als bestand gedownload en dus niet in een venster getoond.

de presentatie in pdf formaat