Inleiding - Elektor · PDF fileInleiding In dit boek worden een serie spannende en leuke...

4
Inleiding In dit boek worden een serie spannende en leuke projecten voor de Arduino behandeld, zoals een stil alarm, mensensensor, lichtmeter, besturing van een motor, internet en draad- loze bediening (via een radioverbinding). In tegenstelling tot veel gratis projecten op inter- net zijn de projecten in dit boek in de praktijk getest, en werken gegarandeerd! U kunt dit boek gebruiken als projectenboek, en de 45 projecten nabouwen en in de prak- tijk inzetten. Door de duidelijke uitleg, schema’s en zelfs foto’s van de opstelling op is het nabouwen een erg leuke bezigheid. De foto’s komen van een werkende opstelling, dus u weet zeker dat ze kloppen. U kunt de projecten in dit boek ook met elkaar combineren om zo uw eigen projecten te maken. Per project wordt duidelijk uitgelegd waarom het project op die manier is uitgevo- erd. Al doende leert u veel over het project en de gebruikte onderdelen, en kunt u het project zelf aanpassen en uitbreiden naar uw eigen wensen. Daarnaast is het boek ook als naslagwerk inzetbaar. Via de index vindt u gemakkelijk pro- jecten die als voorbeeld voor het gebruik van C++ opdrachten en Arduino-functionaliteit kunnen dienen. Zelfs als u alle projecten gemaakt hebt zal dit boek om die reden nog lang een plekje naast uw PC behouden. Ik wil van de gelegenheid gebruikmaken om Bert Oudshoorn bedanken voor zijn hulp bij de eindredactie van dit boek en het testen van de projecten. Bert van Dam Roosendaal, 2014 5

Transcript of Inleiding - Elektor · PDF fileInleiding In dit boek worden een serie spannende en leuke...

Page 1: Inleiding - Elektor · PDF fileInleiding In dit boek worden een serie spannende en leuke projecten voor de Arduino behandeld, zoals een stil alarm, mensensensor, lichtmeter, besturing

Inleiding

In dit boek worden een serie spannende en leuke projecten voor de Arduino behandeld, zoals een stil alarm, mensensensor, lichtmeter, besturing van een motor, internet en draad-loze bediening (via een radioverbinding). In tegenstelling tot veel gratis projecten op inter-net zijn de projecten in dit boek in de praktijk getest, en werken gegarandeerd!

U kunt dit boek gebruiken als projectenboek, en de 45 projecten nabouwen en in de prak-tijk inzetten. Door de duidelijke uitleg, schema’s en zelfs foto’s van de opstelling op is het nabouwen een erg leuke bezigheid. De foto’s komen van een werkende opstelling, dus u weet zeker dat ze kloppen.

U kunt de projecten in dit boek ook met elkaar combineren om zo uw eigen projecten te maken. Per project wordt duidelijk uitgelegd waarom het project op die manier is uitgevo-erd. Al doende leert u veel over het project en de gebruikte onderdelen, en kunt u het project zelf aanpassen en uitbreiden naar uw eigen wensen.

Daarnaast is het boek ook als naslagwerk inzetbaar. Via de index vindt u gemakkelijk pro-jecten die als voorbeeld voor het gebruik van C++ opdrachten en Arduino-functionaliteit kunnen dienen. Zelfs als u alle projecten gemaakt hebt zal dit boek om die reden nog lang een plekje naast uw PC behouden.

Ik wil van de gelegenheid gebruikmaken om Bert Oudshoorn bedanken voor zijn hulp bij de eindredactie van dit boek en het testen van de projecten.

Bert van DamRoosendaal, 2014

● 5

45 Arduino projecten binnenwerk 150211 Versie 2.indd 5 24-03-15 11:05

Page 2: Inleiding - Elektor · PDF fileInleiding In dit boek worden een serie spannende en leuke projecten voor de Arduino behandeld, zoals een stil alarm, mensensensor, lichtmeter, besturing

● 7

Inhoud

Inhoud

Inleiding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

Hoofdstuk 1 • Wat is Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Hoofdstuk 2 • Wat heeft u nodig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.1 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.2 Setje onderdelen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.3 Gratis software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3.1 Gratis download . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3.2 Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3.3 HyperTerminal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

2.3.4 PC-Oscilloscoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

Hoofdstuk 3 • Tutorialproject . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Hardware driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

Uw eerste programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

