Video 4: De init file

Dit is de file die in de video geïntroduceerd wordt (download ‘m voor gebruik in betere opdrachten):


bb_init.h

Bekijk die file in je teksteditor om te zien wat de namen van de verschillende pinnen zijn.

Controleer of alle draadjes nog goed zitten. Sommige zitten wellicht los, andere misschien in een verkeerd gaatje. Je kunt testen of alles op je breadboard goed werkt met de volgende programma’s:



Breadboard_Input_Tests.ino


Breadboard_Output_Tests.ino


breadboard_test_2_in_1

Als het testprogramma laat zien dat er iets niet werkt, gebruik dan de volgende PDF om de bedrading te controleren:


s4d_bb.pdf

De LED’s op jullie breadboard worden analoog aangestuurd, niet digitaal! Dus je zet de LED niet aan met digitalWrite(LED1_PIN, HIGH); maar met (b.v.) analogWrite(RGB1_RED, 0); (dit maakt de LED rood, 0 is –vreemd genoeg– de maximale waarde.). Een RGB LED uitzetten doe je met analogWrite(RGB1_RED, 255);
In sommige video’s kom je wellicht nog de Dangershield tegen. Die ledjes waren niet op PWM pinnen afgesloten en in de video’s worden ze aangestuurd met digitalWrite(pin,HIGH/LOW);. Dat werkt ook op je breadboard, maar de meesten van jullie zullen dan HIGH en LOW moeten omkeren…

Check toch even of jouw breadboard niet misschien toch LEDjes heeft die “normaal doen” (0 voor uit, en 255 voor maximaal aan). Pas het Blink programmaatje aan dat-ie werkt voor jouw LEDs.


Vraag 4.1: “bb_init.h”

Wat is, in de video-voorbeelden, de rol van “bb_init.h”?

[ Mail je antwoord… ]

Vraag 4.2: echt nodig?

Kun je een breadboard programmeren zonder de “bb_init.h”-file te gebruiken?

[ Mail je antwoord… ]

Vraag 4.4: veel files

Kan ik meerdere files open hebben in één venster van de Arduino-IDE?
(IDE staat voor “Intergrated Development Environment”–gelijk vergeten. Een IDE is software waarmee je programma’s kunt editen, vertalen, debuggen, testen, documenteren etc.)

[ Mail je antwoord… ]

Opdracht 4.5: LED’s aan knoppen koppelen

In de video zag je een programma de waarde van een de potmeter (die we, uit gewoonte, soms nog “slider” noemen) achterhaalt met de functie analogRead( pin ). De rode knopje op je breadboard kunnen alleen maar aan of uit staan, en die lees je dus uit met digitalRead( pin ).

Dat levert je een 0 of een 1 op. Als je die waarde vermenigvuldigt met 255, kun je dus een waarde van 0 of 255 krijgen. En dat kun je weer gebruiken om een LEDje aan te sturen! Het volgende commando laat zien hoe:

analogWrite( RGB1_BLUE,  255 * digitalRead(BUTTON1_PIN) );  

Het sterretje * betekent vermenigvuldigen.

Gebruik bovenstaande regel om een programma te maken waarin ieder knopje één van de drie kleuren van een LEDje aan/uit zet.

Let op: Het is OK als het indrukken van een knopje de betreffende kleur uitzet in plaats van aanzet. In de volgende opdracht kun je dat fixen.

Geef met de slider aan hoe tevreden je bent met je uitwerking en mail je code als tekst, zonder bb_init.
  50%  
Geef eerst aan hoe tevreden je bent met je uitwerking!

Mail programma’s liever niet als attachment. Het is voor het verloop van de lessen het handigst als je de tekst van je programma gewoon copy-paste in de mailtekst zelf. De bb_init code hoef je niet te sturen.


Voor de bonus: Opdracht 4.6: LED’s OMGEKEERD knoppen koppelen

Voor veel van jullie zal de uitwerking van de vorige opdracht een programma hebben opgeleverd waarin de knopjes kleuren van de LED uitzetten in plaats van aanzetten. Kijk of je dat kan oplossen.
Twee vragen om eerst even over na te denken:

  1. Welk simpel rekensommetje kan van een 0 een 1 maken, en omgekeerd: van een 1 een 0?
  2. Hoe kun je dat rekensommetje gebruiken in regel voorbeeldcode van de vorige opdracht om de knop omgekeerd te laten werken?

Als je al wat programmeerkennis hebt, ben je wellicht geneigd om het probleem op te lossen met programma-constructies die we nu nog niet besproken hebben. Verzoek om die neiging nu even te onderdrukken. Kun je het ook oplossen door alleen maar lagere-school rekenwerk te gebruiken?

Mail opnieuw je hele programma (in plaats van alleen de wijzigingen). Het is voor het verloop van de lessen het handigst als wij de tekst van jouw e-mail in één keer kunnen copy-pasten..

Geef met de slider aan hoe tevreden je bent met je uitwerking en mail je code als tekst, zonder bb_init.
  50%  
Geef eerst aan hoe tevreden je bent met je uitwerking!