Werkbladen voor Arduino workshop 1

Vergelijkbare documenten
Arduino Workshop 1 Zuid-Limburg

RCL Arduino Workshop 1

Programmeren met Arduino-software

Workshop Arduino - deel 2

Arduino : Morse Voltmeter

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

Oefening 1 - Seriële communicatie via USB

Tweede workshop Arduino

Workshop Arduino voor beginners deel 2

th_elt Hardware & Software

Arduino Programmeer handleiding

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

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

Arduino[4KIDS] Maak je eigen muziekinstrument!

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015

Workshop Arduino voor beginners. door TkkrLab Enschede

Arduino Zuid-Limburg Workshop 2

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

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

Arduino Opstartgids.

Na de intro zijn wij begonnen met concepten, en hebben we elk idee dat we hadden op geschreven.

Naam + Klas: Laptop Nr: Cijfer:

arduino programmeerboek Davy Wolfs

modellering met Arduino mini module

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

HOP9850. void sendfrequency(unsigned long frequency) zie SWEEP9850

Arduino. HCC Vlaanderen - Mechelen 7 februari Luc De Cock

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

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

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

Arduino CURSUS. door Willy - 09-juni-2017

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

Deel 8: stappenmotoren en interrupts

Meet the Arduino FAMILY

Arduino cursus. Eelco Dijkstra Steunpunt Informatica - Its Academy 24 september 2015

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

modellering met Arduino project module

Arduino. C.F.J. Pols.

ES1 Project 1: Microcontrollers

Hand-out Introductieworkshop LED programmeren

HD44780 compatibele LCD-displays begrijpen

Small Basic Programmeren Text Console 2

Technology, Innovation & Society Delft

// hier wordt de functie: ZegHallo aangeroepen

Hoofdstuk 4. Digitale techniek

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.

modellering met Arduino extra module

Logo quiz Project Inleiding op de Logo!

Raspberry Pi Interfacing.

CTCSS Encoder Super Flexibel Ontwerpen met een Arduino Nano

Project Kerstverlichting T&T - Fioretti College Veghel

De Arduino-microcontroller in de motorvoertuigentechniek (7)

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

Ar-doe-wie-no. Voorwoord

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368

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

Antwoorden Systeembord Fysische informatica voor de onderbouw havo/vwo

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

//enable de interne pull-up weerstand. //variabele sensorval. //naar de seriële monitor

WORKSHOP ORANGE PI & PYTHON v september 2017

PIC Callgever Door PA1RUM

ES1 Project 1: Microcontrollers

ARDUINO IDE SCHOOLHANDLEIDING MET THEORIE, OEFENINGEN en EVALUATIETOOL

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

Microcontrollers Labo

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8

Arduino. Workshop. 20 juni 2014 Peter Struwe Stichting De Jonge Onderzoekers Groningen

Arduino en APRS EZHE Workshop April 2017, PD1DDK

4x4x4 LED cube deel 2

Inhoud Inhoud. Inleiding 1 Leerdoelen 1

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

Een verkeerslicht met Arduino

modellering met Arduino

Boe-Bots - Arduino robots

Vakgroep CW KAHO Sint-Lieven

EM2 Microcontroller Project. LED cube

FLEXESS AQUA CODETABLEAU EN PASLEZER TC-CS200 CS VERGRENDELINGEN. t f MODELLEN CS200 SPECIFICATIES

Zelf PIC's programmeren. Deel-1 KnipperLED (flashing LED)

Android apps met App Inventor 2 antwoorden

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

InteGra Gebruikershandleiding 1

PYTHON REEKS 1: BASICS. Mathias Polfliet

KAEDU : Outputs en inputs

Een korte samenvatting van enkele FORTRAN opdrachten

Handleiding Arduino Basis. Fun met Electronica 2018

{ auteur, toelichting }

BEGINNER JAVA Inhoudsopgave

De Arduino-microcontroller in de motorvoertuigentechniek (6)

