💾
Informatica programma regulier
  • Het vak
  • Kernprogramma
    • Periode 1
    • Periode 2
    • Periode 3
  • Kern Programma
    • Het Internet
      • 1: What is the Internet?
      • 2: Wires, Cables & Wifi
      • 3: IP Addresses & DNS
      • 4: Packets, Routing & Reliability
      • 5: HTTP & HTML
      • 6: Encryption & Public Keys
      • 7: Cybersecurity & Crime
      • 8: How Search Works
    • Informatie
      • Presentaties
      • Les 1: Introductie in Binaire Getallen
      • Les 2: Hexadecimale Getallen
      • Les 3: Logische Operaties
      • Les 4: Digitalisering van tekst
      • Les 5: Digitalisering van beeld
      • Les 6: Digitalisering van geluid
    • HTML-CSS
      • HTML-CSS-0
        • Les 1: HTML, de basis
        • Les 2: HTML, meer over body, plaatjes en links
        • Les 3: HTML, lijsten
        • Les 4: HTML, tabellen
        • Les 5: CSS, background-color, color
        • Les 6: HTML, iframes, Youtube of maps invoegen
      • HTML-CSS-1
        • Les 1: CSS koppelen aan je HTML-pagina
        • Les 2: Fonts, lettergrootte en stijl
        • Les 3: Kleuren en achtergrondplaatje
        • Les 4: Boxmodel en borders
        • Les 5: Margin, padding en development tools
        • Les 6: Elementen selecteren: classes en id's
        • Les 7: Pseudo-classes, (hyper)links en span-element
        • Les 8: Tabellen opmaken
        • Les 9: Lijsten opmaken (menu in je pagina)
      • HTML-CSS-2
        • Les 1: Structuur van je Pagina
        • Les 2: position in CSS
        • Les 3: Inline vs Block elementen
      • Eindopdracht [PET1]
        • Publiceren op Github pages
        • Beoordeling
      • Links
    • Python
      • start
      • Python-0
        • Untitled
        • Les 1: Je eerste tekening
        • Les 2: Herhalen
        • Les 2b: Loop in Loops
        • Les 3: Functies maken
        • Les 4: Parameters
        • Les 5: Loops & Range()
      • Python-1
        • Les 1: Print & variabelen
        • Les 2: Input en datatypes
        • Les 3: Vergelijkingen
        • Les 4: Booleaanse expressies
        • Les 5: For/While loops
        • Les 6: Functies
        • Les 7: While (+teller)
      • Eindopdrachten [PET2]
        • Python Kunst
          • Les 1: Functies in Functies
          • Les 2: Meerdere turtle's
          • De eindopdracht
        • Galgje
        • Wordmind
        • Het langste woord
    • Automaten
    • Algoritme
      • Presentaties
      • Les 1: Wat is een algoritme?
      • Les 2: Sorteren
      • Les 3: Sorteer Algoritmes
      • Les 4 & 5: Toren van Hanoi
    • Databases
      • Planner V5
      • Untitled
      • 1: Inleiding
        • Wat is een database?
        • Wat is SQL?
        • Onze database
      • 2: Selectie, voorwaarden en sorteren
        • Selectie en Sorteren
          • Distinct
          • Order By
        • De WHERE Clausule
          • Operator AND en OR
          • Between
          • IN
          • Not
          • Like
          • Is Null
          • Limit
        • Opdrachten
        • Antwoorden
      • 3: Functies
        • Vragen
        • Antwoorden
      • 4: Grouperen
        • Vragen
        • Antwoorden
      • 5: Joins
        • Vragen
        • Antwoorden
      • 6: Subqueries
        • Vragen
        • Antwoorden
      • 7: Tabellen Muteren
        • Create
        • Drop
        • Opdracht
        • Antwoord
      • 8: Gegevens toevoegen
        • Insert
        • Update
        • Delete
        • Opdrachten
        • Antwoorden
      • 9: Sleutel en Verwijzingen
        • Het strokendiagram
        • Foreign Key
      • Eindopdracht [PET3]
    • Presentatie
      • Presenatieschema
      • Beoordelingsmatrix
  • Keuzemodules
    • Computernetwerken
    • Web development
    • Kunstmatige Intelligentie
    • Embedded Systems
      • Planner
      • Les 1: Wat is een Arduino
      • Les 2: Blink
      • Les 3: Schakelaars
      • Les 4: Seriële monitor
      • Les 5: Analoge Sensoren
      • Les 6: Servo - beweging
      • Les 7: LCD display
      • Eindopdracht
    • Betoog
      • Voorbeelden
      • Stappenplan
      • Bouwplan
      • Bronvermelding
      • Beoordeling matrix
    • Internet of things
      • Planner
      • Eindopdracht
      • Beoordelingsmatrix
    • De meesterproef
      • Voorbeelden
      • Beoordelingschema
  • PTA
    • Havo
      • Cohort 2020
    • Vwo
      • Cohort 2020
    • Vrijstellingen - concept
    • Eindtermen
      • Domein A: Vaardigheden
      • Domein B: Grondslagen
      • Domein C: Informatie
      • Domein D: Programmeren
      • Domein E: Architectuur
      • Domein F: Interactie
      • Domein G: Algoritmiek, berekenbaarheid en logica
      • Domein H: Databases
      • Domein I: Cognitive computing
      • Domein J: Programmeerparadigma’s
      • Domein K: Computerarchitectuur
      • Domein L: Netwerken
      • Domein M: Physical computing
      • Domein N: Security
      • Domein O: Usability
      • Domein P: User experience
      • Domein Q: Maatschappelijke en individuele invloed van informatica
      • Domein R: Computational science
