We gaan met de Blink dubbel Extreme nog een stapje verder. In dit lab herhalen we een stukje van de blink Extreme, en dan voegen we er nog wat aan toe.

Voordat je hier begint, doe je eerst: https://junioriot.nl/voorbeeld-uploaden/ en ook de blink extreme: https://junioriot.nl/blink-extreme-breadboard/

De Arduino klaar maken voor het breadboard

In de klas is het goed om met de Arduino te werken op het breadboard. In andere oefeningen solderen we soms direct op de Arduino, maar dan kunnen we die niet meer opnieuw gebruiken. Het is in deze les handig als de headers al op de Arduino zijn gesoldeerd.

Als je de headers nog niet op de Arduino hebt gesoldeerd, doe dat dan alsnog volgens deze instructie: https://junioriot.nl/headers-op-arduino-nano-solderen/

Plaats je Arduino Nano in het breadboard. Zorg dat er wat extra ruimte zit aan de kant van de D2-D3-D4… aansluitingen.

Hieronder lees je welk deel van de Blink Extreme we opnieuw opbouwen. De RGB led laat je weg.

Gaat het hieronder te snel? Stap dan even terug naar de vorige oefening: https://junioriot.nl/blink-extreme-breadboard/ en ook https://junioriot.nl/voorbeeld-uploaden/

Blink voorbeeld

Open het voorbeeld

  • examples > 01 basics > blink
  • stel je arduino goed in, bij onze rode arduino is dat:
    • Board: Arduino nano
    • Processor: 168
    • als je kan kiezen: oude bootloader
    • poort: hoogste nummer
  • Upload en kijk of het werkt

Blink Extreme – maar dan op het breadboard

Extra: In dit lab gebruik je geen weerstanden als je de leds op de Arduino aansluit. Het schema blijft zo lekker eenvoudig, en we zien dat dit bij onze Arduino Nano in alle gevallen goed blijft werken. Let op: In de industrie is het een ‘Bad Practice’ om de weerstanden weg te laten. Ook op het Arduino-examen moet je weerstanden gebruiken, omdat je anders de Arduino onherstelbaar kunt beschadigen.
  • Led op 2-3
    • voeg in de Setup de code toe om pin 2 en 3 als output in te stellen
    • voeg in de loop de code toe om pin 2 ook te knipperen
    • Upload
    • Steek een led in het breadboard op 2 en 3
    • test of het werkt, misschien led omdraaien
  • Led op 5-6 en 8-9
    • probeer het zelf even
  • Upload en kijk of het werkt

Jouw software knippert nu op poort 2, 5 en 8

Blink dubbel extreme – dubbele leds voor D2-D3 en D5-D6

De leds zitten nu allemaal met het langste pootje naar rechts.

Het eerste ledje gaat aan zodra je D2 positief of HIGH maakt. Voeg nu aan D2-D3 en D5-D6 een ledje toe, met het langste pootje naar links. Hierdoor knipperen ze niet mee met de andere leds.

Voeg nu regels toe om ook te knipperen op D3 en D6. Bij mij ziet het programma er nu zo uit:

// the setup function runs once when you press reset or power the board
void setup() {
   // initialize digital pin LED_BUILTIN as an output.
   pinMode(LED_BUILTIN, OUTPUT);

   pinMode(2, OUTPUT);
   pinMode(3, OUTPUT);

   pinMode(5, OUTPUT);
   pinMode(6, OUTPUT);

   pinMode(8, OUTPUT);
   pinMode(9, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
   digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level)
   delay(200); // wait for a second
   digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW
   delay(200); // wait for a second

   digitalWrite(2, HIGH); // turn the LED on (HIGH is the voltage level)
   delay(200); // wait for a second
   digitalWrite(2, LOW); // turn the LED off by making the voltage LOW
   delay(200); // wait for a second

   digitalWrite(3, HIGH); // turn the LED on (HIGH is the voltage level)
   delay(200); // wait for a second
   digitalWrite(3, LOW); // turn the LED off by making the voltage LOW
   delay(200); // wait for a second

   digitalWrite(5, HIGH); // turn the LED on (HIGH is the voltage level)
   delay(200); // wait for a second
   digitalWrite(5, LOW); // turn the LED off by making the voltage LOW
   delay(200); // wait for a second

   digitalWrite(6, HIGH); // turn the LED on (HIGH is the voltage level)
   delay(200); // wait for a second
   digitalWrite(6, LOW); // turn the LED off by making the voltage LOW
   delay(200); // wait for a second

   digitalWrite(8, HIGH); // turn the LED on (HIGH is the voltage level)
   delay(200); // wait for a second
   digitalWrite(8, LOW); // turn the LED off by making the voltage LOW
   delay(200); // wait for a second
}

Volgens mij zal jouw code er iets anders uitzien.

Mooi! Maar waar is dit goed voor?

Je hebt nu een besturing gebouwd waarmee je bijvoorbeeld een motor heen en terug kunt laten draaien. Daarvoor heb je natuurlijk wat meer onderdelen nodig. Toch kan je nu al zien wat er gaat gebeuren.

Als je goed kijkt, dan herken je dat je op D2-D3 al één motor kunt bedienen, en op D5-D6 zelfs al een tweede motor.

Een voorbeeld om écht iets met een motor te doen lees je hier: https://junioriot.nl/blink-extreme-dc-motor-besturing/

En kunnen we ook de RGB led bedienen?

Jazeker!

  • RGB led op A0-A1-A2-A3 met langste pootje in A1

Programmeren:

  • De A-poorten schrijf je in de code met een hoofdletter: A0
  • In de Setup regel je dat langste pootje A1 altijd op HIGH blijft
  • probeer zelf even de kleurenpootjes A0-A2-A3 te knipperen,
    • eerst LOW, dat is aan
    • even wachten
    • dan HIGH, dat is uit

 

Wat maken de kinderen?