Arduino cursus 2018 voor beginners en gevorderden 23 september Paul van de Veen

VANTEK Discovery set. N. B. De OPITEC bouwpakketten zijn gericht op het onderwijs. N991240#1

Programmeren in Java les 3

Keuzevak Slimme Technologie De slimme Regenmeter

Naam LL en : Thibo Meuwes - Maxime Carrein. Evert Cottyn - Lowie De Lombaerde. Naam Lkr en : Benjamin Samyn. Johan Vanhaverbeke.

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

AN1035-NL Integratie Net2 met een inbraak alarm systeem

Variabelen en statements in ActionScript

De Loconet switchswitch van Uhlenbrock

Seven segments of Pi

PROTEUS PEC 3250 Trainingsmonitor

OEFENINGEN PYTHON REEKS 1

Transcriptie:

De aansluitingen van de Arduino Uno Werkbladen voor Arduino workshop 1 Arduino Arduino is een open-source ontwikkelbord, waarmee het eenvoudig is om informatica aan fysieke objecten te koppelen. Je kunt er robots mee bouwen maar ook je antenne mee besturen. Je kunt hem prima inzetten in transceivers voor besturing. De Arduino is gemakkelijk te programmeren en er is veel software beschikbaar voor allerlei besturings zaken.

De Arduino programmeertaal void setup()... De code binnen de... wordt alleen aan het begin uitgevoerd. Dit is wanneer de Arduino gereset wordt. De praktijk: void setup() code code. void loop()... De code binnen de... wordt als een oneindige loop uitgevoerd. pinmode(pin, mode); Met pinmode definieer je een bepaalde pin(nummer) als in of uitgang. Mode kan INPUT of OUTPUT zijn. digitalwrite(pin, output); Hiermee bepaal je de digitale waarde van een bepaalde pin(nummer). Output kan HIGH of LOW zijn delay(time); Hiermee laat je het programma pauzeren, de tijd wordt aangegeven in milliseconden // commentaar. Wat je achter // op de regel schrijft wordt niet door het programma gebruikt 2

Oefening 1: De knipperende LED Note: weerstand mag ook 470 Ohm zijn void setup() pinmode(13, OUTPUT); void loop() digitalwrite(13, HIGH); delay(1000); digitalwrite(13, LOW); delay(1000); // pen 13 wordt een digitale uitgang // pen 13 wordt hoog; de led gaat branden // wacht 1000 milliseconden = 1 seconde // pen 13 wordt laag; de led gaat uit // wacht 1000 milliseconden 3

int x = 13; // declareer variabele 'x' als integer 13 Aan de integer variabele x wordt de waarde 13 toegekend. Integers zijn primaire datatypes om getallen te bewaren zonder een decimale punt, een 16-bit waarde met een bereik van 32767 tot -32768. Aanpassing van voorgaand programma: // LED knipperprogramma int ledpin = 13; // de integer variabele ledpin wordt 13 void setup() pinmode(ledpin, OUTPUT); // de pin ledpin wordt een digitale uitgang void loop() digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(500); // de pin ledpin wordt hoog; de led gaat branden // wacht 1 seconde // de pin ledpin wordt laag; de led gaat uit // wacht 0,5 seconde 4

Oefening 2: De drukknop Note: weerstand mag ook 470 Ohm zijn digitalwrite(inputpin, HIGH) Er wordt een pull-up (naar de plus 5 volt) weerstand geactiveerd waardoor deze inputpin HIGH wordt tenzij er een verbinding met de ground wordt gemaakt. digitalread(pin) Leest de digitale waarde van een digitale INPUT pin. (Geeft een booloan terug, HIGH,LOW of TRUE, FALSE of 1,0) if(condition)... else... Voert de code binnen de eerste haakjes uit wanneer wat tussen de ronde haakjes staat (condition) waar is, anders voert hij de code tussen na else uit. == Betekent is gelijk aan (niet te verwarren met de enkele = want die kent een variabele een waarde toe). 5

