De Arduino-microcontroller in de motorvoertuigentechniek (7)

Maat: px
Weergave met pagina beginnen:

Download "De Arduino-microcontroller in de motorvoertuigentechniek (7)"

Transcriptie

1 De Arduino-microcontroller in de motorvoertuigentechniek (7) E. Gernaat (ISBN ) 1 Programma s en projecten 1.1 Oefenprogramma s 1.2 Programma 2 De nu volgende programma s zijn oefenprogramma s. Deze worden gevolgd door twee projectprogramma s. De programma s kunnen in een mapje training worden geplaatst en dat mapje moet dan in de Schetsboek-map van de Arduino worden gezet. Elk programma kan dan door de Arduino worden gecompileerd en geupload. De vragen onderaan het programma moeten worden uitgewerkt. Dit hoofdstuk geeft toelichting op elk programma. De programma-bestanden zijn op de Timloto-site te vinden. Program2.ino Het programma laat de led op de Arduino-Uno print knipperen. Op de print bevindt zich een kleine led die via de Arduino pin 13 (PB5) kan worden aangestuurd. 1. void setup() 2. { 3. pinmode(13,output); 4. } 5. void loop() 6. { 7. digitalwrite(13,high); // Led licht op 8. delay (500); // wacht 500 ms 9. digitalwrite(13,low); // Led dooft 10. delay (500); // wacht 500 ms 11. } Vragen en opgaven (zie toelichting) 1. Compileer en upload het programma. 1

2 2. Verander de knipperfrequentie zodanig dat het knipperen net niet meer met het blote oog te zien is. 3. Probeer nu eens een signaal te programmeren met een frequentie van 250 Hz. Sluit de oscilloscoop aan op pin 13 en de GND en meet het signaal. 4. Verander nu het signaal zodanig dat de led voor 75% uit is en voor 25% aan. Controleer dit met de oscilloscoop. 5. Verander nu de aan-uit tijd zodanig dat de led op ongeveer de halve lichtsterkte oplicht. Noteer de aan- uittijd voor een volgende opdracht Toelichting Omdat de uitgangspinnen diverse modes kennen, wordt in void setup() pin 13 als uitgangspin gedefiniëerd (regel 3). In regel 7 schrijven we een logische 1 (HIGH) naar pin 13. De led gaat dan aan. In regel 8 wachten we 500 ms waarna we de led weer uit zetten (LOW). In regel 10 wachten we weer 500 ms. Door de loop-functie beginnen we hierna weer met regel 7. De led gaat dus voortdurend aan en uit. Een delay in microseconden kan worden geprogrammeerd met de opdracht delaymicroseconds(). 1.3 Programma 3 Program3.ino Inlezen stand van een schakelaar. Het programma zet de led op de Arduino print aan of uit. De interne led is verbonden met pin 13. De schakelaar wordt verbonden met pin 2 (PD2) en de min (GND). De input-pin wordt in de pull-up mode gezet. // ruimte voor variabelen en constanten 1. byte schakelstand = 0; 2. void setup() 3. { 4. pinmode(2,input PULLUP); //configureer pin 2 met pull-up weerstand. 5. pinmode(13, OUTPUT); //configureer pin 13 als uitgangspin 6. } 7. void loop() 8. { 9. schakelstand=digitalread(2); //pin 2 wordt ingelezen. 10. if (schakelstand == HIGH) 11. { 12. digitalwrite(13,high); 13. } 14. else 15. { 16. digitalwrite(13,low); 2

3 17 } 18 } Vragen en opgaven (Zie toelichting) 1. Verklaar waarom het hier noodzakelijk is om de ingangspin 2 te configureren met de interne pull-up weerstand. 2. Hoe zouden we de schakelaar aan moeten sluiten wanneer we de interne pull-up niet activeren (pinmode(2,input)? Maak een tekening. 3. Wat is het maximale decimale getal dat een variabele byte kan bevatten? 4. Verander nu het programma zodanig dat de led wanneer deze geactiveerd wordt gaat knipperen. 5. Maak nu naar eigen inzicht een nieuw programma. Vervang de schakelaar door een drukschakelaar. Als het programma start, licht de led flauw op en als we de schakelaar indrukken licht de led op volle sterkte op (simulatie remlicht). Schrijf dit nieuwe programm weg onder naam Program3b Toelichting In fig. 7.1 zien we een stukje van het inwendige van de ATmega 328/P controller. De programmeur maakt met de INPUT PULLUP statement een FET actief waardoor de pull-up weerstand wordt ingeschakeld. We kunnen dan op eenvoudige wijze een schakelaar met de Arduino-pin en de min (GND) verbinden. Verder wordt in het programma een variabele van het type byte toegepast. Dit + 5V 1 pin 2 PD2 pinmode (2,INPUT_PULLUP) of pinmode(2,input) Figuur 1: We kunnen de ingqangspin zodanig configureren dat intern een pull-up weerstand wordt ingeschakeld. wil zeggen dat de controller één geheugenplaats van 8 bits (1 byte) reserveert. Deze geheugenplaats geven we de naam schakelstand en kennen vervolgens aan de geheugenplaats de waarde 0 toe (initialisatie). In regel 9 wordt de stand 3

4 van de schakelaar ingelezen en vervolgens wordt de schakelstand 0 of 1 opgeslagen in de variabele schakelstand. Nu moeten we afhankelijk van de schakelstand iets gaan beslissen. We gebruiken hiervoor een if..else statement. Als de schakelstand 1 is doe de led aan zo niet doe de led uit. In een flow-chart (stroomdiagram) ziet dit eruit als in fig schakelstand = 0 led aan ja schakelstand 1? nee led uit Figuur 2: Grafische voorstelling (stroomdiagram) van de if..else statement. 1.4 Programma 4 Program4.ino Het programma toont de PWM-mogelijkheden van de Arduino. De statement die gebruikt wordt om één van de PWM-pinnen aan te sturen is analogwrite. We gebruiken hier pin 10. Om het effect te zien sluiten we een led in serie met een 220 Ω weerstand aan op 5 V en pin 10. Dus plus-aansluiting led op 5 V en min aansluiting op pin 10. We maken gebruik van de for lus om de duty-cycle telkens met 1 stap te verhogen. 1. # define PWMpin 10 //geef aan pin 10 de naam PWMpin 2. void setup() 3. { 4. for (int i=0; i <= 255; i++) // hier wordt i gedefiniëerd als variable. 5. { 6. analogwrite(pwmpin,i); 7. delay(20); 8. } 9. } 10. void loop() // draait leeg 11. { 12. } Vragen en opgaven (zie toelichting) 1. Het programma bevindt zich in de void setup() functie. Om het programma nog een keer uit te voeren moeten we op de resetknop drukken. Waarom? 2. Sluit een oscilloscoop op pin 10 (met of zonder led) en meet het signaal. Verklaar waarom de led langzaam dooft. 4

5 3. Zet nu het programma in de void loop() functie. Wat gebeurt er nu? Verklaar dit. Gebruik de oscilloscoop. 4. Wat gebeurt er als we de delay-tijd veranderen? 5. Sluit nu de plus van de led aan op pin 10 en de min aan de GND. Wat gebeurt en nu en verklaar de verandering met behulp van het signaal. 6. Softwarematig zouden we ook het effect van de vorige vraag kunnen verkrijgen door de for lus te veranderen in: (int i=255; i>=0 ; i- -). Verklaar dit. 7. De stapgrootte kunnen we veranderen door bijv. van (i++) i=i+5 te maken. Op welke wijze verandert het programma? Toelichting Fig. 7.3 toont ons de aansluiting van de led op de Arduino-print. Regel 6 Ana- led USB 10 ~ ARDUINO UNO 14 1 ATmega 328/P 9V V A0 A1 A2 A3 A4 A5 Figuur 3: Aansluiting led op de Arduino-print logwrite suggereert dat er een analoge spanning op pin 10 komt te staan. Dit is echter niet het geval. Het is een aan-uit signaal waarbij we de duty-cycle in 256 (0-255) stappen kunnen variëren. Op de Arduino zijn de PWM-pinnen aangeduid met een teken. We bekijken het programma. In regel 1 geven we pin 10 met een # define een naam nl. PWMpin. Verder zien we in regel 3 t/m 8 dat het eigenlijke programma in de void setup() functie staat. Het wordt dus maar 1x uitgevoerd. In de analogwrite(pwmpin,i) opdracht in regel 6 wordt de waarde van de variable i naar de PWMpin gschreven. De waarde i wordt in de for-lus steeds met 1 verhoogd, te beginnen met 0 en eindigend bij 255. In de void setup functie wordt 256 x naar PWMpin geschreven, elke keer met een getal dat 1 groter wordt. Het programma eindigt wanneer i = 255 wordt bereikt. De for-lus of loop wordt in fig. 7.4 als een flowchart weergegeven. i++ 5

6 is hetzelfde als i=i+1. Willen we de stapgrootte veranderen dan kunnen we bijv. schrijven i=i+5. begin loop maak i = 0 for (int i=0 ; i<=255; i++) { doe iets; } i = i +1 i <=255? einde loop nee ja voer program uit Figuur 4: Grafische voorstelling (stroomdiagram) van de for-loop. 1.5 Programma 5 Program5.ino Het programma leest een drie-standen of wisselschakelaar in (op pin 7, 8 en de GND aangesloten, zie tekening) en laat de led op de print afhankelijk van de gekozen schakelstand snel of langzaam knipperen. De logische standen van de schakelaar zijn 00,01,10 of 11. Afhankelijk van de gekozen schakelstand kunnen we de led uitzetten of langzaam of snel laten knipperen. Eén stand zal normaal gesproken niet voorkomen. 1. void setup() 2. { 3. pinmode(7,input PULLUP); // pin 7 en 8 als input met een interne pull-up weerstand 4. pinmode(8,input PULLUP); 5. pinmode(13,output); //configureer pin 13 uitgangspin 6. } 7. void loop() 8. { 9. if (digitalread(7) == HIGH && digitalread(8) == LOW) 10. { 11. digitalwrite(13, HIGH); // led 13 knippert langzaam 12. delay (500); 13. digitalwrite(13,low); 14. delay (500); 15. } 16. else if (digitalread(7) == LOW && digitalread(8) == HIGH) 17. { 6

7 18. digitalwrite(13, HIGH); //led 13 knippert snel 19. delay (100); 20. digitalwrite(13,low); 21. delay (100); 22. } 23. else if (digitalread(7) == HIGH && digitalread(8) == HIGH) 24. { 25. digitalwrite(13,low); //led uit 26. } 27. else if (digitalread(7) == LOW && digitalread(8) == LOW) 28. { 29. digitalwrite(13,low); //led uit of storing? 30. } 31. } Vragen en opgaven (zie toelichting) 1. Er wordt hier gebruik gemaakt van de logische EN (&&). Behalve EN kennen we ook nog..? 2. Teken nu eens de drie-standen schakelaar aangesloten op de Arduino print. 3. Hoe is de spanning op de pin-ingangen 7 en 8 wanneer de led uit is? 4. Wanneer zou de spanning op beide pin-ingangen 0 V kunnen bedragen? 5. Maak nu een waarheidstabel van de schakelaar op de Arduino. 6. Sluit nu zelf een tweede led aan op pin 9 en de GND (Denk om de pinmode) en simuleer een richtingaanwijzer. Pas dus het programma zelf aan en sla dit programma op onder de naam Program5b. Na behandeling van de LCD wordt dit programma gebruikt om ook de foutcode/storing weer te geven Toelichting Er wordt hier gebruik gemaakt van de if..else if statement. De twee pinnen van de schakelaar worden ingelezen en met elkaar vergeleken. Als pin 7 LAAG is EN pin 8 HOOG doe dan...als PIN 7 HOOG is EN pin 8 LAAG is doe dan... Zo worden alle digitale variaties op de ingangspinnen bekeken. De programmeur bepaalt vervolgens wat er moet gebeuren. Zie regelnummer 9, 16, 23 en 27 en fig Er is sprake van een bijzondere situatie wanneer de controller 00 inleest. Deze toestand kan alleen maar voorkomen wanneer er sprake is van massasluiting. In dat geval is er een storing. We zetten de led dan uit en we gaan in een volgende opdracht bekijken of we in deze situatie een storingscode naar een LCD-scherm kunnen schrijven. 7

8 5V pin 7 pin ? led rechts aan led links aan leds uit Figuur 5: Aanluiting en waarheidstabel van de de driestandenschakelaar 5V 1.6 Programma 6 Program6.ino Een LCD-schermpje wordt aangesloten op de Arduino UNO en tekst wordt naar de LCD geschreven. Het 16 x 2 LCD-aansluitingcircuit: LCD RS pin naar digital pin 12 LCD E(nable) pin naar digital pin 11 LCD D4 pin naar digital pin 5 LCD D5 pin naar digital pin 4 LCD D6 pin naar digital pin 3 LCD D7 pin naar digital pin 2 LCD R/W pin naar min (GND) LCD VSS pin naar min (GND) LCD VDD pin naar 5V LCD K naar min (GND) loper 10k potmeter naar LCD VO (pin 3) (helderheid display) Andere twee sluitingen potmeter +5V en GND LCD A via R=220 Ω naar + 5V Min(nen) op LCD scherm kunnen worden doorverbonden 1. # include <LiquidCrystal.h> // include file als library (h=header) 2. // initialiseer de library met de nummers van de Arduino pinnen 3. LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 8

9 4. void setup() 5. { 6. lcd.begin(16, 2); // 16 kolommen en 2 rijen 7. lcd.clear(); // wis tekens LCD 8. lcd.setcursor (0,0); //zet lettertekens op LCD 9. lcd.print( Foutcode ); 10. lcd.setcursor (9,0); // zet lettertekens op LCD 11. lcd.print( P000 ); 12. lcd.setcursor (0,1); // zet lettertekens op LCD 13. lcd.print( Massa-sluiting ); 14. } 15. void loop() 16. { 17. } Vragen en opgaven (zie toelichting) 1. Sluit de LCD aan op de Arduino print. Gebruik hiervoor de speciale kabeltjes. 2. Zet nu -als oefening- bijv. je eigen naam en woonplaats op de LCD. 3. Combineer nu dit programma met Program5b (richtingaanwijzer) en wel zo dat op de lcd links, rechts en uit komt te staan wanneer het geheel correct werkt en dat de LCD de foutcode weergeeft wanneer beide pinnen aan de GND worden gelegd. Schrijf dit programma weg onder Program6b Toelichting De introductie-tekst van het programma geeft de aansluiting van het 16 x 2 LCD-scherm weer. 16 x 2 betekent 2 regels en 16 tekens per regel. De regels en tekens beginnen te tellen met 0. Afbeelding fig. 7.6 laat de aansluiting van de LCD op de Arduino zien. Omdat we een aantal min- en plus aansluitingen nodig hebben kunnen we een aantal doorverbindingen op de LCD maken. De verlichting en het contrast van het LCD-scherm kan met een potentiometer worden ingesteld. Om de LCD softwarematig aan te sturen maken we gebruik van de LiquidCrystal library (regel 1). Zo n library bevat functies die we kunnen gebruiken om de LCD aan te sturen; lcd.print() is bijv. zo n functie. In regel 3 moet worden verteld hoe we de LCD hebben aangesloten. Het eigenlijke programma wordt éénmalig uitgevoerd in het void setup() gedeelte. Regel 4 t/m 14. We vertellen eerst in regel 6 dat we met een 16 x 2 display te maken hebben (ook een 16 x 4 LCD is verkrijgbaar), wissen eventuele tekens (regel 7) en bepalen vervolgens de positie op de display (regel 8) en schrijven daar tekst naar toe (regel 9). We geven d.m.v. dubbele aanhalingstekens aan dat we met tekst te maken hebben en niet met een variabele. De hoofdfunctie void loop () blijft leeg. 9

10 220 LCD aansluiting x 2 LCD = Vss 2= VDD 3= V0 4= RS 5 = RW 6= E 7= D0 8= D1 9= D2 10= D3 11= D4 12= D5 13= D6 14= D7 15 = A 16 = K helderheid 10k USB ISP GND ARDUINO UNO ISP ATmega 328/P V 5VGND A0 A1 A2 A3 A4 A5 Voor extra min of plus (5V) kunnen ook de ISP pinnen worden gebruikt. D4 D5 D6 D7 RS E aansluitdraadjes met label Figuur 6: Aansluiting LCD-scherm op de ArduinoUno. Om het aantal aansluitingen op de Arduino te verminderen hebben we plussen en minnen al op de LCD doorverbinden (gesoldeerd). Verder hebben we de speciale aansluitkabeltjes van een label voorzien om het aansluiten gemakkelijker te maken. De plus(sen) en de min(nnen) sluiten we aan op de ISP-aansluitingen. We houden dan de overige voedingspinnen vrij voor componenten die we aan moeten sluiten bij de andere opdrachten. 10

11 1.7 Programma 7 Program7.ino De LCD is aangesloten op de Arduino zodat informatie naar de LCD kan worden geschreven. Het programma laat zien op welke wijze variabelen naar de LCD kunnen worden gestuurd en op welke wijze ze kunnen worden weergegeven (decimaal, binair of hexadecimaal). 1. # include <LiquidCrystal.h> // include file als library 2. LiquidCrystal lcd(12,11,5,4,3,2); //geef gebruikte pinnummers op 3. int getal=178; //initiëer de variabele 4. void setup() 5. { 6. lcd.begin(16, 2); //LCD met 16 kolommen en 2 rijen 7. } 8. void loop() 9. { 10. lcd.clear(); 11. lcd.setcursor(0, 0); 12. lcd.print(getal,dec); // geeft decimaal de variabele getal weer 13. lcd.setcursor(5, 0); // geeft binair 178d weer 14. lcd.print(getal,bin); 15. lcd.setcursor(0, 1); // geeft hexadecimaal 178d weer 16. lcd.print(getal,hex); 17. lcd.setcursor(5, 1); // geeft 2 decimalen weer 18. lcd.print( ,2); 19. } Vragen en opgaven (Zie toelichting) 1. Sluit de LCD aan op de Arduino print 2. Verander het getal naar eigen inzicht en verklaar het resultaat. 3. Maak een programma met behulp van een for lus en wel zodanig dat er decimaal van 0 t/m 15 geteld wordt. Laat op de LCD de decimale, de binaire en de hexadecimale code zien. Schrijf het programma weg onder Program7b Toelichting Aan het begin van het programma (regel 3) wordt aan de variabele getal het decimale getal 178 toegewezen. Dit is een willekeurig getal. In regel 10 t/m 11

12 15 wordt dit getal decimaal, binair en hexadecimaal op de LCD weergegeven. Regel 18 laat zien hoe we de cijfers achter de komma van een getal kunnen beperken. De 2 achter geeft aan dat we het getal met een nauwkeurigheid van 2 decimalen willen weergeven. Let op: voor een komma gebruiken de Engelstalige landen een punt en omgekeerd. Dit kan soms verwarrend zijn. 1.8 Programma 8 Program8.ino De loper van een 10k lineaire potmeter wordt aangesloten op pin A0 van de Arduino. De andere potmeter-aansluitingen op +5V en de min (GND). De analoge spanning van de potmeter-uitgang wordt decimaal, binair en hexadecimaal op de LCD weergegeven. De AD-omzetter op de Arduino is 10 bits, maar we kunnen deze ook als 8-bits weergegeven. De LCD is aangesloten op de Arduino en tekst kan naar de LCD worden geschreven. 1. # include <LiquidCrystal.h> // include file als library 2. # define analoginpin A0 //geef pin A0 een naam 3. LiquidCrystal lcd(12,11,5,4,3,2); //initialiseer pinnummers 4. int PotmeterValue=0; 5. int PotmeterValue2=0; 6. void setup() 7. { 8. lcd.begin(16, 2); //Rijen en kolommen van de gebruikte LCD 9. } 10. void loop() 11. { 12. PotmeterValue = analogread(analoginpin); // in 10 bits ADC 13. delay(5); 14. PotmeterValue2 = map(potmetervalue,0,1023,0,255); //out 8 bits ADC 15. lcd.setcursor(0,0); verwijder eerdere tekens 16. lcd.print( ); aantal spaties tussen en is aantal tekens 17. lcd.setcursor(0, 0); 18. lcd.print(potmetervalue2,dec); 19. lcd.setcursor(5,0); verwijder eerdere tekens 20. lcd.print( ); aantal spaties tussen en is aantal tekens 21. lcd.setcursor(5, 0); 22. lcd.print(potmetervalue2,bin); 23. lcd.setcursor(0,1); verwijder eerdere tekens 24. lcd.print( ); aantal spaties tussen en is aantal tekens 12

13 25. lcd.setcursor(0, 1); 26. lcd.print(potmetervalue2,hex); 27. } Vragen en opgaven (zie toelichting) 1. Sluit de LCD aan op de Arduino print en upload het programma. 2. In eerste instantie wordt de analoge spanning van de potmeter weergeven als 8-bits. 3. Draai aan de potmeter en bestudeer het resultaat. Let vooral op het verloop van de binaire waarde. Valt daar iets op aan te merken? 4. Geef nu de variable PotmeterValue (i.p.v. PotmeterValue2) weer op de LCD. 5. Uit hoeveel bits bestaat nu de binaire weergave en waarom? 6. Wat is de resolutie (kleinste meetvariatie) van een 8 bits A/D omzetter bij een spanning van 5V? 7. Wat is nu de resolutie van een 10 bits A/D omzetter bij een spanning van 5V? Toelichting In het programma worden voor de weergave eerst de tekens op de LCD gewist. Dit gebeurt door een lege tekststring in de lcd.print() statement te zetten. Omdat we meerdere karakters moeten wissen gebruiken we een aantal spaties tussen en dat overeenkomt met het aantal te wissen tekens. Vooral bij lage spanningen spelen binnenkomende storingen een grote rol. In de techniek worden analoog binnenkomende storingen ook altijd ontstoord. Behalve dat de ingaande draad afgeschermd wordt, wordt er meestal ook een laag doorlaatfilter toegepast. Dit filter bestaat uit een weerstand en een condensator. Hoog frequente storingssignalen worden door de condensator naar de massa (GND) afgevoerd. Zie fig In regelnummer 12 wordt de spanning van de analoge pin ingelezen en de digitale waarde hiervan weggeschreven in de variable PotmeterValue. Dit is een 10-bits waarde. Om deze waarde om te zetten naar een 8-bits wordt de functie in regel 14 gebruikt. Deze typische Arduino-C functie zet de getallenreeks van om in een getallenreeks tussen 0 en 255. Elke waarde wordt dan bijv. door 4 gedeeld en in een nieuwe map opgeslagen. De nauwkeurigheid van de omzetting wordt de resolutie genoemd. In een 8 bits A/D-omzetter vindt de spanningverhoging plaats in stapjes van 5V/256=0,02V. In een 10-bits omzetter zijn de stapjes 5V/1024=0,005V. In de overige programmaregels wordt - na het wissen- de uitgelezen waarde op display weergegeven. AD-omzetters hebben tijd nodig voor de omzetting. In veel programma s treft met een korte delay() functie aan. Zie regel

14 Arduino 1k +5V A0 10bits ADC Controller Afscherming Potmeter 10K 1nF Filter 1uF GND Figuur 7: Ontstoring van de analoge ingangsspanning. 1.9 Programma 9 Program9.ino Krukassignaal simulator, simuleert een 36-1 puls. Signal output-pin 10. De loper van de 10k lineaire potmeter wordt aangesloten op analoge pin A0. Met de potmeter kan het toerental worden ingesteld. Toerental instelbaar tussen 375 en 6000 t/min. 1. # define PULSE PIN void setup() 3. { 4. pinmode(pulse PIN, OUTPUT); // maak digitale output 5. } 6. void triggerhigh(int tijdsduur) // variabele toerental wordt var. tijdsduur 7. { 8. digitalwrite(pulse PIN, HIGH); 9. delaymicroseconds(tijdsduur); 10. digitalwrite(pulse PIN, LOW); 11. delaymicroseconds(tijdsduur); 12. } 13. // Simuleert een 36-1 krukas-pulswiel en past toerental aan 14. void loop() 15. { 14

15 16. int toerental=analogread(0); //lees potmeter op A0 in 17. toerental = map(toerental, 0, 1023, 135, 2500); 18. for(int i = 0; i <= 34; i++) // van 0 tot en met 34 zijn 35 pulsen 19. { 20. triggerhigh(toerental); // eindigt met puls laag 21. } 22. delaymicroseconds(toerental); // verleng de laatste laagpuls 23. } Vragen en opgaven (zie toelichting) 1. Wat is naam van de gemaakte functie die kan worden aangeroepen? 2. Meet met behulp van een oscilloscoop het signaal op pin 10. Bekijk de ontbrekende puls. 3. Bepaal het motortoerental met behup van het oscilloscoopbeeld. 4. Is het inlezen van de potmeter van invloed op het signaal? 5. Verander het signaal in een 60-2 puls en controleer dat met behulp van de oscilloscoop. Schrijf dit programma weg onder de naam Program9a Toelichting Dit programma is wat fraaier geprogrammeerd. Op de eerste regel wordt weer gebruik gemaakt van de define opdracht. Deze opdracht vervangt in het programma (pin) 10 voor PULSE PIN. Regel 4 zet de PULS PIN op OUTPUT. Verder wordt er gebruik gemaakt van een zelfgemaakte (user defined) functie. Regel 6 t/m 12. Deze functie heeft de naam gekregen van triggerhigh. Zo n functie kan worden aangeroepen en uitgevoerd vanuit de hoofdfunctie void loop(). In de loop-functie staat niets tussens de haakjes (), met andere woorden de loopfunctie verwacht geen input. De eigen functie triggerhigh heeft een variabele tijdsduur nodig om te kunnen worden uitgevoerd. Als de functie wordt uitgevoerd ontstaat er een puls met de ingevoerde tijdsduur. Zie fig Wanneer triggerhigh funtie (tijdsduur) In functie loop () x 35 verleng laagtijd 1x laatste Figuur 8: De puls die wordt gegenereerd door de functie triggerhigh. 15

16 we nu naar de hoofdfunctie void loop() kijken, regel 14 t/m 23 dan zien we dat eerst de stand van de potmeter (=simulatie toerental) wordt ingelezen. De variabele toerental is een variabele van het type integer en reserveert 4 bytes. De analoge spanning is een maat voor het toerental en is in eerste instantie 10 bits breed. Deze waarde moet omgezet worden in een tijd die een toerental van 375 tot 6000 t/min mogelijk maakt. Dit wordt gedaan door de al eerder gebruikte map functie op regel 17. In de deze regel zien we dat de gedigitaliseerde waarde van de potmeter (0 tot 1023) evenredig omgezet wordt in 135 tot Dit is proefondervindelijk bepaald. De waarden van de potmeter variëren dus tussen de 135 en 2500 en stellen dan de tijd in ms voor. Deze tijd (afhankelijk van de stand van de potmeter) wordt aan de functie triggerhigh doorgegeven met de aanroep triggerhigh (toerental) in regel 20. De variabele toerental wordt in de functie omgezet naar de variabele tijdsduur. De for-lus zorgt er voor dat de functie 35x wordt aangeroepen. Is dat gebeurd dan zitten we dus op puls 35. Door de laagtijd van de laatste puls te verlengen ontstaat de ontbrekende tand. Dit vindt plaats in regel 22. Hierna wordt de potmeter weer ingelezen en herhaald het proces zich. Wanneer we nu de oscilloscoop aansluiten op pin 10 en de GND ontstaat een puls overeenkomstig fig.7.9. Figuur 9: Het 36-1 (krukas)simulatiesignaal op de oscilloscoop 1.10 Programma 10 Program10.ino Het programma leest een hoge en/of een lage puls uit welke aangeboden wordt op pin 10. Sluit hiervoor een functiegenerator aan op pin 10 en de GND. Stel de frequentie in op 1 khz en variëer deze. De pulsein() functie leest het niveau hoog of laag van de aangewezen pin uit en de controller begint te tellen zodra het niveau verandert. Verandert het niveau weer dan stopt het tellen. Het telresultaat wordt naar het scherm geschreven. Selecteer hiervoor Seriële monitor in Hulpmiddelen in de Arduino IDE. 1. # define PWM PIN 10 16

17 2. unsigned int PWMValueHigh; 3. unsigned int PWMValueLow; 4. void setup() 5. { 6. pinmode(pwm PIN, INPUT); 7. Serial.begin(9600); 8. } 9. void loop() 10. { 11. PWMValueHigh = pulsein(pwm PIN, HIGH); 12. Serial.println(PWMValueHigh); 13. PWMValueLow = pulsein(pwm PIN, LOW); 14. Serial.println(PWMValueLow); 15. Serial.println(); // sla regel over 16. delay (500); 17. } Vragen en opgaven (Zie ook toelichting) 1. Bij een duty-cyle van 50% is de periodetijd 2x PWMValue. Klopt dit? 2. Worden de gemeten getallen groter of kleiner bij het oplopen van de frequentie? Verklaar het antwoord. 3. Op welke wijze kunnen we nu de duty-cycle bepalen van een puls? 4. Maak nu een programma dat de duty-cycle weergeeft en schrijf dit weg onder de naam Program10-b. 5. Maak een programma dat het motortoerental op het scherm zet. Ga uit van een 36(-1) krukas-pulswiel. Schrijf dit programma weg onder de naam Program10-c. 6. Schrijf nu het toerental naar de LCD i.p.v. het scherm. Schrijf het programma weg onder de naam Program10-d Toelichting De relatie tussen periodetijd en frequentie (toerental) is: frequentie(hz) = 1 s / periodetijd(s). We hebben deze formule nodig om de pulstijd om te rekenen naar het motortoerental. In dit programma schrijven we de variabelen naar het scherm of console. Dit gebeurt seriëel via de USB-poort. Het openen van de seriële poort en de communicatiesnelheid (baudrate) worden in regel 7 ingesteld. De baudrate is ingesteld op 9600 bits/s. De variabelen zijn van het type unsigned int. 17

18 Het betreft dan uitsluitend positieve getallen tot een grootte van Regel 2 en 3. Hebben we een groter getal nodig dan kunnnen we gebruik maken van een unsigned long int. In regel 12 en 14 worden de variabelen PWMValue- High en Low seriëel naar de console verstuurd. In regel 11 en 13 wordt met de pulsin-functie de tijdsduur van de hoge en lage puls vastgesteld en toegekend aan de twee variabelen. In regel 15 wordt voor een betere leesbaarheid één regel op het scherm overgeslagen. Een delay () in regel 16 maakt het resultaat beter leesbaar. De Seriële monitor maakt het debuggen van een programma ook gemakkelijker. We kunnen immers op deze manier elke variabele in een programma bekijken. 2 Projecten 2.1 Project1, temperatuurmeter In dit project sluiten we twee temperatuur-sensoren aan op de Arduino-UNO. We kunnen dan op twee plaatsen de temperatuur inlezen. Dit zou nuttig kunnen zijn om bijv. de oververhitting en nakoeling van een airco-installatie met elkaar te kunnen vergelijken. We maken gebruik van een LM35 temperatuursensor. De aansluiting is volgens fig Het vervelende is dat de LM35 + 5V Vuit GND onderzijde Figuur 10: De aansluitpinnen van de LM35 vanaf de onderzijde bekeken. LM35 een spanning levert tussen de 0 en 1V oplopend met 10 mv/ 0 C. 1V komt dan overeen met 1000mV/10mV = C. De AD-omzetter gebruikt 5V als de hoogst mogelijke spanningswaarde. 1V komt dan overeen met 1/5 x 1024 = als uitkomst van de AD omzetter is dan gelijk aan C. Elke stap is dan /205 = 0,5 0 (afgerond). In formule vorm wordt dit dan: temp=(5.0*analogread(temppin) * 100.0) /1024 Probeer maar uit door voor temppin 205 in te vullen. De temperatuur wordt dan C. Aan deze lage resolutie is echter wel wat te doen. Er is nl. een interne referentie-spanning van 1,1 V ingebouwd. Dat houdt dan in dat de AD-omzetter 1,1 V verdeelt in 1024 stappen. Elke stap is dan 1,1 V / 1024 = 0,001 V = 1 mv (afgerond). Dat is dan gelijk aan ongeveer 0,1 0 C. 5x zo gunstig dus. We bekijken het programma. Project1Temp.ino 18

19 16x2 LCD display met 16-pins interface is met de Arduino verbonden. Aangesloten zijn twee LM35 temperatuur sensoren om (bijv.) te gebruiken op een airco-installatie. 1. # include < LiquidCrystal.h > 2. # define sensorpin 0 // temp. sensor op analoge input A0 3. # define sensorpina 1 // temp.sensor op analoge input A1 4. LiquidCrystal lcd(12, 11, 5, 4, 3, 2); //Toegewezen pinnen LCD 5. void setup() 6. { 7. lcd.begin(16, 2); // Aantal kolommen en rijen LCD 8. lcd.setcursor (0,0); //zet vaste lettertekens op LCD 9. lcd.print( Temp.1 ); 10. lcd.setcursor (9,0); 11. lcd.print( Temp.2 ); 12. lcd.setcursor (5,1); 13. lcd.print ( C ); 14. lcd.setcursor (14,1); 15. lcd.print ( C ); 16. lcd.setcursor(4,1); 17. lcd.print ((char)223); //print gradensymbool 18. lcd.setcursor(13,1); 19. lcd.print((char)223); // print gradensymbool 20. analogreference(internal); 21. } 22. void loop() 23. { 24. float temp = (1.1 * analogread(sensorpin)*100.0) / ; 25. float tempa = (1.1 * analogread(sensorpina)*100.0) / ; 26. lcd.setcursor(0,1); // set the cursor to column 0, line lcd.print (temp,1); 19

20 28. lcd.setcursor(9,1); 29. lcd.print (tempa,1); //rond af op 1 decimaal 30. delay (200); //wordt iets stabiler 31. } Vragen en opgaven (Zie ook de toelichting) Het betreft hier een project. Stapsgewijze: 1. Sluit de LCD zodanig aan dat deze ingebouwd kan worden. 2. Upload het programma en controleer of het correct functioneert. 3. Bekijk of het noodzakelijk is om de temperatuur-sensoren te ontstoren. 4. Bouw het geheel in een kastje en en sluit de temperatuursensoren aan op een airco-installatie en zie of het geheel werkt Toelichting De meeste zaken in het programma zijn allemaal reeds beschreven. Het graden symbool (een vierkant blokje) is een ascii-code met nummer 223. Regel 17 en 19. Regel 20 activeert softwarematig de interne AD-referentiespanning en de temperatuur wordt berekend in regel 24 en 25. We werken hier met een variabele van het type float. Datatypes van het type float hebben 6 tot zeven cijfers achter de komma. Zij worden opgeslagen als 4 bytes informatie. We kunnen hier uitrekenen dat we tot C kunnen meten. Wanneer het noodzakelijk is om de temperatuursensor te ontstoren dan kunnen we gebruik maken van het schema in fig mV/graad C +5V LM Ohm 1uF GND Figuur 11: Ontstoring LM35 temperatuursensor. Info: datasheet LM Project2, PWM-generator Het tweede project is een PWM-generator. Met een potmeter op ingang A0 zal op de analoge uitgang van pin 9 een PWM-bloksignaal staan waarvan de duty-cycle tussen de 0 en 100% instelbaar is. De duty cycle wordt op de LCD in procenten weergegeven. We gaan uit dat het lage gedeelte van het signaal actief moet zijn. Het PWM-signaal loopt in 255 stappen van 0 naar 100%. Nu zal de uitgangpin 9 niet in staat zijn om veel meer dan een aantal ma te leveren. Willen we dus bijv. een stationairklep van een motor aansturen dan zal 20

21 pin 9 op een driver IC moeten worden aangesloten. Wel moeten we er rekening mee houden dat het signaal dan geïnverteerd wordt. Hier komt het programma. Program Project2PWMout.ino Leest de analoge input van een potmeter op pin A0 in en zet het resulaat om in een range van 0 to 255. Deze waarde wordt naar de analoge pin 9 geschreven waardoor een PWM-signaal wordt gegenereerd van 0 naar 100 % in 255 stappen. Deze PWM-waarde wordt ook naar de LCD geschreven. De loper van een 10k lineaire potentiometer wordt verbonden met de analoge pin A0. De andere twee aansluitingen van de potentiometer gaan naar +5V en de min (GND). De oscilloscoop kunnen we aansluiten tussen de PWM-pin 9 en de min (GND). De signalfrequentie is ongeveer 500 Hz. Aansluiting van de 16 x 2 LCD zoals eerder beschreven. 1. # include < LiquidCrystal.h > 2. LiquidCrystal lcd(12, 11, 5, 4, 3, 2); // Toegewezen pinnen 3. #define analoginpin A0 // Analoog input pin voor potentiometer 4. #define analogoutpin 9 // PWM output pin 5. int sensorvalue; // waarde gelezen van de potmeter 6. int outputvalue; // waarde output naar analoog uit 7. int outputpwm; // variabele om duty-cycle op LCD weer te geven 9. void setup() 10. { 11. lcd.begin(16, 2); //LCD aantal kolommen en rijen 12. lcd.setcursor (0,0); //zet vaste lettertekens op LCD 13. lcd.print( Duty-Cycle ); 14. lcd.setcursor (15,0); //zet vaste lettertekens op LCD 15. lcd.print( % ); 16. lcd.setcursor (0,1); //zet vaste lettertekens op LCD 17. lcd.print( laag actief ); 18. } 19. void loop() 20. { 21. sensorvalue = analogread(analoginpin); 22. outputvalue = map(sensorvalue, 0, 1023, 0, 255); 23. outputpwm = map(sensorvalue, 0, 1023, 0, 100); 24. analogwrite(analogoutpin, outputvalue); 25. lcd.setcursor (12,0); //wis pwm-getal 21

22 26. lcd.print(); aantal spaties is aantal tekens 27. lcd.setcursor (12,0); //PWM 0-100% naar LCD 28. lcd.print(outputpwm); 29. delay (50); voor stabielere uitlezing 30. } Vragen en opgaven (zie toelichting) 1. Sluit de LCD aan en compileer en upload het programma. Draai aan de potmeter en controleer de LCD aanwijzing. 2. Er wordt in het programma 2 x de map functie gebruikt. Waarom? 3. Sluit een oscilloscoop aan op pin 9 en de GND en controleer het uitgaande signaal door aan de potmeter te draaien. 4. Bepaal met de oscilloscoop de frequentie van het signaal. 5. Sluit nu een driver aan op de uitgang 9 en maak gebruik van een kastje om het geheel in te bouwen. 6. Geef een aantal autotechnische voorbeelden van het gebruik van deze tester Toelichting De aansluitingen van de componenten op de Arduino laat fig zien. In Duty Cycle 0 99% Laag actief oscilloscoop USB GND ~ 255 stappen ARDUINO UNO 14 1 ATmega 328/P 9V V GND A0 A1 A2 A3 A4 A5 10k Figuur 12: De aansluiting van de potmeter op de A0-ingang en de oscilloscoop op uitgang pin 9. GND de void loop() functie wordt in regel 21 de potmeter ingelezen. Deze waarde zal van 0 tot 1023 lopen. Aangezien de variabele voor het PWM-signaal van het analogwrite statement (regel 24) van 0 tot 255 loopt wordt de range van teruggebracht naar (regel 22). Nu moet de waarde op de LCD 22

23 variëren tussen de 0 en maximaal 100% zodat we op regel 23 opnieuw de range aanpassen en wel van 0 tot en met Interfacing Aanpassing van in- en uitgaande processorsignalen wordt meestal interfacing genoemd. In dit project willen het PWM-signaal gaan gebruiken om bijv. een magneetklep, een lamp of een motor aan te sturen. Het uitgaande signaal van de Arduino moet dan worden versterkt. Hiervoor kunnen we een transistor of een FET gebruiken. Onze keuze valt hier op de IRL3705N, een MOSFET IC dat een stroom van zo n 90 A aan kan. De wat lichtere 18A IRF640 voldoet echter ook prima. De spanning over de drain-source mag maximaal 200 V bedragen. Een vrijloop-diode om de inductiespanning te elimineren is in hoge mate wenselijk. Een andere eindtrap kan natuurlijk ook worden gebruikt. De ontstekingsdriver zoals de BIP373 van Bosch die voor de MegaSquirt computer wordt gebruikt voldoet ook uitstekend. Hij is wat duurder maar heeft als voordeel dat hij niet alleen rechtstreeks op de Arduino kan worden aangesloten maar ook beveiligd is tegen te hoge inductie-spanningen. Het schema van deze interfaceschakeling toont ons fig Op de twee zwart gekleurde connectoren kunnen we -in dit voorbeeld- de stationaire PWM-klep aansluiten. Min-aansluitingen van diverse spanningsbronnen moeten altijd worden doorverbonden. D G S IRF640 of IRL3705N voeding G D S +12V min IRF640 IRL3705N pin k G D S PWM klep GND interface met MOSFET driver Figuur 13: De interface-schakeling voor het uitgaande PWM-signaal. Het aanbrengen van de hier getekende vrijloopdiode over de PWM-klep moet zeker worden overwogen. 23

De Arduino-microcontroller in de motorvoertuigentechniek (6)

De Arduino-microcontroller in de motorvoertuigentechniek (6) De Arduino-microcontroller in de motorvoertuigentechniek (6) E. Gernaat (ISBN 978-90-79302-11-6) 1 De Arduino Programmeeromgeving (IDE) 1.1 Inleiding Als we naar de Arduino site gaan kunnen we daar de

Nadere informatie

Werkbladen voor Arduino workshop 1

Werkbladen voor Arduino workshop 1 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

Nadere informatie

Arduino Workshop 1 Zuid-Limburg

Arduino Workshop 1 Zuid-Limburg Arduino Workshop 1 Zuid-Limburg Leren door doen Mei 2016 - slides voor Arduino workshop 1 v2.5 Zuid-Limburg PA3CZS, PA0FOT, ON4CDU, PE1EAM 1 Workshop 1 Workshop 1 concentreert op kennismaking en eenvoudige

Nadere informatie

RCL Arduino Workshop 1

RCL Arduino Workshop 1 RCL Arduino Workshop 1 Leren door doen april 2015 - slides voor RCL Arduino workshop 1 ON4CDU & ON8VQ Workshop Leren door doen Werken in een groep Beperkte tijd Alleen essentiele vragen stellen Thuis oefenen

Nadere informatie

In- en uitgangssignalen van microprocessoren

In- en uitgangssignalen van microprocessoren In- en uitgangssignalen van microprocessoren E. Gernaat 1 Overzicht signalen Informatie van en naar een microprocessor kan parallel of seriëel gebeuren. Bij parallel-overdracht zal elke lijn (draad) een

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (3)

De Arduino-microcontroller in de motorvoertuigentechniek (3) De Arduino-microcontroller in de motorvoertuigentechniek (3) E. Gernaat (ISBN 978-90-79302-11-6) 1 In- en uitgangssignalen van microprocessoren 1.1 Overzicht signalen Informatie van en naar een microprocessor

Nadere informatie

Tweede workshop Arduino

Tweede workshop Arduino Tweede workshop Arduino In deze workshop zal veel gewerkt worden met voorbeelden die meegeleverd worden met de Arduino IDE. Deze zijn te vinden onder het menu File >Examples. Oefening 1 - Seriële communicatie

Nadere informatie

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3) De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (3) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012

Nadere informatie

Oefening 1 - Seriële communicatie via USB

Oefening 1 - Seriële communicatie via USB Werkbladen voor Arduino workshop 2 In deze workshop zal gewerkt worden met de voorbeelden die meegeleverd worden met de Arduino IDE. Deze zijn te vinden onder het menu Bestand->Voorbeelden. Oefening 1

Nadere informatie

Workshop Arduino voor beginners deel 2

Workshop Arduino voor beginners deel 2 Workshop Arduino voor beginners deel 2 Voor deze workshop is het van belang dat je deel 1 van de workshop hebt afgerond. In deze workshop zitten meerdere opdrachten die elkaar niet allemaal op hoeven te

Nadere informatie

Arduino CURSUS. door Willy - 09-juni-2017

Arduino CURSUS. door Willy - 09-juni-2017 Arduino CURSUS door Willy - w2@skynet.be, 09-juni-2017 OVERZICHT (1) OVERZICHT (2) Historiek Microcontroller (1) Microcontroller (2) Specificaties - Arduino UNO bord Specificaties - ATmega328P chip LET

Nadere informatie

Programmeren met Arduino-software

Programmeren met Arduino-software 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

Nadere informatie

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015 1 MAKERKLAS WORKSHOP ARDUINO Maandag 7 december 2015 2 AAN DE SLAG! ONDERDELEN Je hebt de beschikking over een Arduino Starter Kit met een heleboel onderdelen. We gaan ze in de ze workshop niet allemaal

Nadere informatie

Arduino : Morse Voltmeter

Arduino : Morse Voltmeter Arduino : Morse Voltmeter Ooit was ik begonnen met het leren programmeren van een PIC processor in assembler. Maar ja, dat ging niet zo vlot, er kwamen andere dringende zaken en de PIC vloog weer in de

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (8)

De Arduino-microcontroller in de motorvoertuigentechniek (8) De Arduino-microcontroller in de motorvoertuigentechniek (8) E. Gernaat (ISBN 978-90-79302-11-6) 1 Assembly (Assembleertaal) 1.1 Inleiding De Arduino kan ook in assembleertaal (assembly) worden geprogrammeerd.

Nadere informatie

1 Communicatie via de CAN-bus met Arduino-shield

1 Communicatie via de CAN-bus met Arduino-shield Hoofdstuk CAN-shield E. Gernaat (ISBN 978-90-79302-11-6) 1 Communicatie via de CAN-bus met Arduino-shield 1.1 Toelichting bij de Arduino CAN-opdrachten Aan het einde van dit hoofdstuk en in het laatste

Nadere informatie

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

Arduino. Arduino UNO. Sam Decoster. CoderDojo Roeselare. Sam Decoster Arduino Arduino UNO Sam Decoster CoderDojo Roeselare Sam Decoster Inleiding Arduino is een open-source ontwikkelbord, waarmee het mogelijk wordt om informatica te koppelen aan fysieke objecten. Het is

Nadere informatie

Veiligheid,comfort en communicatie (1)

Veiligheid,comfort en communicatie (1) Veiligheid,comfort en communicatie (1) Timloto o.s / E. Gernaat (ISBN 978-90-808907-2-5) Op dit werk is de Creative Commens Licentie van toepassing. 1 BCM, IPDM en gecombineerde schakelaars IPDM is een

Nadere informatie

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

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 Workshop Arduino Inleiding In deze workshop werk je in tweetallen met een Arduino microcontroller. Dit is een kleine computer die je kunt programmeren om te doen wat jij wilt. Om dit te doen gebruik je

Nadere informatie

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

Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam 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

Nadere informatie

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4) De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012

Nadere informatie

Technology, Innovation & Society Delft

Technology, Innovation & Society Delft Technology, Innovation & Society Delft VOORBLAD SCHRIFTELIJKE TOETSEN OPLEIDING TOETSCODE GROEP : ELEKTROTECHNIEK : MICPRG-sc1 : EQ1 TOETSDATUM : 25 JANUARI 2013 TIJD : 15.00 16.30 uur AANTAL PAGINA S

Nadere informatie

EM2 Microcontroller Project. LED cube

EM2 Microcontroller Project. LED cube EM2 Microcontroller Project LED cube Door: Dennis Koster Klas: Tc202 Studentnummer: 536496 Docent: Jan Derriks & Ruud Slokker Versie 1.0 (12-1-2009) Inhoudsopgave Inleiding 3 De onderdelen 4 t/ m 6 Het

Nadere informatie

Motormanagement simulatie MegaSquirt Hoofdstuk 3

Motormanagement simulatie MegaSquirt Hoofdstuk 3 Motormanagement simulatie MegaSquirt Hoofdstuk 3 ISBN 978-90-79302-12-3 Steele B.V Ep Gernaat 1 MegaSquirt EFI De MegaSquirt is een door Bowling en Grippo vrij programmeerbare motormanagement-computer

Nadere informatie

MegaSquirt motormanagement-simulatie Hoofdstuk: Inleiding

MegaSquirt motormanagement-simulatie Hoofdstuk: Inleiding MegaSquirt motormanagement-simulatie Hoofdstuk: Inleiding E. Gernaat (ISBN 978-90-79302-03-1, uitgave 2017) 1 De MegaSquirt EFI 1.1 Ten geleide De MegaSquirt is een door Bowling en Grippo vrij programmeerbare

Nadere informatie

Arduino[4KIDS] Maak je eigen muziekinstrument!

Arduino[4KIDS] Maak je eigen muziekinstrument! Arduino[4KIDS] Maak je eigen muziekinstrument! Wat is een Arduino? Open jullie doos! Hierin vind je: Wat is een Arduino? Er gaat slechts één 'programma' op Dit gaat via de USB ingang, met de USB kabel:

Nadere informatie

Workshop Arduino - deel 2

Workshop Arduino - deel 2 Workshop Arduino - deel 2 Inleiding In het vorige deel van de workshop Arduino heb je voor het eerst kennis gemaakt met deze microcontroller. In dit deel, deel 2, ga je meer leren over de software: het

Nadere informatie

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

Workshop Arduino Uno. Touw dag 6 juni 2015 Harold Pootjes en Simon Pauw Workshop Arduino Uno Touw dag 6 juni 2015 Harold Pootjes en Simon Pauw Arduino Uno Pagina 2 Een programmeerbare controller The Arduino Uno is a programmable microcontroller board based on the ATmega 328.

Nadere informatie

th_elt Hardware & Software

th_elt Hardware & Software th_elt Hardware & Software 1 Inhoudsopgave 1 Arduino Simulators... 3 2 Bronvermelding:... 3 3 Variabelen... 4 3.1 byte... 4 3.2 int... 4 3.3 long... 4 3.4 float... 4 4 Opbouw programma... 5 5 LCD Liquid

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (2)

De Arduino-microcontroller in de motorvoertuigentechniek (2) De Arduino-microcontroller in de motorvoertuigentechniek (2) E. Gernaat (ISBN 978-90-79302-11-6) 1 Procescomputer 1.1 Microprocessoren algemeen De informatie-verwerking zoals is behandeld, is vrijwel geheel

Nadere informatie

Naam + Klas: Laptop Nr: Cijfer:

Naam + Klas: Laptop Nr: Cijfer: Naam + Klas: Laptop Nr: Cijfer: Les 1a: 1: Verander de aan - en uit tijden in de sketch en bekijk het resultaat. 2: Je hebt 14 (0 t/m 13) digitale pinnen ter beschikking om je ledje op aan te sluiten.

Nadere informatie

Arduino Zuid-Limburg Workshop 2

Arduino Zuid-Limburg Workshop 2 1 Arduino Zuid-Limburg Workshop 2 Leren door doen Juni 2016 - slides voor Arduino workshop Zuid-Limburg 2 In deze workshop Minder focus op de programmeertaal zelf Voorbeelden als basis gebruiken Tonen

Nadere informatie

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files

Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files Opgave Tussentijdse Oefeningen Jaarproject I Reeks 4: Lcd Interface & Files 1 Introductie In deze oefening zal je je LCD display leren aansturen. Je controleert deze display door er instructies naar te

Nadere informatie

De Arduino-microcontroller in de motorvoertuigentechniek (4)

De Arduino-microcontroller in de motorvoertuigentechniek (4) De Arduino-microcontroller in de motorvoertuigentechniek () E. Gernaat (ISBN 978-90-7930--6) De Atmel ATmega38/P microcontroller. Uitvoering De ATmega38 is een microprocessor van de Amerikaanse firma ATMEL

Nadere informatie

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

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax, Deel 1: Arduino kennismaking Wat is een microcontroller, structuur van een programma, syntax, Wat is een microcontroller Wat is een microcontroller? Microcontroller = kleine dedicated computer. - Beperkt

Nadere informatie

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2)

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (2) Timloto o.s. / E. Gernaat / ISBN 978-90-79302-06-2 Op dit werk is de Creative Commens Licentie van toepassing. Uitgave: september 2012