Powered by GitBook
On this page

Was this helpful?

Export as PDF
  1. Keuzemodules
  2. Embedded Systems

Les 2: Blink

De eerste opdracht is "Blink". Voor een Arduino is dit wat "Hello World" is voor andere programmeeromgevingen. Dit is het eenvoudigste programma waarmee je kunt laten zien dat de hele keten werkt - van het invoeren van het programma (op de hostcomputer: je PC/laptop/Raspberry Pi), het vertalen van het programma (op de host), het laden van de code van de host naar de Arduino, tot het uitvoeren van het programma op de Arduino. In het geval van "Blink" gaat er dan een LED knipperen - een LED op het Arduino bordje, of een LED die je op het breadboard gemonteerd hebt.

Opdracht 1a. Blink - met ingebouwde LED

  1. Open in de Arduino IDE het programma "Blink": Bestand->Voorbelden->01.Basic->Blink.

  2. Vertaal dit op de host (knop met "vinkje"),

  3. Laad het naar de Arduino (knop met ->, "upload").

Als alles goed is start het programma dan automatisch op het Arduino-bordje. Dit programma (of "sketch" in Arduino-termen) gebruikt een LED die op het bordje ingebouwd is. Deze is via een serieweerstand aangesloten op pin 13.

int led = 13;

void setup() {                
  pinMode(led, OUTPUT);   // initialize the digital pin as an output.
}

void loop() {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH level)
  delay(1000);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by (LOW level)
  delay(1000);               // wait for a second
}

Uitleg bij deze code:

  1. een Arduino-programma ("sketch") bestaat uit 3 vaste onderdelen:

    1. declaraties en definities van constanten, variabele, functies

  2. declaratie van de functie setup: deze functie wordt bij een reset van de Arduino één keer uitgevoerd, vóór de uitvoering van de loop.

    1. deze functie gebruik je voor allerlei initialisaties; in dit voorbeeld, om pin 13 te initialiseren als uitvoer-pin. Een Arduino-pin kun je meestal op meerdere manieren gebruiken (de pin is "programmeerbaar"); je moet dan van tevoren aangeven hoe je die pin gebruikt.

  3. declaratie van de functie loop: deze functie wordt herhaaldelijk aangeroepen (tot de volgende reset).

  4. de functie-aanroep digitalWrite(led, HIGH); heeft als resultaat dat er een spanning van 5V verschijnt op pin 13.

    1. de hardware-schakeling is zo dat hiermee de LED gaat branden

  5. de functie-aanroep digitalWrite(led, LOW); heeft als resultaat dat er een spanning van 0V verschijnt op pin 13.

    1. hierdoor gaat de LED uit.