// Drukknop oefening // benoem de pin nummers: int dkpin = 12; // pin nummer voor de drukknop int ledpin = 13; // pin nummer voor de LED void setup() pinmode(dkpin, INPUT); pinmode(ledpin, OUTPUT); digitalwrite(dkpin, HIGH); void loop() if (digitalread(dkpin) == LOW) digitalwrite(ledpin, HIGH); else digitalwrite(ledpin, LOW); // initialiseer de drukknop pin als input // initialiseer de LED pin als output // activeer pull-up weerstand // controleer of drukknop is ingedrukt // zet LED aan // zet LED uit 6

Oefening 3: Toon opwekking Note: weerstand mag ook 470 Ohm zijn tone(pin, frequentie); Er word teen toon signal (50% duty cycle) op uitgang pin gegenereerd notone(pin); Stop de toon generatie op de uitgang pin 7

// Oefenprogramma toon generatie void setup() pinmode(7, OUTPUT); // initialiseer de LS pin als output void loop() tone(7,800); // toon van 800 Hz op pin 7 delay(500); // laat toon 500 ms aan notone(7); // schakel toon uit delay(1000); Gebruik maken van subroutines void dot() tone(7,800); delay(t); notone(7); delay(t); void dash() tone(7,800); delay(3 *t); notone(7); delay(t); // toon aan // toon t ms (dot) aan // schakel toon uit // symbool spatie // toon aan // toon 3 keer t ms (dash) aan // schakel toon uit // symbool spatie 8

//programma voor het seinen van de letter r (dot, dash, dot) // in dit programma worden subroutines gebruikt int t=200; // lengte van dot; sein snelheid void setup() pinmode(7, OUTPUT); // initialiseer de LS pin als output void dot() tone(7,800); delay(t); notone(7); delay(t); void dash() tone(7,800); delay(3 *t); notone(7); delay(t); // toon aan // toon t ms (dot) aan // schakel toon uit // symbool spatie // toon aan // toon 3 keer t ms (dash) aan // schakel toon uit // symbool spatie void loop() dot(); dash(); dot(); delay(1000); // roep subroutine dot aan // roep subroutine dash aan // roep subroutine dot aan Als het werkt verander dan de seinsnelheid door de variable t=100 te maken 9

Oefening 4: Het LCD 10

#include <LiquidCrystal.h> Het programma wordt geïnstrueerd om de functie LiquidCrystal.h uit de bibliotheek te gebruiken. Enkele instructies van deze bibliotheek: LiquidCrystal lcd(12, 11, 5, 4, 3, 2); LCD RS pin aan digital pin 12, LCD Enable pin aan digital pin 11, LCD D4 pin aan digital pin 5, LCD D5 pin aan digital pin 4, LCD D6 pin aan digital pin 3, LCD D7 pin aan digital pin 2 lcd.begin(16, 2); LCD heeft 16 posities per rij en 2 rijen lcd.setcursor(x, y); De cursor wordt op positie x van regel y gezet (bijvoorbeeld 0,0) lcd.print("tekst"); Vanaf de huidige cursor positie wordt het woord tekst op het LCD geschreven for(i=0;i<10;)... Deze code wordt gebruikt om bewerkingen te herhalen Het eerste stuk wordt aan het begin uitgevoerd (int i = 0). Wanneer het 2e stuk true is voert hij de code tussen de haakjes uit (i<10). i++; // i=i+1. 11