Nadere informatie

KAEDU : Outputs en inputs

KAEDU : Outputs en inputs KAEDU : Outputs en inputs LED Er zijn in totaal 6 LEDS (exclusief de IR) die je kan gebruiken. Hiervoor moeten de overeenkomstige jumpers wel in de juiste stand staan. Zoals je op onderstaande foto ziet

Nadere informatie

Inhoud Inhoud. Inleiding 1 Leerdoelen 1

Inhoud Inhoud. Inleiding 1 Leerdoelen 1 v Inhoud Inhoud Inleiding 1 Leerdoelen 1 1 Aftrap 3 1.1 Aanschaf 3 1.2 Arduino UNO R3 of Arduino MEGA 2560? 4 1.3 Poorten en voeding 5 1.4 Systeemeisen 6 1.5 Software 6 1.6 Arduino met pc verbinden 10

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 3: Eenvoudige externe hardware & hardware programmeren in C Hardware programmeren in C Inmiddels ben je al aardig op gang gekomen met het programmeren van microcontrollers.

Nadere informatie

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

Tinyserir-RC5. Datasheet. Tinyserir-RC5 Page: 1 of 8 9600 bps RS-232 interface voor uitlezing van Ontvangen RC5 codes Led aanduiding bij ontvangst van Infrarood pulsen Led aanduiding goede werking Interne firmware Inwendige oscillator Weinig externe componenten

