💾
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
  • Opdracht 1
  • Opdracht 2

Was this helpful?

Export as PDF
  1. Keuzemodules
  2. Embedded Systems

Les 4: Seriële monitor

Als je aan het programmeren bent wil je zo af en toe iets op het scherm printen. Misschien wil je de waarde van een variabele op een specifiek moment zien? Dit is vooral handig als je een bug hebt in je programma en je wilt weten wat de waarde van een variabele is op het moment dat de bug optreedt. In Python zeg je dan iets als:

for i in range(10):
  print (i)

Maar als een programma wordt geüpload naar een Arduino, dan is het niet vanzelfsprekend dat je met een print-functie iets op het scherm van je computer krijgt. Het programma wordt immers op de Arduino uitgevoerd en niet op je computer. Nu kun je wel een LCD-scherm op je Arduino aansluiting en vervolgens daar de gewenste informatie naartoe schrijven, maar niet elke Arduino hoeft per se een LCD-scherm te hebben. En het vereist natuurlijk wel wat moeite om een LCD-scherm aan te sluiten op een Arduino. Gelukkig is hier een betere oplossing voor!

Zoals je je hopelijk hebt gerealiseerd is de communicatie tussen jouw computer en de Arduino middels de USB-verbinding. Deze verbinding gebruiken we om programma's te uploaden naar de Arduino. Deze zelfde verbinding kunnen we ook gebruiken om tekst te communiceren tussen het programma op de Arduino en een programma op je computer.

Door middel van Serial.print() kunnen we tekst van de Arduino naar je computer sturen. Er moet dan op je computer een programma draaien dat iets met deze tekst doet. Een voorbeeld hiervan is het Seriële Monitor-venster van de Arduino IDE: daarin kun je de tekst zien die de host computer van de Arduino ontvangt. Dit venster kunnen we ook gebruiken om tekst naar de Arduino te sturen: dat zullen we in een latere les behandelen.

Bij de programma's die we tot nu toe gezien hebben weten we niet wat het programma precies doet. We zien alleen het resultaat via de analoge en digitale uitvoer. In sommige gevallen We kunnen alleen zien wat het invoer/uitvoer-gedrag is, via de analoge en di

Opdracht 1

  • Gebruik de hardware-opstelling van de vorige les. Gebruik ook het programma van de vorige les. (Gebruik het programma Voorbeelden->02. Digital->Button)

  • Verander het programma zodat het er als volgt uitziet:

const int buttonPin = 2;      // the number of the pushbutton pin
const int ledPin =  13;       // the number of the LED pin
 
int buttonState = 0;          // variable for reading button status
 
void setup() {
  pinMode(ledPin, OUTPUT);      // initialize LED pin as output 
  pinMode(buttonPin, INPUT);    // initialize button pin as input 
  Serial.begin(9600)
}
 
void loop() {
  buttonState = digitalRead(buttonPin);   // read the button state
  Serial.println(buttonState);
  if (buttonState == HIGH) {         // pushbutton is pressed.
    digitalWrite(ledPin, HIGH);      // turn LED on    
  } 
  else {
    digitalWrite(ledPin, LOW);       // turn LED off
  }
}
  • Zoals je wellicht is opgevallen hebben we in de setup-functie iets toegevoegd. Namelijk Serial.begin(9600) (9600 bit/s of ook bps).

  • Ook in de loop functie hebben we iets toegevoegd om iets te schrijven naar de Seriële monitor. Namelijk Serial.println(buttonState);.

  • Om de uitvoer van het programma op je computer te kunnen zien, gebruik je het Seriële Monitor venster van de Arduino IDE (menu Extra->Seriële-Monitor).

  • De communicatie werkt alleen als de snelheid van de communicatie (bitsnelheid) van de Arduino en van je computer gelijk zijn. Dit stel je in door de selectieknop (rechts onder) in het Seriële Monitor venster.

  • Start nu het programma op en controleer of je in de Seriele monitor continu de waarde van de knop te zien krijgt. Druk ook zo af en toe op de knop.

Opdracht 2

Verander nu het programma zodat je in de Seriële monitor alleen de tekst "Je hebt op het knopje gedrukt" te zien krijgt wanneer je op het knopje drukt.

Opmerkingen:

  • Serial.print(x) stuurt x als tekst naar de computer. Als x een getal is, dat wordt dit eerst in tekst-vorm omgezet. je kunt er daarbij voor kiezen of je een decimale vorm wilt hebben, of een vorm met een ander grondgetal. Bijvoorbeeld: hexadecimaal, via Serial.print(x, HEX);.

PreviousLes 3: SchakelaarsNextLes 5: Analoge Sensoren

Last updated 5 years ago

Was this helpful?