Hoofdstuk 4 • De eerste stappen (LED, schakelaar, seriële verbinding) . . . . . . . . . . . 23

4.1 Knipper een LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2 WisselknipperLEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3 Seriële teller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3.1 In de Arduino Serial Monitor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.3.2 Een mooi scherm op de PC zonder programmeren . . . . . . . . . . . . . . . . . . . . . . 34

4.4 Serieel debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.4.1 Het sketchverloop klopt niet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.4.2 Het resultaat klopt niet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

4.4.3 Er is iets aan de hand met meerdere variabelen . . . . . . . . . . . . . . . . . . . . . . . . 39

4.5 We maken zelf een ASCII tabel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.6 Schakelaar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.7 Tijdschakelaar met herstart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.8 Wisselschakelaar (flip-flop) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

4.9 Dobbelsteen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4.10 Code-bel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

45 Arduino projecten binnenwerk 150211 Versie 2.indd 7 24-03-15 11:05

Page 3: Inleiding - Elektor · PDF fileInleiding In dit boek worden een serie spannende en leuke projecten voor de Arduino behandeld, zoals een stil alarm, mensensensor, lichtmeter, besturing

Arduino Uno • 45 projecten voor beginners en experts

● 8

Hoofdstuk 5 • A/D-conversie (potmeter, LDR, voltages, PWM, sensoren) . . . . . . . . . 63

5.1 Knipper-LED met traploos regelbare snelheid . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

5.2 Voltmeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

5.3 Nachtlicht (donkerschakelaar) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.4 Lichtmeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.5 Kinderkamer-lichtalarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

5.6 LED met traploos regelbare helderheid (PWM) . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.7 Energieverbruikmeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

5.8 Stil alarm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

5.9 Analyseer een transistor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

5.10 De plant heeft water nodig . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

Hoofdstuk 6 • Regelen, meten en vermogen (motoren, sensoren en geluid) . . . . . . . 97

6.0.1. Voeding via de USB-aansluiting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97

6.0.2. Een externe voeding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

6.1 Een elektromotor aansturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101

6.2 Elektromotor met traploze snelheidsregeling . . . . . . . . . . . . . . . . . . . . . . . . . . 107

6.3 Toerenteller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

6.4 Cruisecontrol (constante snelheid met feedback) . . . . . . . . . . . . . . . . . . . . . . . 118

6.5 Infrarood objectdetectie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

6.6 Ultrasoonsensor (range finder) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

6.7 Tilt- of bewegingssensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125

6.8 Geheugen. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

6.8.1 EEPROM-geheugen (blijvend geheugen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

6.8.2 Flashgeheugen (programmageheugen) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

Getallen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

Teksten (strings). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

6 .9 Wisselspanning schakelen met relais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

6 .10 Politiesirene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142

Hoofdstuk 7 • Het moet niet gekker worden (KI, Arduino maken, internet) . . . . . . 147

7.1 Mijn lievelingskleur (kunstmatige intelligentie) . . . . . . . . . . . . . . . . . . . . . . . . . 147

7.2 Mensensensor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150

45 Arduino projecten binnenwerk 150211 Versie 2.indd 8 24-03-15 11:05

Page 4: Inleiding - Elektor · PDF fileInleiding In dit boek worden een serie spannende en leuke projecten voor de Arduino behandeld, zoals een stil alarm, mensensensor, lichtmeter, besturing

● 9

inhoud

7.3 Elektrische kaars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

7.4 Floret- (of degen-) tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

7.5 Klop klop wie is daar (klopsensor) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

7.6 Nachtzoemer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

7.7 Tetris met 126 LEDs en Charlieplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

7.7.1 Charlieplexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

7.7.2 Tetris-spel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172

7.8 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

7.8.1 Bekijk via internet een schakelaar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

7.8.2 Bedien via internet een LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186

7.8.3 Internet versus intranet. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

7.9 Draadloze bediening van een relais (radioverbinding) . . . . . . . . . . . . . . . . . . . . 192

7.10 Maak zelf een Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

7.10.1 Stand-alone microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198

7.10.2 Met een USB-aansluiting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206

7.10.3 Demoproject zelfgemaakte Arduino: regelbaar knipperlicht . . . . . . . . . . . . . . 208

Hoofdstuk 8 • Appendix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

8.1 Regelbare voeding (1,2 tot 13 volt) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211

8.2 Het complete shield . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212

Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

45 Arduino projecten binnenwerk 150211 Versie 2.indd 9 24-03-15 11:05