Programmeren met Arduino-software



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

RCL Arduino Workshop 1

Arduino Programmeer handleiding

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

Arduino Workshop 1 Zuid-Limburg

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015

arduino programmeerboek Davy Wolfs

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

Werkbladen voor Arduino workshop 1

Wat is Wat? Interactief ontwerpen: Gaat over de wisselwerking tussen mensen en machines, tussen de fysieke en de virtuele wereld.

Arduino[4KIDS] Maak je eigen muziekinstrument!

Arduino Opstartgids.

Arduino. HCC Vlaanderen - Mechelen 7 februari Luc De Cock

Vakgroep CW KAHO Sint-Lieven

Oefening 1 - Seriële communicatie via USB

PYTHON REEKS 1: BASICS. Mathias Polfliet

Tweede workshop Arduino

Arduino Zuid-Limburg Workshop 2

Variabelen en statements in ActionScript

Wat is Arduino? Arduino = microprocessor (Atmel)

Een spoedcursus python

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

Workshop Arduino - deel 2

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

Handleiding Arduino Basis. Fun met Electronica 2018

VAN HET PROGRAMMEREN. Inleiding

Online c++ leren programmeren:

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

Programmeren in Java les 3

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

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

Arduino CURSUS. door Willy - 09-juni-2017

BEGINNER JAVA Inhoudsopgave

[8] De ene 1 is de andere niet

ARDUINO IDE SCHOOLHANDLEIDING MET THEORIE, OEFENINGEN en EVALUATIETOOL

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

Modelleren en Programmeren

Java Les 3 Theorie Herhaal structuren

Syntax- (compile), runtime- en logische fouten Binaire operatoren

Lab Webdesign: Javascript 3 maart 2008

Naam + Klas: Laptop Nr: Cijfer:

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

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

Constanten. Variabelen. Expressies. Variabelen. Constanten. Voorbeeld : varid.py. een symbolische naam voor een object.

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

Een korte samenvatting van enkele FORTRAN opdrachten

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

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

extra oefening algoritmiek - antwoorden

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

PHP. Les 4 : Variabelen

Verzamelingen, Lijsten, Functioneel Programmeren

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

Controle structuren. Keuze. Herhaling. Het if statement. even1.c : testen of getal even of oneven is. statement1 statement2

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

Javascript oefenblad 1

OEFENINGEN PYTHON REEKS 1

Een topprogrammeur in het OO programmeren is Graig Larman. Hij bedacht de volgende zin:

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

Zelftest Inleiding Programmeren

OEFENINGEN PYTHON REEKS 1

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

Module 3: Scratch programmeren: is het logisch of is het niet logisch?

inleiding theoretische informatica practicum 1 deadline woensdag 20 februari 2008 om uur

Workshop Arduino voor beginners deel 2

De Arduino-microcontroller in de motorvoertuigentechniek (6)

VBA voor Doe het Zelvers deel 20

Uitleg: In de bovenstaande oefening zie je in het eerste blokje een LEES en een SCHRIJF opdracht. Dit is nog lesstof uit het tweede trimester.

Arduino : Morse Voltmeter

Wiskunde klas 3. Vaardigheden. Inhoudsopgave. 1. Breuken Gelijksoortige termen samennemen Rekenen met machten Rekenen met wortels 4

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

Ar-doe-wie-no. Voorwoord

ABC GIDS Jouw gids voor de Arduino Beginners Cursus met Arduino Uno

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


Vaak wil je een code schrijven, waar je verschillende acties uitvoeren voor verschillende beslissingen. Je kan daarbij keuzestructuren gebruiken.

Opmerkingen en vragen aan Ultieme vraag: Hoe beïnvloedt dit de winstkansen?

Workshop Arduino voor beginners. door TkkrLab Enschede

Single Board computers. Ruud van der Meer (voor HCC d.d. 4 dec2017 Leiderdorp)

Small Basic Programmeren Text Console 2

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

Programmeerstructuren met App Inventor

Talstelsels en getalnotaties (oplmodel)

Voorbeeldtentamen Inleiding programmeren (IN1608WI), Oktober 2003, , Technische Universiteit Delft, Faculteit EWI, Afdeling 2.

