Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam

Vergelijkbare documenten
Programmeren met Arduino-software

Naam + Klas: Laptop Nr: Cijfer:

Arduino Zuid-Limburg Workshop 2

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Tweede workshop Arduino

Als een PSD selecties bevat, deelt de lijn van het programma zich op met de verschillende antwoorden op het vraagstuk.

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Module 4 Programmeren

RCL Arduino Workshop 1

Oefening 1 - Seriële communicatie via USB

Workshop Arduino - deel 2

delay(1000); // Eén seconde pauze digitalwrite(pin, LOW); // zet 'pin' uit delay(1000); // Eén seconde pauze }

Werkbladen voor Arduino workshop 1

Arduino Workshop 1 Zuid-Limburg

Javascript oefenblad 1

Arduino Programmeer handleiding

Informatie over. 5VWO DT51: JavaLogo. Casper Bezemer. Toetsweek 1 13 oktober 2016

Programmeren in Java les 3

Workshop Arduino voor beginners deel 2

Je gaat leren programmeren en een spel bouwen met de programmeertaal Python. Websites zoals YouTube en Instagram zijn gebouwd met Python.

Wat is Arduino? Arduino = microprocessor (Atmel)

arduino programmeerboek Davy Wolfs

De FOR lus: // terug naar waar je vandaan kwam Serial.begin(115200); // communicatie snelheid met de PC

Arduino. Arduino UNO. Sam Decoster. CoderDojo Roeselare. Sam Decoster

1. Testdata TA sensor met Ohmse belasting

VAN HET PROGRAMMEREN. Inleiding

Bij manueel trein elke keer vanaf spoor 1 te starten, dus altijd twee ritten. StartLED gaat aan en pas uit als trein op 1 arriveert.

Modelleren en Programmeren

Infographic De infographic geeft in grove lijnen het overkoepelend concept weer Your home remotely controlled Zie de infographic hier naast.

1. Sluit de LED aan zoals afgebeeld 2. Sluit de USB-kabel aan op de Arduino 3. Klik op de knop uploaden 4. De LED begint te knipperen

Arduino[4KIDS] Maak je eigen muziekinstrument!

Je gaat leren programmeren in Ruby. En daarna in Ruby een spelletje maken. Websites zoals Twitch en Twitter gemaakt zijn met behulp van Ruby?

Afhankelijk van wanneer je het programma uitvoert, zie je een van de volgende resultaten:

Variabelen en statements in ActionScript

Java Les 3 Theorie Herhaal structuren

Project 1 Een discolamp


Jeroen uit. Extra informatie. Voor de lunch. Arduino zo aangesloten om mijn code te laten werken. (versie voor lunch) (code voor de lunch)

Android apps met App Inventor 2 antwoorden

Scala. Korte introductie. Sylvia Stuurman

Planning. 1. Mini College. 2. Introductiecursus Imperatief Programmeren. 3. Crash and Compile (vanaf 17:00 uur)

VAN HET PROGRAMMEREN. Inleiding. Het spiraalmodel. De programmeertaal. vervolgens de berekening van het totale bedrag, incl. BTW:

DE ASTRO PI PROGRAMMEREN VOOR MISSION ZERO

Arduino Opstartgids.

VOORBLAD SCHRIFTELIJKE TOETSEN

APPLICATIEBOUW 2E COLLEGE: ONTWERPEN, GEBRUIKERSINTERFACES, VARIABELEN & EXPRESSIES. Onderdeel van SmartProducts

by Jody Culkin Bronnen die gratis gebruikt, verspreid of aangepast kunnen worden. meestal software of hardware.

Programmeren en Wetenschappelijk Rekenen in Python. Wi1205AE I.A.M. Goddijn, Faculteit EWI 22 april 2014

// hier wordt de functie: ZegHallo aangeroepen

Ravi Ramcharan Arduino PRO Smart leeslampje

De Arduino-microcontroller in de motorvoertuigentechniek (6)

Arduino : Morse Voltmeter

HOOFDSTUK 3. Imperatief programmeren. 3.1 Stapsgewijs programmeren. 3.2 If Then Else. Informatie. Voorbeeld. Voorbeeld: toegangsprijs

Automatische spoel installatie voor legionella preventie. NTKC - Bennie ten Haken 27 Mrt

Universiteit van Amsterdam FNWI. Voorbeeld van tussentoets Inleiding programmeren

Deel 8: stappenmotoren en interrupts

Programmeermethoden NA. Week 3: Controlestructuren

MINICURSUS PHP. Op dit lesmateriaal is een Creative Commons licentie van toepassing Sebastiaan Franken en Rosalie de Klerk Bambara

RAAD HET GETAL. Hoofdstuk 4. Het spelletje 'Raad het getal' Voorbeeld van uitvoering van 'Raad het getal' Hoofdstuk 4 Raad het getal 21

PROGRAMMA'S SCHRIJVEN

Arduino. HCC Vlaanderen - Mechelen 7 februari Luc De Cock

Workshop Arduino Uno. Touw dag 6 juni 2015 Harold Pootjes en Simon Pauw