Opmerking: een functie-declaratie begint met het type van het resultaat van de functie. Als de functie geen resultaat heeft, zoals in het voorbeeld van de setup en loop, dan is het resultaat void, ofwel "leeg".

Opmerking: we kunnen ook een hardware-schakeling maken zodat de LED brandt als er 0V op een pin staat, en deze uit is bij 5V.

Dit Arduino-programma werkt ook los van de "host"computer. Je sluit de Arduino dan aan op een aparte voeding (USB of batterij). Zodra de Arduino spanning krijgt, start het programma.

Variaties

  1. verander in de sketch de periode waarin de LED aan en uit is - bijvoorbeeld naar 500 msec, of naar 2000 msec.

Opdracht 1b. Blink - met LED op breadboard

De volgende opdrachten zijn bedoeld om te leren werken met het breadboard. Hierop kun je je eigen schakelingen opbouwen, om te besturen vanuit de Arduino.

  1. zorg ervoor dat je Arduino geen spanning krijgt als je een schakeling opbouwt of verandert.

    1. denk erom dat je de LED in de juiste richting aansluit: langste pootje en/of ronde kant: Anode, aansluiten op Arduino pin 13; de andere pin sluit je aan op de weerstand.

    2. de weerstand plaats je tussen de Kathode van de LED (kortste pootje, vlakke kant behuizing) en de GND (0V, "aarde") op het breadboard. Een weerstand is een symmetrische component: het maakt niet uit in welke richting je deze aansluit.

  2. Sluit de Arduino aan op de spanning (bijv. via USB), en voer de "Blink" sketch uit.

In de bijgaande figuur zie je hoe je deze onderdelen op het breadboard kunt plaatsen en verbinden. Je krijgt een grotere versie van deze figuur door erop te klikken.

Opdracht 1c. Blink met 2 LEDs

Als volgende stap:

  1. verwijder de spanning van de Arduino (USB kabel los);

  2. voeg op het breadboard nog een LED toe met een serieweerstand; sluit deze aan op een andere pin, bijvoorbeeld pin 12.

  3. pas je eigen versie van "Blink" zo aan dat deze LED uit is terwijl de andere aan is, en omgekeerd.

  4. sluit de Arduino weer aan, en vertaal en laad deze aangepaste versie naar de Arduino.

Extra opdrachten

  1. (*) bij welke periode aan en uit zie je de LED net niet meer knipperen? Waardoor komt het dat je een knipperende LED niet meer ziet knipperen?

    1. Hint: met welke frequentie wordt een televisiebeeld ververst? Wat is de snelheid van de beeldjes van een film?

    2. je kunt laten zien dat de LED echt knippert door het bordje zelf (snel) heen en weer te bewegen. Wat zie je dan?

PreviousLes 1: Wat is een ArduinoNextLes 3: Schakelaars

Last updated 5 years ago

Was this helpful?

LED aan Arduino pin 13

lees om te begrijpen hoe de verbindingen op het breadboard lopen, en hoe je de voeding aansluit.

bouw de eenvoudige schakeling met een LED en een serieweerstand. Gebruik een serieweerstand van 220 Ohm (rood-rood-bruin (goud)). Lees om te begrijpen wat weerstanden zijn en waarom je ze moet gebruken.

Zie ook:

Zie bijvoorbeeld: ,

/Breadboard
/Weerstand
http://en.wikipedia.org/wiki/Persistence_of_vision
http://www.youtube.com/watch?v=2hASOre63Nk