DEC SDR DSP project 2017 (2)

Probleem met dobbelspel. 2IP05: Programmeren Blok A. 5 spelers,2 dobbelstenen. wstomv/edu/2ip05/ Per ronde werpt elke speler 1

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

Een typisch programma in C en C++ bestaat uit een aantal onderdelen:

slides12.pdf December 14,

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

2 Elementaire bewerkingen

Groepen, ringen en velden

Variabelen gebruiken in ons programma

OEFENINGEN PYTHON REEKS 1

van PSD naar JavaScript

Haskell: programmeren in een luie, puur functionele taal

VBA voor Doe het Zelvers Deel 7

WORKSHOP ORANGE PI & PYTHON v september 2017

Transcriptie:

Programmeren met Arduino-software De software waarin we programmeren is Arduino IDE. Deze software is te downloaden via www.arduino.cc. De programmeertaal die hier gebruikt wordt, is gebaseerd op C en C++. Bij het programmeren moeten we ons aan vaste regels houden, anders begrijpt de computer je niet meer. Soms is het weglaten van een ; al voldoende om het programma niet te laten werken. Een programma van Arduino noemen we een Sketch. Het programma bestaat uit minstens twee blokken: De void setup en de void loop. Void setup () {. In het blok Void setup staat tussen de accolades { de informatie. Hier staat wat we allemaal gaan gebruiken. De setup wordt maar één keer ingelezen en vervolgens onthouden. Void loop (){. In het blok Void loop staat de informatie ook tussen de accolades {. In deze informatie staat wat we allemaal gaan doen. De Void loop wordt niet één keer ingelezen, maar iedere keer herhaald. Binnen het blok Void loop kun je kleinere blokjes maken, die staan dan ook weer binnen twee accolades. Het aantal accolades is dus altijd even. Bij het schrijven van een programma kun je natuurlijk wel eens een accolade vergeten. Als je in de sketch naast een accolade gaat staan laat het programma zien waar de tweede staat, dit ter controle. Speciale tekens Arduino gebruikt een aantal verplichte speciale tekens: ; Puntkomma. Iedere programmaregel moet worden afgesloten met een puntkomma. Een vergeten puntkomma zorgt ervoor dat een programma niet werkt. { Accolades. Een accolade geeft het begin en einde van een blok informatie weer. Binnen een blok accolades kunnen meerdere kleine blokken met eigen accolades voorkomen. // Regel commentaar. In elke regel kan je // plaatsen. De regel achter de // wordt niet meer gelezen door Arduino. Handig voor uitleg/commentaar. Maar het kan ook gebruikt worden om een programmaregel (tijdelijk) uit te schakelen. /*.*/ Commentaarblok. Als je uitleg of commentaar over meerdere regels wilt schrijven kan je gebruik maken van de tekens voor commentaar blok. Uitleg over het programma is, zeker voor anderen, heel handig.

Variabelen Variabelen kan je gebruiken om getallen op te slaan in het geheugen om later weer te kunnen gebruiken. Er zijn verschillende types variabelen die meer of minder geheugenplek innemen, afhankelijk van het aantal getallen dat ze moeten opslaan. Int (integer) Het meest gebruikte data type. Heeft geen decimalen en kan een getal opslaan tussen -32.768 en 32.767 boolean long float char (character) Kan twee waardes hebben true of false (waar of niet waar) Wordt gebruikt als een integer niet groot genoeg is. Long kan getallen opslaan tussen -2.147.483.648 en 2.147.483.647. Floating point betekent decimaal. Een floating point kan een decimaal getal opslaan, kost veel geheugenruimte. Slaat een toetsenbordteken op in de ASCII code (bv A=65). Constanten Een aantal woorden zijn bij de Arduino gekoppeld aan speciale, constante waardes. Let op de hoofdletters en kleine letters. HIGH en LOW worden gebruikt om een Arduino pin aan of uit te zetten. Voorbeeld: digitalwrite(13, HIGH); // dit betekent: zet 5 volt op pin 13 input en output bepalen of een pin een input (spanning meten) of output (spanning geven) is. Voorbeeld: pinmode(13, OUTPUT); // pin 13 is een output. true en false controleren of iets waar of niet waar is. False (niet waar) is 0. Alle waardes die niet nul zijn beschouwt de Arduino als true (waar). Voorbeeld: if (b==true); { doe iets;

Besturingsstructuren if (conditie) {. Bij deze opdracht wordt gecontroleerd of de conditie die tussen de haakjes staat waar is. Als dat zo is wordt de actie uitgevoerd die tussen de accolades staat. Zo niet, dan wordt de actie overgeslagen. Voorbeeld: if (val == 1) { // als de waarde val 1 is digitalwrite(led,high); // gaat de led aan if.else Hier wordt gekozen tussen twee condities. Als de ene waar is, doe {.. anders doe { Voorbeeld: if (inputpin == HIGH) { voer actie A uit; else { voer actie B uit; Je kan het nog verder uitbreiden. Let goed op de haakjes en puntkomma's. Voorbeeld: if (inputpin < 500) { Voer actie A uit; else if (inputpin <= 1000) { voer actie B uit; else { voer actie C uit; for (variabele; voorwaarde; vermeerdering of vermindering;) Laat je een stukje programma een bepaald aantal keren uitvoeren. Voorbeeld: for (int i = 0; i < 10; i ++) // De variabele heet i en begint bij 0. De voorwaarde //is dat { // i kleiner is dan 10. i wordt telkens met 1 //opgehoogd. Serial.print( hoi ); while (variabele) Lijkt wel wat op de for loop. Doe iets zolang aan een bepaalde voorwaarde voldaan wordt. Wordt er niet aan de voorwaarde voldaan dan wordt het blokje overgeslagen. Voorbeeld: var = 0; while (var < 200) { // doe iets 200 keer var ++;

Rekenen + Optellen - Aftrekken * Vermenigvuldigen / Delen % Modulo. Geeft het restgetal van een deling: 12 % 10 geeft 2 Vergelijken x==y // x is gelijk aan y x!=y // x is niet gelijk aan y x<y // x is kleiner dan y x>y // x is groter dan y x<=y // x is kleiner of gelijk aan y Logische Berekeningen Logische berekeningen (Boolean operators) zijn vergelijkingen waarbij de uitkomst waar of niet waar is. Ze worden vaak gebruikt in if opdrachten om verschillende condities met elkaar te vergelijken: && Logische en (and): if (x>0 && x<5) Waar als beide vergelijkingen waar zijn. Logische of (or): if (x>0!! y>0) Waar als een van de twee waar is.! Logische niet (not): if (!x > 0) Waar als de vergelijking niet waar is. Digitale Input en output pinmode(pin, mode) Stelt een bepaalde pin in als output of als input. Voorbeeld: pinmode(7, INPUT); // Maakt van pin 7 een input. digitalwrite(pin, value) Zet een bepaalde pin hoog (HIGH) of laag (LOW). Voorbeeld: digitalwrite(9, HIGH); // Zet pin 9 aan. digitalread(pin) Leest of een pin hoog of laag staat. Voorbeeld: val = digitalread(8) // Geeft de waarde HIGH (wel // spanning) of LOW (geen // spanning) van pin 8.

Analoge Input en Output analogread(pin) Leest het voltage (tussen 0 en 5 volt) dat staat op een analoge input pin (pin 0 t/m 5 zijn analoge pinnen) en geeft daarvoor een waarde tussen 0 en 1023. Voorbeeld: val = analogread(2); // Meet de spanning op pin2 // en geef een waarde (val) analogwrite(pin, value) Een Arduino is een digitaal apparaat en kan alleen wel of geen stroom zetten op een pin. De pinnen 3, 5, 6, 9, 10 en 11 ondersteunen PWM (pulse width modulation). Deze pinnen kunnen heel snel aan en uit gezet worden waardoor ze analoog lijken. De value kan een getal zijn tussen 0 en 255 die omgeschaald wordt naar een spanning tussen 0 en 5 V. Voorbeeld: analogwrite(9, 128); // Dim een led op pin 9 met // 50% Wil je nog meer uitleg? Deze is (Engelstalig) te vinden op www.arduino.cc Dit document is een uittreksel van interactief ontwerpen met Arduino van Stan Roukens, waarvoor dank.