Small Basic Programmeren Text Console 2

Arduino Workshop. door Geert Roumen (CC) BY-SA. lemio.nl/arduino/

Een spoedcursus python

Online c++ leren programmeren:

Arduino CURSUS. door Willy - 09-juni-2017

Lesje programmeren. Hallo allemaal, wat fijn dat je er bent. ROBOTICA

Processing. Met Processing kun je hele mooie tekeningen maken niet met stiften of potloden, maar door tegen de computer te zeggen wat je wil zien.

Inleiding programmeren

modellering met Arduino extra module

modellering met Arduino project module

Leren Programmeren met Visual Basic 6.0 Les 3+4. Hoofdstuk 4 : De Selectie

Vakgroep CW KAHO Sint-Lieven

DE INTERACTIEVE SHELL

continue in een for, while of do lus herhaalt de lus vroegtijdig. De volgende herhaling wordt onmiddellijk begonnen.

Stroomschema s maken op papier

by Jody Culkin Bronnen die gratis gebruikt, verspreid of aangepast kunnen worden. meesta software of hardware.

Vereiste kennis. 1 Java-editor. 2 Het compileren van een programma

Numerieke benadering van vierkantwortels

Weerstation. Weerstation met Arduino C.G.N. van Veen. HiSPARC. 1 Weerstation. 2 Arduino. 2.1 Werking van Arduino

Python. Vraag 1: Expressies en types. Vraag 1 b: Types -Ingebouwde functies- Vraag 1 a 3/10/14

DOC A. De Arduino programmeertaal. Versie 1.1

6,1. Samenvatting door een scholier 1809 woorden 28 oktober keer beoordeeld. Informatica

BLOCKLY VISUEEL PROGRAMMEREN LEVEL 2

Hoofdstuk 6: Zelf functies maken

Ar-doe-wie-no. Voorwoord

[14] Functies. Volg mee via 14_Functies-1.py. We beginnen met een eenvoudig voorbeeldje:

Datum, Tijd en Timer-object

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Een eenvoudig algoritme om permutaties te genereren

Voeler ingang van de ilog recorder. Stop de temperatuurvoeler

Handleiding Arduino Basis. Fun met Electronica 2018

BEGINNER JAVA Inhoudsopgave

Transcriptie:

Arduino Cursus, Deel 2 Programmeren Simon Pauw, ZB45, Amsterdam

Programmeren Geen zorgen als je niet alles begrijpt. Doel: Het snappen van bestaande code. Meeste kennis ook toepasbaar buiten de Arduino

Herhaling Vorige Week al wat code gezien digitalwrite(high), digitalread() analogwrite(255), analogread()

Programma als recept instructies Laat voorbeelden vorige week zien

Programma

Recept Een programma is een recept Elke regel bevat een instructie Als de instructie is uitgevoerd gaat de Arduino door met de volgende instructie

Dit recept Bevat een serie instructies om Hallo, wereld! over de USBverbinding te schrijven

setup() wordt 1 keer uitgevoerd, na opstarten Arduino

loop() wordt herhaalt zolang de Arduino aan is

Programma (oppervlakkig) 1: na het opstarten begin seriële verbinding

Programma (oppervlakkig) 2: verstuur bericht Hallo, wereld!

Programma (oppervlakkig) 3: wacht 1 seconde

Programma (oppervlakkig) 4: verstuur bericht Hallo, wereld!

Programma (oppervlakkig) 5: etc.

Programma (in detail) Commentaar (doet niets voor gedrag programma) Alles tussen /* en */ (wordt grijs gemaakt door Arduino interface)

Programma (in detail) Lege regels doen niets

Programma (in detail) Ook commentaar Elke regel die begint met //

Programma (in detail) void setup() begin de setup() functie vast onderdeel van elk Arduino programma

Programma (in detail) void setup() alles tussen { en } hoort bij setup

Programma (in detail) Nog meer commentaar

Programma (in detail) Serial.begin(9600); Eerste echte instructie! Zegt tegen de Arduino: Begin de seriële communicatie met de Arduin. 1 statement per regel afgesloten met ; Waarom? Afspraak

Programma (in detail) } einde setup

Programma (in detail) Nog meer commentaar

Programma (in detail) void loop() begin de loop() functie wordt herhaalt zolang de

Programma (in detail) void loop() alles tussen { en } hoort bij loop

Programma (in detail) Nog meer commentaar

Programma (in detail) Serial.println( Hallo, wereld ); verstuurt het bericht over de usb println is kort voor print line, print regel Het bericht staat tussen de haakjes (!) Let op de ; aan het einde van de instructie

Programma (in detail) Nog meer commentaar

Programma (in detail) delay(1000); Wacht 1000 ms (1 sec)

Programma (in detail) afsluitende } einde van loop()

Programma (in detail) void loop() loop was afgelopen begint weer opnieuw

Samenvatting, Functies setup(), loop() Serial.begin(9600);, Serial.println( Hallo, wereld! ); delay(1000); digitalwrite(high), digitalread() analogwrite(255), analogread()