Nadere informatie

Arduino. HCC Vlaanderen - Mechelen 7 februari 2011. Luc De Cock

Arduino. HCC Vlaanderen - Mechelen 7 februari 2011. Luc De Cock Arduino HCC Vlaanderen - Mechelen 7 februari 2011 Luc De Cock Inhoud Wat is Arduino? Wat hebben we nodig? Arduino IDE Voorbeelden Extra tools Uitbreidingen Wat is Arduino? Open source electronica platform

Nadere informatie

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

Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Accelerometer project 2010 Microcontroller printje op basis van de NXP-LPC2368 Handleiding bij het gebruik van een microcontroller in het Accelerometerproject (Project II) Er zijn speciaal voor het Accelerometerproject

Nadere informatie

2 Algemene opbouw van een computersysteem

2 Algemene opbouw van een computersysteem Procescomputer E. Gernaat 1 Microprocessoren algemeen Informatie-verwerking zoals behandeld is momenteel vrijwel geheel overgenomen door microprocessoren. Wanneer we voortborduren op het idee van combinatorische

Nadere informatie

7,6. Samenvatting door A woorden 12 april keer beoordeeld. Natuurkunde. Natuurkunde Systemen. Systemen

7,6. Samenvatting door A woorden 12 april keer beoordeeld. Natuurkunde. Natuurkunde Systemen. Systemen Samenvatting door A. 1243 woorden 12 april 2013 7,6 12 keer beoordeeld Vak Natuurkunde Natuurkunde Systemen Systemen We onderscheiden 3 soorten gegevensverwerkende systemen: meetsysteem: meet een grootheid

