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.

De Arduino klaar maken voor het breadboard

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.

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

  • 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/