Samenvatting, Syntax {,} markeren begin en einde van setup() en loop() /* commentaar over meerdere regeles */ // commentaar Instructies Serial.println( Hallo, wereld ); 1 per regel, afgesloten door ; Argument (snelheid, bericht, tijdsduur) tussen haakjes achter instructie

Opdracht 2.1

Deel 1, Variabelen

Variabelen Probleem: Als we de tijd tussen de berichten willen aanpassen moeten we de waardes op twee plekken veranderen. Kan dat handiger?

Variabelen Probleem: Als we de tijd tussen de berichten willen aanpassen moeten we de waardes op twee plekken veranderen. Kan dat handiger?

Variabelen Kan dat handiger? Dat kan Variabele = label Declaratie: int wachttijd = 1000; (het label wachttijd heeft de waarde 1000)

Variabelen type int: integer, geheel getal

Variabelen naam wachttijd (hoofdletter gevoelig)

Variabelen waarde 1000

Variabelen (psst, vergeet de ; niet)

Variabelen aanroepen variabele

Wat doet dit programma?

Variabelen

Variabelen declaratie: int mijnwaarde = 1000; Gebruik: delay(mijnwaarde); Waarde laten zien via USB: Serial.print(mijnWaarde);

Rekenen met integers Rekenen uitleggen / naar beneden afronden etc

Even tussendoor

Rekenen met integers, -

Rekenen met integers, *

Rekenen met integers, /

Rekenen met integers, /

Wat doet deze sketch?

Wat doet deze sketch?

Opdracht 2.2

Rekenen met floats Voorbeeld (casting) conversie

Herhaling Integers:

Floats

Floats, conversieprobleem

Floats, casting

Samenvatting, Functies setup(), loop() Serial.begin(9600);, Serial.print();, ( Hallo, wereld! ); delay(1000); digitalwrite(high), digitalread(), analogwrite(255), analogread()

Samenvatting, Syntax {,} markeren begin en einde van setup() en loop() /* commentaar over meerdere regeles */ // commentaar Instructies Serial.println( Hallo, wereld ); 1 per regel, afgesloten door ; Argument (snelheid, bericht, tijdsduur) tussen haakjes achter instructie

Samenvatting, Variabelen int getal = 10; float getal = 1.5; Operaties: =,*,/,+,- Conversie (casting): getal-met-komma = (float)getal-zonder-komma

Opdracht 2.3

Verdieping 1 Initialiseren Scope Niet belangrijk om nu in details te begrijpen, maar wel goed om gezien te hebben

1, Initiële waardes

1, Initiële waardes

1, Initiële waardes

Controll 1, if() if() Het reactief vermogen: 1) Als de laserstraal word onderbroken > Alarm! 2) Als iemand op de - knop drukt > Maak koffie (warm water op, maal koffiebonen, pomp water door koffieresevoir, etc.)

Controll 1, if()

Controll 1, if(), ==

Wat doe deze sketch?

Controll 1, if(), >

Wat doe deze sketch?

Controll 1, if(),<

Controll 1, if() Dus: if(vergelijking) {code} Vergelijking: a == b, a < b, a > b Verder nog: a <= b, a >= b, a!=b

Wat doet deze sketch?

Controll 2, else()

Wat doet deze sketch?

Controll 2, else if()

Opdracht 2.4 en 2.5

Samenvatting setup(), loop(), Serial.begin(9600);, Serial.print();, ( Hallo, wereld! );, delay(1000);, digitalwrite(high), digitalread(), analogwrite(255), analogread() int getal = 10;, float getal = 1.5, operaties: =, *, /, +, - (on)gelijkheden: a == b, a < b, a > b, a <= b, a >= b, a!=b { } begin en einde van setup(), loop(), if(), else(), else if() Hiermee zou je in principe al alles mee kunnen maken! Alles wat we verder leren is om het onszelf makkelijker te maken

Controll 2 herhaling al gezien: loop() nu gaan we kijken naar twee ander constructies die waarmee we code kunnen herhalen

Controll 3 Twee belangrijke controll structuren voor herhaling: while(): zolang er weinig licht op de LDR valt, laat een lampje branden for(): laat het lampje 10x knipperen

Wat doet deze sketch?

Controll 3, while()

Controll 3, for() een loop gebruiken om iets te tellen gebeurt zo veel dat er een speciale (kortere) instructie is bestaat: for()

Controll 3, for() een loop gebruiken om iets te tellen gebeurt zo veel dat er een speciale (kortere) instructie is bestaat: for()

Controll 3, for()

Controll 3, for()

Opdracht 2.6

Opdracht 2.7 + BONUS

Samenvatting Serial.begin(9600), Serial.print(), ( Hallo, wereld! ), delay(1000), digitalwrite(high), digitalread(), analogwrite(255), analogread() int getal = 10;, float getal = 1.5, operaties: =, *, /, +, - (on)gelijkheden: a == b, a < b, a > b, a <= b, a >= b, a!=b if(), else(), else if(), for(), while() setup(), loop()

Functies Een handige manier om herhaling te voorkomen Het leesbaar maken van code Het herbruikbaar maken van code

Functies

Opdracht BONUS 2