Nadere informatie

2 Elementaire bewerkingen

2 Elementaire bewerkingen Hoofdstuk 2 Elementaire bewerkingen 19 2 Elementaire bewerkingen 1 BINAIRE GETALLEN In het vorige hoofdstuk heb je gezien dat rijen bits worden gebruikt om lettertekens, getallen, kleuren, geluid en video

Nadere informatie

Inhoudsopgave LED dobbelsteen

Inhoudsopgave LED dobbelsteen Inhoudsopgave Inhoudsopgave...2 Dobbelstenen...3 Project: Dobbelsteen met LED s...3 Inleiding...3 Werking...3 Berekeningen...4 Frequentie...4 Bits...4 LED voorschakelweerstanden...4 Schema...4 Printplaat...5

Nadere informatie

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

delay(1000); // Eén seconde pauze digitalwrite(pin, LOW); // zet 'pin' uit delay(1000); // Eén seconde pauze } Structuur Arduino De basisstructuur van de Arduino programmeertaal is erg simpel. Het bestaat uit minstens twee gedeeltes (blokken). Deze twee gedeeltes (blokken), of functies vormen een aantal statements

Nadere informatie

Fig. 2. Fig. 1 5 4,5 4 3,5 3 2,5 2 1,5 U (V) 0,5. -20 0 20 40 60 80 100 temperatuur ( C)