LCD aansluitingen LCD Functie Aansluiting voor LCD oefening 1 VSS 0 volt 0 volt 2 VDD 5 volt voeding 5 volt 3 VO contrast instelling Loper 10 k potmeter 4 RS Register Select Pen 12 Arduino 5 RW Read/Write 0 volt 6 E Enable Pen 11 Arduino 7 D0 data signaal 0 NC 8 D1 data signaal 1 NC 9 D2 data signaal 2 NC 10 D3 data signaal 2 NC 11 D4 data signaal 4 Pen 5 Arduino 12 D5 data signaal 5 Pen 4 Arduino 13 D6 data signaal 6 Pen 3 Arduino 14 D7 data signaal 6 Pen 2 Arduino 15 A LED verlichting + Via 470 ohm naar + 5 volt 16 K LED verlichting - 0 volt 12

#include <LiquidCrystal.h> // Programma LCD oefening int i=0; // LCD RS pin aan digital pin 12 // LCD Enable pin aan digital pin 11 // LCD R/W pin aan ground // LCD D4 pin aan digital pin 5 // LCD D5 pin aan digital pin 4 // LCD D6 pin aan digital pin 3 // LCD D7 pin aan digital pin 2 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() lcd.begin(16, 2); // LCD type 16 x 2 lcd.setcursor(0, 0); // zet cursor op positie 0 (vooraan) en rij 0 (eerste regel) lcd.print("hello, world!"); // schrijf hello, world op LCD void loop() for( i=0; i<10;) lcd.setcursor(0, 1); lcd.print(i); delay(1000); i++; // zet cursor op positie 0 (vooraan) en rij 1 (tweede regel) // schrijf de waarde van i op het LCD // wacht 1 sec // hoog i met 1 op 13

Huiswerk Note: weerstanden mogen ook 470 Ohm zijn Huiswerk oefening 1: Maak een verkeerslicht Dus eerst de rode LED aanzetten, laat deze LED 2 seconden branden, doof dan de rode LED, dan de gele LED aanzetten, enz Sluit de leds aan zoals in het plaatje is aangegeven, weerstandwaarden van 470 Ohm i.p.v 1 kilo-ohm zijn natuurlijk ook goed. Denk in je programma er aan dat de LEDs aan andere pennen aangesloten zijn dan bij de eerste knipper LED oefening. Als extra opdracht kan ook nog een Duits verkeerslicht gemaakt worden. 14

Huiswerk oefening 2: Maak een morse aanroep generator Deel 1: Laat de Arduino de volgende tekens seinen: CQ. Het seinen wordt gestart met de drukknop. Gebruik het schema van de drukknop oefening maar vervang de LED door een luidsprekertje en vervang de weerstand door een met de waarde 470 Ohm. Deel 2: Sein nu CQ de PI3ZLB driemaal achter elkaar met aan het einde het een k. Als er een toontje uit de luidspreker komt moet er ook een LED aangesloten op pin 13 gaan branden. Huiswerk oefening 3: Spelen met tekst en getallen op het LCD Deel 1: Maak een programma dat op het LCD op de tweede regel de tekst workshop schrijft en op de eerste regel in het midden een getal. Dit getal moet beginnen met 0 en automatisch met 1 ophogen. Als het getal 9 is wordt weer afgeteld tot 0 en daarna weer verhoogd tot 9 enz. Gebruik het schema als bij de LCD oefening. Deel 2: Dezelfde oefening, maar nu tellen tot 15 en dan weer omlaag tot 0 enz. Kijk goed wat je nu ziet op het LCD en probeer dat in orde te krijgen.. Extra oefening voor gevorderden 1: looplicht Maak een looplicht met tenminste 4 leds. Telkens 1 led aan en heen en weer, dus 1,2,3,4,3,2,1,2,3,4 enz. Extra oefening voor gevorderden 2: contact dender Vervolg op de drukknop oefening. De drukknop oefening moet nu als volgt werken: als je eenmaal op het knopje drukt gaat de led aan, druk je nu weer op het knopje dan gaat de led uit; enz. Opmerking: bij het openen en sluiten van het contact van het drukknopje treedt er contact dender op. Daar zal in het programma rekening mee moeten worden gehouden. Bedenk hier zelf een oplossing voor of zoek op het internet hoe anderen dit oplossen. 15