Fig. 2. Fig. 1 5 4,5 4 3,5 3 2,5 2 1,5 U (V) 0,5. -20 0 20 40 60 80 100 temperatuur ( C) Deze opgaven en uitwerkingen vind je op https://www.itslearning.com en op www.agtijmensen.nl Wat je moet weten en kunnen gebruiken: Zie het boekje Systeembord.. Eigenschappen van de invoer-elementen (sensor,

Nadere informatie

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke

AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT. Geschreven door: Tom Vocke AVR-DOPER MINI ASSEMBLAGE HANDLEIDING + LAYOUT Geschreven door: Tom Vocke Datum: 28-09-2010 Inleiding: Dit document bevat alle hardware informatie betreffende de AVR-Doper mini. Het eerste deel zal zich

Nadere informatie

Arduino Programmeer handleiding

Arduino Programmeer handleiding Arduino Programmeer handleiding G.L.J. Quellhorst V 2.0 Juni 2 0 14 Dit is een kopie van het arduino programming notebook vertaald naar het Nederlands. Arduino Programmeer handleiding Deze informatie is

Nadere informatie

Hoofdstuk 5: Signaalverwerking

Hoofdstuk 5: Signaalverwerking Hoofdstuk 5: Signaalverwerking Natuurkunde VWO 2011/2012 www.lyceo.nl Hoofdstuk 5: Signaalverwerking Natuurkunde 1. Mechanica 2. Golven en straling 3. Elektriciteit en magnetisme 4. Warmteleer Rechtlijnige

Nadere informatie

Workshop Arduino voor beginners. door TkkrLab Enschede

Workshop Arduino voor beginners. door TkkrLab Enschede Workshop Arduino voor beginners door TkkrLab Enschede Tkkrlab TkkrLab (Tukkerlab) bestaat uit een groep mensen die geïnteresseerd zijn in in technologie, digitale techniek en wetenschap, kortom geeks.

Nadere informatie

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

De FOR lus: // terug naar waar je vandaan kwam Serial.begin(115200); // communicatie snelheid met de PC Verslag les -5-2-4-19 Werkende lussen: for-loop; while-loop; do while- loop. Wanneer iets twee of meerdere keren gedaan moet worden, dan gebruiken we een subroutine, loop, functie. (verschillende woorden

Nadere informatie

Raspberry Pi Interfacing.

Raspberry Pi Interfacing. Als je met je Raspberry Pi contact wil maken met de buitenwereld heb je het GPIO ( General Purpose Input Output) interface van de RPi nodig. Met het GPIO interface kun je besturingen maken voor heel veel

Nadere informatie

arduino programmeerboek Davy Wolfs

arduino programmeerboek Davy Wolfs arduino programmeerboek - Davy Wolfs arduino programmeerboek herwerkt door Davy Wolfs gebaseerd op: Arduino Programming Notebook door Brian W. Evans (2007) Arduino Programmeer Manual door A. Kompanje (2009)

Nadere informatie

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

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie www.arduino.cc Arduino en DDS DDS chips DDS = Direct Digital (frequency) Synthesis Output = sinusvormig signaal Maximum frequentie = ½ klokfrequentie Frequentie bepaald door tuning word Grootste fabrikant:

Nadere informatie

A R D U I N O. addendum bij: Leren programmeren, meten en sturen met de Arduino. 3 e druk INHOUD

A R D U I N O. addendum bij: Leren programmeren, meten en sturen met de Arduino. 3 e druk INHOUD addendum bij: Leren programmeren, meten en sturen met de Arduino 3 e druk A R D INHOUD Errata Aanwijzigen en tips (inclusief errata) Basisset en aanvullingsset U I N O 2 Errata derde druk Pag. 71, afbeelding

Nadere informatie

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

Arduino Workshop. door Geert Roumen (CC) BY-SA. lemio.nl/arduino/ Arduino Workshop door Geert Roumen (CC) BY-SA lemio.nl/arduino/ Arduino? Arduino is een open-source ontwikkelbord, waarmee het mogelijk wordt om informatica te koppelen aan fysieke objecten. Het is dus

Nadere informatie

Hybride voertuigen (2)

Hybride voertuigen (2) Hybride voertuigen (2) E. Gernaat (ISBN 978-90-xxxxxxxx) 1 Inverters en converters Inverters en converters zijn elektronische modulen om de batterij-spanning om te zetten. Over het algemeen wordt een inverter

Nadere informatie

Ar-doe-wie-no. Voorwoord

Ar-doe-wie-no. Voorwoord www.conrad.nl Ar-doe-wie-no Voorwoord Leuk dat je meer wilt weten over Arduino. Wij helpen je graag een eindje op weg. De Conrad Arduino Starterkit dient om je te inspireren en biedt je een introductie

Nadere informatie

Netwerk Interfacing Data Logging.

Netwerk Interfacing Data Logging. Handleiding Netwerk Interfacing Data Logging. EduTechSoft.nl 2009-2010 H.O.Boorsma. Pagina - 2 - Netwerk Interfacing Data Logging Pagina - 3 - Inhoud Inleiding.... 4 Beschrijving van het programma....

Nadere informatie

Algemene beschrijving van de regelprogramma's

Algemene beschrijving van de regelprogramma's Algemene beschrijving van de regelprogramma's Deze beschrijving is voor de regelprogramma's, die werken met de I/O kaart K8055 en/of VM167. Om het aantal in- en uitgangen te verhogen kan een multiplexer

Nadere informatie

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

by Jody Culkin Bronnen die gratis gebruikt, verspreid of aangepast kunnen worden. meestal software of hardware. Wat is een Arduino??? Vertaling naar NL: Johan Korten by Jody Culkin Arduino is een open source elektronica prototype platform. Wat houdt dat in? Open Source Bronnen die gratis gebruikt, verspreid of aangepast

Nadere informatie

Wat is Arduino? Arduino = microprocessor (Atmel)

Wat is Arduino? Arduino = microprocessor (Atmel) Intro tot Arduino Wat is Arduino? Volgens de website: Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It's intended for artists, designers,

Nadere informatie

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

Automatische spoel installatie voor legionella preventie. NTKC - Bennie ten Haken 27 Mrt - 2016 Automatische spoel installatie voor legionella preventie. NTKC - Bennie ten Haken 27 Mrt - 2016 Automatische spoel installatie voor legionella preventie. Bennie ten Haken, 16- Feb- 2016 Deze installatie

Nadere informatie

SYSTEMEN 11/3/2009. Deze toets bestaat uit 3 opgaven (28 punten). Gebruik eigen grafische rekenmachine en BINAS toegestaan. Veel succes!

SYSTEMEN 11/3/2009. Deze toets bestaat uit 3 opgaven (28 punten). Gebruik eigen grafische rekenmachine en BINAS toegestaan. Veel succes! NATUURKUNDE KLAS 4 PROEFWERK HOOFDSTUK 3: AUTOMATISCHE SYSTEMEN OOFDSTUK 3: A 11/3/2009 Deze toets bestaat uit 3 opgaven (28 punten). Gebruik eigen grafische rekenmachine en BINAS toegestaan. Veel succes!

Nadere informatie

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

Weerstation. Weerstation met Arduino C.G.N. van Veen. HiSPARC. 1 Weerstation. 2 Arduino. 2.1 Werking van Arduino Weerstation HiSPARC Weerstation met Arduino C.G.N. van Veen 1 Weerstation Inleiding Naast het meten aan kosmische straling met het HiSPARC meetstation kunnen leerlingen het HiSPARC station uitbreiden met

Nadere informatie

Elementaire meettechniek (6)

Elementaire meettechniek (6) Elementaire meettechniek (6) E. Gernaat (ISBN 978-90-808907-5-6) 1 Autotechnische signalen In dit hoofdstuk laten we een aantal met de oscilloscoop opgenomen autotechnische signalen zien 1. Bij elk signaal

Nadere informatie

Arduino Opstartgids.

Arduino Opstartgids. Arduino Opstartgids. inhoud structuur structuur 6 setup() 6 loop() 6 functies 7 accolades 7 ; puntkomma 8 /* */ blok commentaar 8 // regel commentaar 8 variabelen variabelen 9 variabelen declareren 9 variable

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 5: Timers/counters & Interrupts Timers/counters Hardware timers/counters worden in microcontrollers gebruikt om onafhankelijk van de CPU te tellen. Hierdoor kunnen andere

Nadere informatie

MegaSquirt SMD. MegaSquirt V3.57 SMD Main Board

MegaSquirt SMD. MegaSquirt V3.57 SMD Main Board MegaSquirt SMD Main Board Aanpassing voor de simulator The is a surface-mount device (SMD) versie van de MegaSquirt Hoewel de print gebruik maakt van de SMD-techniek is het ontwerp in grote lijnen gelijk

Nadere informatie

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

Na de intro zijn wij begonnen met concepten, en hebben we elk idee dat we hadden op geschreven. Na een lange welverdiende vakantie was vandaag eindelijk de eerste schooldag! Begin van de les zijn we de groepjes te weten gekomen voor het eerste project. De mensen waarmee ik in een groepje zit had

Nadere informatie

DATA SHEET C2-20. Besturing voor elektrische actuators. DATA SHEET C2-20 A&E Trading b.v. 1

DATA SHEET C2-20. Besturing voor elektrische actuators. DATA SHEET C2-20 A&E Trading b.v. 1 DATA SHEET C2-20 Besturing voor elektrische actuators DATA SHEET C2-20 A&E Trading b.v. 1 C2-20 De C2-20 biedt geavanceerde positionering en controle van actuators door middel van eenvoudige en flexibele

Nadere informatie

Hand-out Introductieworkshop LED programmeren

Hand-out Introductieworkshop LED programmeren Hand-out Introductieworkshop LED programmeren Inleiding Deze hand-out is bedoeld als naslag voor de introductie workshop LED programmeren. In deze handout vind je de uitleg over LEDs, Arduino s en LED

Nadere informatie

PIC Callgever Door PA1RUM

PIC Callgever Door PA1RUM PIC Callgever Door PA1RUM Aanleiding Tijdens de radiokampweek 2008 is deze callgever met veel enthousiasme gebouwd. Niet alleen omdat het een zeer eenvoudig en veelzijdig ontwerp is, maar ook omdat het

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 1: Installeren en verifiëren van de SDE Door Hugo Arends, augustus 2012 Microcontrollers Een microcontroller is een elektronische component dat gebruikt wordt om (complexe)

Nadere informatie

Inductiemeter via de parallelle poort

Inductiemeter via de parallelle poort K.T.A.1-Gent "De Lindenlei" Lindenlei 38 9000 Gent Tel: 09.225.33.04 en 09.225.43.42 Fax: 09.225.52.88 Geïntegreerde proef Inductiemeter via de parallelle poort Naam: Michaël Clinckspoor Richting: Industriële

Nadere informatie

Ravi Ramcharan Arduino PRO Smart leeslampje

Ravi Ramcharan Arduino PRO Smart leeslampje Ravi Ramcharan Arduino PRO61 0861038 Smart leeslampje Contents 1 Kennismaking Arduino... 3 2 Idee: Leeslamp!... 4 3 Basis oefeningen... 6 4 Blokkenschema... 9 5 Hij doet het!... 10 6 Belangrijk: Arduino

Nadere informatie

Multi Purpose Converter 20A

Multi Purpose Converter 20A MPC20 Multi Purpose Converter 20A Gebruiksaanwijzing Lees deze gebruiksaanwijzing grondig door voordat u uw omvormer gaat gebruiken GEBRUIKSAANWIJZING Index SECTIE 1 Eigenschappen...17 SECTIE 2 Aansluitschema...17

Nadere informatie

Klasse B output buffer voor een Flat Panel Display Kolom aansturing

Klasse B output buffer voor een Flat Panel Display Kolom aansturing Gevalstudie 1 Klasse B output buffer voor een Flat Panel Display Kolom aansturing IEEE Journal of Solid-state circuits, Vol 34, No 1, Januari 1999, pp 116-119 Jan Genoe KHLim Flat Panel display kolom driver

Nadere informatie

E. Gernaat (ISBN ), uitgave Overzicht meest toegepaste CR-hogedrukpompen

E. Gernaat (ISBN ), uitgave Overzicht meest toegepaste CR-hogedrukpompen Dieselmanagement (7) E. Gernaat (ISBN 978-90-79302-03-1), uitgave 2012 1 Overzicht meest toegepaste CR-hogedrukpompen 1.1 De Denso HP2-hogedrukpomp In het jaar 2000 komt de hogedrukpomp HP2 van Denso op

Nadere informatie

Inleiding elektronica Presentatie 1

Inleiding elektronica Presentatie 1 Inleiding elektronica Presentatie 1 2 Versie: 18 augustus 2014 Inleiding Elektronica Presentatie 1 16-9-2013 Praktische Elektronica, talk of the day! 2 1 Doel van deze module Herkennen van de algemene

Nadere informatie

HOP9850. void sendfrequency(unsigned long frequency) zie SWEEP9850

HOP9850. void sendfrequency(unsigned long frequency) zie SWEEP9850 SWEEP9850 #define DDS_CLOCK 120000000 // frequentie van de DDS-klok (in Hz) byte LOAD = 8; // I/O 8 is verbonden met FQ_UD van de DDS (frequency update) byte CLOCK = 9; // I/O 9 is verbonden met W_CLK

Nadere informatie

Programmering Tiny45 voor de DCC locdecoder

Programmering Tiny45 voor de DCC locdecoder Programmering Tiny45 voor de DCC locdecoder Dit is een beschrijving voor het programmeren van de Tiny45 van de locdecoder. Voor de eerste programmering is een programmer voor Atmel AVR mikrocontrollers

Nadere informatie

Antwoorden Systeembord 25012010. Fysische informatica voor de onderbouw havo/vwo

Antwoorden Systeembord 25012010. Fysische informatica voor de onderbouw havo/vwo Fysische informatica voor de onderbouw havo/vwo 1 Inhoud: Antwoorden Systeembord 25012010 2. De invoer- en uitvoercomponenten...3 2.1 De drukschakelaar....3 2.2 Geluidsensor...3 2.3 Variabele spanning....3

Nadere informatie

Logische schakelingen

Logische schakelingen Logische schakelingen Logische schakelingen Stel: we maken een schakeling met twee schakelaars en één lamp. Dan kunnen we dat op de volgende manieren doen: We maken een serieschakeling van de twee schakelaars:

Nadere informatie

Arduino. C.F.J. Pols.

Arduino. C.F.J. Pols. Arduino C.F.J. Pols freek@boswell-beta.nl 2 Inhoudsopgave Introductie 4 Programmeren deel 1 7 Programmeren deel 2 9 Elektronica deel 1 11 Programmeren deel 3 13 Elektronica deel 2 16 Programmeren deel

Nadere informatie

ES1 Project 1: Microcontrollers

ES1 Project 1: Microcontrollers ES1 Project 1: Microcontrollers Les 2: Architectuur ATmega32 en STK500 Door Hugo Arends, september 2012 Architectuur ATmega32 Een uitgebreide en gedetailleerde beschrijving van de ATmega32 microcontroller

Nadere informatie

Programmeer-handleiding Easyboard MB

Programmeer-handleiding Easyboard MB Programmeer-handleiding 2019 Easyboard MB Programmeer-handleiding BYOR & micro:bit Deze handleiding beschrijft hoe je een micro:bit programmeert en BYOR onderdelen laat reageren op de code die op je micro:bit

Nadere informatie

Spanningsdriver 1 Compensatie van spanningsval

Spanningsdriver 1 Compensatie van spanningsval Spanningsdriver 1 Compensatie van spanningsval Spanningdriver voor ledstrips waarbij spanningsval over kabels gecompenseerd wordt (zonder user interface print) Voor ieder kanaal kan afzonderlijk de PWM

Nadere informatie

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

by Jody Culkin Bronnen die gratis gebruikt, verspreid of aangepast kunnen worden. meesta software of hardware. Wat is een Arduino??? Vertaling naar NL: Johan Korten by Jody Culkin Arduino is een open source elektronica prototype platform. Wat houdt dat in? Open Source Bronnen die gratis gebruikt, verspreid of aangepast

Nadere informatie

Stappenmotor Interface. Controller

Stappenmotor Interface. Controller Besturing In deze moderne tijd zal de besturing geheel elektrisch worden uitgevoerd. De bedoeling is dat er voor ieder afgaand spoor een wisseladres gebruikt worden. Dit betekend dan een reeks van 24 aansluitende

Nadere informatie

Voorwoord / veiligheidsaanwijzing 3. Sein decoder voor DCC systemen 4. Aansluitingen overzicht van de decoder 4. Aansluiten van de decoder 5

Voorwoord / veiligheidsaanwijzing 3. Sein decoder voor DCC systemen 4. Aansluitingen overzicht van de decoder 4. Aansluiten van de decoder 5 08/2018 Etecmo Alle rechten voorbehouden. Niets uit deze documentatie mag worden vermenigvuldigd opgeslagen en/of openbaar gemaakt, zonder voorafgaande schriftelijke toestemming van Etecmo. Technische

Nadere informatie

Bouwbeschrijving UniSAI

Bouwbeschrijving UniSAI Bouwbeschrijving UniSAI Print maken De layout heeft hele fijne sporen en daarom is fotografisch afdrukken de enige mogelijkheid. Voor het bewerken van de layout gebruik ik het programma Adobe Photoshop

Nadere informatie

Installatiehandleiding

Installatiehandleiding LC-Products B.V. tel. (+31) 088-8111000 email: info@lc-products.nl website: www.lc-products.nl LC-Products. All rights reserved. No part of this publication may be reproduced in any form or by any means

Nadere informatie

Labo digitale technieken

Labo digitale technieken .. Het gebied "elektronica" is reeds geruime tijd onderverdeeld in twee specialiteiten, namelijk de analoge en de digitale technieken. Binnen analoge schakelingen gebeurt de signaalverwerking met lineaire

Nadere informatie

b) Teken op de bijlage welke lampjes van het klokje branden om 19:45:52. Schrijf eronder hoe je dit bepaald/berekend hebt. (3p)

b) Teken op de bijlage welke lampjes van het klokje branden om 19:45:52. Schrijf eronder hoe je dit bepaald/berekend hebt. (3p) NATUURKUNDE KLAS 4 PW HOOFDSTUK PW HOOFDSTUK 3-23/03/2011 Totaal: 3 opgaven, 29 punten. Gebruik eigen BINAS toegestaan. Opgave 1: binair klokje Er bestaan klokjes die de tijd binair weergeven. Zie figuur

Nadere informatie

DF405_V5 Universele uitlezing opbouw

DF405_V5 Universele uitlezing opbouw DF405_V5 Universele uitlezing opbouw Geschikt en ontwikkeld voor de meest voorkomende sensoren. Zowel analoge alsmede frequentie uitgang van de sensor kan als input voor de uitlezing worden gebruikt. Hierbij

Nadere informatie

// hier wordt de functie: ZegHallo aangeroepen

// hier wordt de functie: ZegHallo aangeroepen Verslag les 6 9-4-19 Functies Functies (subroutines) maken het programma overzichtelijker en sneller. Twee functies die altijd aanwezig moeten zijn, zijn: setup() en loop(). Altijd met twee haakjes, waar

Nadere informatie

HANDLEIDING - LEVEL INDICATOR M A N U A L

HANDLEIDING - LEVEL INDICATOR M A N U A L HANDLEIDING - LEVEL INDICATOR M A N U A L Ondanks de grootst mogelijke zorgvuldigheid die Tasseron Electronics B.V. aan haar producten en de bijbehorende handleidingen besteedt, kunnen er onvolkomenheden

Nadere informatie