Conrad 4019631150073 Operation Manual [nl]

Page 1
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 115007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1 13.08.2017 17:09:2213.08.2017 17:09:22
Page 2
I
.
3
3
.
3
.
.
.
.
0
g
0
0
.....................................................................
2
2
2
2
2
.....................................................................
3
g
kt h
.....................................................................
AI2
.
.
.
etc
board
druk
h
h
....................................................................
.
lle Versuche im Überblick
7
7
7
7
n
...................................................................
kl
.
n
....................................................................
g
k
....................................................................
t
k
...................................................................
k
.
sketch
.
.
.
.
.
p
...................................................................
0
0reker
0
p
0
2
k
p
nternet of Things Adventskalender 2017 ...................
Broncodes en bijkomende informatie . . . . . . . . . . . . . . . . . . . . . . . . . . .
Achtergrondinformatie m.b.t. de onderdelen . . . . . . . . . . . . . . . . . . . . .
LED’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weerstanden en hun kleurcodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1e dag ......................................................................
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
IoT-board confi gureren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stap 1: Installatie van de driver voor het IoT-board . . . . . . . . . . . . . . . . .
Stap 2: Installatie van de Arduino IDE . . . . . . . . . . . . . . . . . . . . . . . . . .
Update van de fi rmware op het IoT-board . . . . . . . . . . . . . . . . . . . . . .
IoT-board testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
On-Board-LED doen knipperen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2e dag.....................................................................
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analoge waarden meten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Het programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zo werkt het programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3e dag.....................................................................0
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Knipperlicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Het pro
ramma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Zo werkt het programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
4e dag ......................................................................11
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
Knipperlicht (wisselend) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Het programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zo werkt het programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
5e dag
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Verkeerslicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Snap! installeren en IoT-board voorbereiden . . . . . . . . . . . . . . . . . . . . 1
Programma in Snap! omzetten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
6e dag
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verbinding met het IoT-board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
App voor de besturin
et programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
installeren . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
7e dag...................................................................... 15
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Stuurbaar looplicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
et programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zo wer
et programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8e dag
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
onen via app uitvoeren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ontwikkelingsomgeving voor de apps . . . . . . . . . . . . . . . . . . . . . . . . .
e eerste app met
Piezo met app besturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Werkwijze van de app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
pp testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9e dag.....................................................................
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
RGB-LED’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kleur van een RGB-LED via app wijzigen . . . . . . . . . . . . . . . . . . . . . . .
De sk
h voor het IoT-
De app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10e dag ....................................................................25
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Toets De sketc Reactie van
weergeven . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
et IoT-board weergeven . . . . . . . . . . . . . . . . . . . . . . . . . .5
11e dag
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
LED-echo via app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12e dag ....................................................................
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Looplichtsnelheid via app instellen . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
De sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
De app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
13e dag ................................................................... 28
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
RGB via slider in app aanpasse
De sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
e app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
14e dag
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Boetseer
Zo werken sensorcontacten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
eicontact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
15e dag ....................................................................
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Verschillende boetseerkleicontacte
De sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
. . . . . . . . . . . . . . . . . . . . . . . . . . .
16e dag ....................................................................
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Knipper-LED via app sturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
17e dag
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weer
ave van de weerstandswaarde . . . . . . . . . . . . . . . . . . . . . . . . . .
De s
etch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
e app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
18e dag
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3
RGB-looplich De s
e app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
etch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19e dag
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
app voor selectie van hardware-apps . . . . . . . . . . . . . . . . . . . . . . . . . .
De sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5 5
e app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
20e dag ...................................................................
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Warmtesensor in de app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De s
etch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
e app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21e dag ..................................................................
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Helderheid en duisternis in de app meten . . . . . . . . . . . . . . . . . . . . . .
De
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
e app . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
22e dag ...................................................................
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vochtigheidsmeter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
De sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
De ap
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .9
23e dag
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
5
De sketch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
5
De ap
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
24e dag .................................................................. 4
Vandaag in de adventskalender . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Reactiespel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
De s
6
etch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
De ap
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42
7
30
1
2
3
4 4 4 4
5 5
7
7 7 7 7
9
4
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 215007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2 13.08.2017 17:09:2613.08.2017 17:09:26
Page 3
Internet of Things Adventskalender 201
7
-
!
ebsite
code
5007-3
oa-
ook het bestand
-
.
.
delen.
.
Volgens Cisco zullen er tegen 2020 meer dan 50 miljard apparaten worden gebruikt die met het internet zijn verbonden. Intel is nog optimistischer en spreekt van 200 miljard apparaten1. Elk van deze appara­ten – ook „Ding“ genaamd – beschikt over een uniek adres en communiceert via het internet of via een andere interface, bv. Bluetooth, met de buitenwereld. Van het koffi ezetapparaat tot de koelkast, van de auto tot de trein, van de productiemachine tot en met een armband, alles is programmeerbaar en kan met andere dingen communiceren. Dit thema is meer dan een hype, het wordt de standaard van de tech niek en daarom moeten wij er ons allemaal mee bezig houden. Gebruik de adventsperiode en stap mee in het Internet der Dingen, ook Internet of Things (IoT) genaamd. In 24 experimenten leert u meer over het thema en programmeert u uw eigen ding. Veel plezier ermee
Broncodes en bijkomende informatie
U ontvangt in de volgende 24 uur veel nieuwe informatie over het thema IoT (Internet of Things) en zult deze in spannende projecten omzetten. Opdat u de deels echt grote programma‘s niet moet aftippen, geven wij u de volledige broncodes en evt. bijkomende informatie om te downloaden. Ga hiervoor naar
w
den. In het archief bevindt zich voor elke dag een eigen directory. Voor meer gedetailleerde informatie
u
De programma’s vanaf dag 8 zijn deels heel groot. Daarom worden de programma‘s ook niet volledig afgedrukt. Alleen de bestanddelen die u absoluut nodig hebt om het project te begrijpen en om te zetten, worden in het handboek beschreven. Bij projecten die met een eigen aangemaakte smartphone app wor
en gestuurd, is er eveneens een volledige download beschikbaar. Als u wijzigingen aan het programma
uitvoert, dan kijkt u altijd eerst naar het volledige programma, maakt u een kopie daarvan en wijzigt u
an de kopie. Als er iets mislukt, dan vindt u op
ttp://www.buch.cd en voer de
in het archief.
1
in. Daar vindt u een archief om te downl
ttp://www.buch.cd de startbestanden
Updates in het downloadbereik
De adventskalender werd lang voor de adventsperiode opgemaakt en berust op de programmaversies
ie op dat moment beschikbaar waren. Als er tegen de advent grote wijzigingen optreden, vindt u een
update van het betreffende project in het downloadbereik
Achtergrondinformatie m.b.t. de onderdelen
In elk vak bevindt zich een onderdeel. Op deze plaats verneemt u de belangrijkste informatie in verband met de onder
LED‘s (lichtdioden) branden wanneer er stroom in de doorstroomrichting doorstroomt. LED‘s worden in schakelingen met een pijlvormig driehoeksymbool weergegeven dat de stroomrichting van de pluspool naar de minpool of massaleiding aangeeft. Een LED laat in de doorstroomrichting bijna een willekeurige hoeveelheid stroom door, ze heeft slechts een zeer kleine weerstand. Om de debietstroom te begrenzen en zo het doorbranden van de LED te voorkomen, moet gewoonlijk tussen de gebruikte aansluitpin en de anode van de LED of tussen de kathode en massapin een voorweerstand van 220 Ohm worden ingebouwd. Deze voorweerstand beschermt ook de uitgang van het inbegrepen IoT-board tegen te hoge stroomsterktes. De LED‘s in de adventskalender hebben de voorweerstand reeds ingebouwd en kunnen
aarom rechtstreeks aan de pins van het IoT-board worden aangesloten
Schakelplan van een LED met voorweerstand
1 Bron: https://www.fool.com/investing/general/2016/01/18/internet-of-things-in-2016-6-stats-everyone-should.aspx
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 315007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3 13.08.2017 17:09:2713.08.2017 17:09:27
Page 4
ED in welke richting aansluiten?
k-
eeste weerstande
ebbe
-
g
-
-
.
.
leurrstandswaarde
g
n
g
)
g
)
g
r10
2
%
0
1
%
1
0
01%
00%
e
000
000
oen
000
%
000.000
%
000.000
%
js
000.000
%
t10
000.000.000
eide aansluitkabels van een LED hebben een verschillende lengte. De langere is de pluspool, de
anode, de kortere de kathode. Makkelijk op te merken: Het plusteken heeft een streep meer dan het
inteken en dat maakt de kabel een beetje langer. Bovendien zijn de meeste LED‘s langs de minzijde
afgevlakt, zoals een minteken. Makkelijk op te merken: Kathode = kort = kant.
Weerstanden en hun kleurcodes
Weerstanden worden bij gevoelige elektronische onderdelen en als voorweerstanden voor LED‘s gebruikt om de stroom te begrenzen. De maateenheid voor weerstanden is Ohm. 1.000 Ohm komt overeen met een kiloohm, afgekort kOhm. 1.000 kOhm komt overeen met een megaohm, afgekort MOhm. Vaak wordt voor de eenheid Ohm het omegateken
gebruikt.
K
e rin
(tientalle
in Ohm
e rin
eenheden
Zilve
Goud 1 Zwart Bruin
11
Rood
ranj
r
Blauw Paars
Gri
Wi
3e rin (multiplicator
= 0,01
= 0,1
10 =
= 1 10 = 1 10 = 1. 10 = 10. 10 = 100. 10 = 1. 10 = 10. 10 = 100.
= 1.
e rin
tolerantie)
10
0,5
,25
1
0,05
e gekleurde ringen op de weerstanden geven de
weerstandswaarde aan. Deze zijn duidelijk ma
elijker te herkennen als de ultrakleine cijfers die
en alleen nog op hele oude weerstanden vindt
en met een beetje oefening kunt u de waarden ook
it de kleurcodes snel „vertalen“.
m
n h
n vier zulke kleur
ingen. De eerste twee kleurringen staan voor de
ijfers, de derde is een multiplicator en de vierde
e tolerantie. Deze tolerantiering is meestal goud-
of zilverkleurig – kleuren die op de eerste twee
ingen niet voorkomen. Daardoor is de leesrichtin
niek. De tolerantiewaarde zelf speelt in de digi
ale elektronica nauwelijks een rol. De tabel toont
e betekenis van de gekleurde ringen op weerstan
n
et is gelijk in welke richting een weerstand
wordt ingebouwd. Bij LED‘s daarentegen speelt de
nbouwrichting een belangrijke rol
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 415007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 4 13.08.2017 17:09:2813.08.2017 17:09:28
Page 5
1e da
g
r
2
.
-
.
n
-
.
J
.
:
d
E
d
-
-
load d
.
d
E
-
l-
E
-
board uitschakele
-
.
.
ucties.
Vandaag in de adventskalende
•1x IoT Bluething Board
andaag leert u het board kennen waarmee u de projecten in de volgende 24 dagen zult omzetten. Als voorbereiding voor de volgende dagen zult u de driver voor de USB-verbinding installeren die Arduino IDE installeert en tot slot maakt u een eerste programma voor het board aan
Chipset op het IoT-board
Het IoT-board komt met twee chipsets. Voor de uitvoering van de programma‘s bevindt zich een ATme
ga328P op het board. Deze microcontroller communiceert via de seriële interface met een HC-05. De
HC-05 is verantwoordelijk voor de draadloze verbinding (Bluetooth). De module ondersteunt Bluetooth
V2.0+EDR. Voor de app-communicatie is een smartphone met Android nodig
IoT-board confi gurere
Om het IoT-board in gebruik te nemen hebt u een pc met Linux, Mac OS X of Windows en een micro USB-kabel nodig. Deze aansluitkabel dient voor de stroomverzorging en de verbinding van het IoT-board met de pc om het te programmeren. U hoeft geen bijkomende dergelijke kabel te kopen aangezien u er vermoedelijk al een bezit – bijna alle moderne smartphones gebruiken dit stekkertype
uiste USB-poort aan de pc selecteren
Sluit de kabel indien mogelijk aan een USB-2.0-aansluiting van uw pc aan. Bij USB-3.0-aansluitingen
an dit tot verbindingsproblemen leiden. Een USB 3.0-aansluiting herkent u vaak aan een blauwe bus
oor u het board met de pc verbindt, zijn de volgende stappen nodig
1. dag
•Stap 1: Installatie van de driver voor het IoT-boar
•Stap 2: Installatie van de Arduino ID
Stap 1: Installatie van de driver voor het IoT-boar
De USB-poort die zich op het IoT-board bevindt is met een CH340G-chipset verbon
en. Om deze chipset voor de USB-verbinding te gebruiken moet u de passende river voor uw besturingssysteem installeren. Voer hiervoor de volgende vier stap
pen uit:
1 Down
e voorbeeldprogramma‘s en de apparaatdriver op
ttp://www
uch.cd. Voer daar de code 15007-3 in en volg de instructies op het scherm.
2 Pak het ZIP-archief in een willekeurige map onder uw gebruikersmappen uit.
Installatie van de driver van het apparaat
Sluit het IoT-board via de USB-kabel aan en start dan de installatie van de driver met het bestan
H341SER.EX
. Voor de installatie moet u eventueel een vraag van het Windows-gebruikersaccountbe
eer bevestigen.
Klik in de installatiedialoog op Install en wacht tot een bevestiging verschijnt dat de driver geïnsta
eerd werd.
Stap 2: Installatie van de Arduino ID
Het IoT-Board is compatibel met de Arduino Nano and kan met de Arduino IDE3 geprogrammeerd wor den. In de Arduino IDE schrijft u programma’s in de programmeertaal C en zet u ze dan onmiddellijk op
et IoT-board over. Na de overdracht loopt het programma zonder verbinding met de pc en daarom kunt
u daarna deze verbinding ook verbreken.
IoT-
Het IoT-board heeft geen uit-schakelaar. U hoeft gewoon de USB-kabel van de pc of de adapter te ont
koppelen en het IoT-board schakelt zichzelf uit. Bij het volgende inschakelen start automatisch het
laatst opgeslagen programma. Hetzelfde gebeurt wanneer men op de resetknop drukt
2 Hieronder verder als IoT-board genoemd 3 Voor de projecten werd de Arduino IDE in versie 1.8.2. gebruikt. Als er bij het verschijnen van de adventskalender een nieuwere
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 515007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 5 13.08.2017 17:09:2813.08.2017 17:09:28
n
versie beschikbaar is, kunt u deze gebruiken. Als de wijzigingen markant zijn, vindt u in het downloadbereik de overeenkomstige instr
Page 6
Download de Windows Installer voor de huidige versie van Arduino IDE op www
.
.
e
.
-
d
.
h
.
d
-
stallatie van de
E
d
arduino.cc/en/Main/Software of gebruik gewoon het bestand arduino-windows
x
uit de downloads bij de adventskalender. Onder Windows 10 kunt u de
Arduino IDE ook uit de Windows Store downloaden en installeren
Let daarbij op dat in het dialoogveld Installation Optionsalle haakjes zijn aange vinkt. Naargelang de Windowsconfi guratie is een bevestiging van het gebruikersac­countbeheer nodig.
Update van de fi rmware op het IoT-boar
Opdat u ook alle voorbeelden met uw IoT-board kunt uitvoeren, update u eerst de
In
Arduino ID
ven. Plaats hier het haakje
Kies vervolgens via het menupunt To ols / Board de Arduino Nano wanneer deze niet reeds automatisc werd herkend. Als processor moet
fi rmware van het board. Hiervoor opent u eerste de eerder geïnstalleerde Arduino IDE en kies in het menu van Arduino IDE
ort
Hier wordt in de meeste gevallen slechts een enkele seriële poort weergege-
ools /
mega328 geselecteerd worden
In de Arduino IDE kiest u het passende board.
Snelle start van de downloa
an de fi rmware op het board
Na de start van Arduino IDE en de selectie van het board opent u nu via het menupunt
nen... de fi rmware Firmware_V1.2b.ino
Deze bevindt zich in het downloadarchief in de directoryrm-
ware_V1.2b. Voor u de fi rmware afspeelt, verzekert u dat de jumper op het IoT-board op
via
etch / Uploaden de fi rmware op het board op. Anders kunt u ook de icons in de Editor daarvoor
estand / Ope-
staat. Laa
gebruiken: Via de pijl naar rechts laadt u de fi rmware4 op het board.
Na korte tijd moet in de statusregel van de editor het bericht Uploaden voltooid staan. Nu is het IoT
oard geüpdatet.
4 De fi rmware is een normaal Arduino-programma. Een dergelijk Arduino-programma wordt als Sketch beschreven.
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 615007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 6 13.08.2017 17:09:2813.08.2017 17:09:28
Page 7
IoT-board teste
n
-
.
-
.
.
.
n
estand
bee
-
g.
.
d.
Na de uitgevoerde update van de fi rmware kunt u het board nu testen. Open daarvoor de seriële moni tor van de Arduino IDE via Tools / Seriële monitor. Stel de gegevensoverdracht op 57600 Baud in. Nu moet leesbare tekst in het uitvoervenster verschijnen. Als teken dat de confi guratie voltooid is, verschijnt het bericht
Confi guratie succesvol!, gevolgd door informatie over het
draadloos netwerk
Nu kunt u met uw Adroid smartphone testen of u het draad loos netwerk ook ziet. Schakel hiervoor op de smartphone Bluetooth in en na korte tijd moet het draadloos netwerk verschijnen. Kies nu het draadloos netwerk (in het volgende screenshot Bluething103) en bevestig de selectie met
K
De naam van het netwerk in dit voorbeeld luidt
Op uw systeem zal de naam van het IoT-board ook met Bluething beginnen maar evt. met een ander nummer
eindigen. Het nummer wordt aan de hand van het MAC-adres van uw board individueel gegenereerd
oor de opbouw van de verbinding moet u een wachtwoord invoeren, in dit geval 1234
Nadat het juiste wachtwoord werd ingevoerd, verschijnt net netwerk onder
EKOPPELDE
. Nu kan uw smartphone met het IoT-board communiceren
an zodra een apparaat met een smartphone is gekoppeld, is het mogelijk ook zonder nieuwe scan een verbinding aan te maken
luething103 en het wachtwoord is 1234
ij de verbindingsopname met het IoT-board moet
een wachtwoord invoeren
On-Board-LED doen knippere
Nu moet het programmeren van het IoT-board worden getest. Als voorbeeld wordt de in de
rduino IDE geïntegreerde Blink-sketch gebruikt. Kies daarvoor in het menu B
den / 01.Basics / Knipper
Klik nu linksboven met de pijl op het ronde symbool om het programma op het aangesloten IoT board te uploaden, wat ook Flashen wordt genoemd.
Met het haakje compileert u de bestanden, met de pijl naar rechts laadt u
et programma op het IoT-board.
Nadat het uploaden is voltooid, knippert LED D2 (naast aansluiting D13) op het IoT-board. Nu is het board gebruiksgereed voor de volgende da
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 715007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 7 13.08.2017 17:09:2913.08.2017 17:09:29
/ Voor
l-
Op uw systeem zal de naam van het IoT-board ook
met Bluething beginnen maar evt. met een ander
nummer eindigen. Het nummer wordt aan de hand
van het MAC-adres van uw board individueel gege-
nereer
Page 8
Onder het broncodevenster ziet u de uitgaven van de Arduino IDE bij het compileren en het uploaden
.
worden verholpen.
T
.
Als de LED niet knippert, controleert u de foutmelding in de Arduino IDE.
Hier is de verbinding met het IoT-board mislukt. In dit geval werd de verkeerde poort geselecteerd, dit kan snel via het menupunt
oT-board altijd in de AT-modus gebruiken
p het IoT-board bevindt zich een jumper. Deze jumper moet voor alle projecten in deze kalender op
A
n
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 815007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 8 13.08.2017 17:09:3013.08.2017 17:09:30
Page 9
2e da
g
r
)
.
a
i
.
;
;
{
;
{
;
(
);
a
;
in
bestaan te
ste uit de twee functies
{
;
);
e
p
g
)
audrate
p()
p
-
;
);
a
d
g
g
p
n
y
)
.
tor
-
otter
l
aud
g
Vandaag in de adventskalende
•1x steekplatine (SYB 46
•1x jumperkabel
Analoge waarden meten
andaag programmeert u een sketch in de Arduino IDE om waarden van een analoge ingang te analyseren. De waarden worden via tekstweergave en grafi sch weergegeven
Onderdelen: 1x steekplatine, 1xjumperkabel (mannelijk –
mannelijk)
et programm
Het programma voor vandaag draagt de naam Tag02. bevindt zich in het downloadarchief in de directory
int analogValue = 0 int analogPin = A0
oid setup() pinMode(analogPin, INPUT) Serial.begin(9600);
no
ag02
oid loop() analogValue = analogRead(analogPin) Serial.println(analogValue); delay
2. da
e jumperkabel dient als antenne. Probeer de metingen ook eens zonder deze kabel om te
zien of de kabel voor een verschil in uw meetomgeving zorgt
1000
Zo werkt het programm
int analogPin = A0
In het begin wordt het gebruikte pinnummer in de variabele
Arduino IDE
oid setup() pinMode(analogPin, INPUT) Serial.begin(9600
De functi
setu
loopt eenmaal tot aan de start en wordt meestal voor de confi guratie gebruikt. De ana-
oge pin wordt als invoer vastgelegd. Via Serial.be
nmin
in(9600
waarden op de seriële monitor en de seriële plotter weer te geven. De parameter bij deze functie is het B
De functie
oid loo
.
{
oo
wordt lang herhaald tot men de voe
dingsspanning ontkoppelt of op de resetknop drukt.
oid loop() { analogValue = analogRead(analogPin); Serial.println(analogValue) delay(1000
setup
nalogP
n loop:
vastgelegd. Alle programma‘s in
wordt de seriële communicatie gestart om
i
analogRea
ingang in de variabele analo via Serial. wacht het programma 1000 milliseconden
Open nu de seriële monitor van de Arduino IDE via Tools / Seriële moni
wordt de waarde van de analoge
rintl
uitgegeven. Door dela
Value op
eslagen en
(1000
Het daterate moet in het dropdown rechtsonder in de hoek van het venster correct zijn ingesteld, in dit geva
B
. Zo ziet u de gemeten waar den. Die waarden kunt u ook grafi sch laten weergeven. Sluit hiervoor de voorheen geopende seriële monitor en open de seriële plotter via Tools / Seriële Pl
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 915007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 9 13.08.2017 17:09:3113.08.2017 17:09:31
Page 10
1
0
g
d
d
-
a
ino
en
;
;
{
);
{
;
;
);
;
;
(
)
d.
g
3e da
3. da
Vandaag in de adventskalender
•1x LED rood met voorweerstan
•1x schakeldraa
U hebt geen afzonderlijke weerstand nodig want de LED heeft reeds een geïntegreerde weer-
n
nipperlicht
Vandaag laat u een LED met een frequentie van 2 Hz knippe­ren.
Onderdelen:
1x steekplatine, 1 x LED rood met voorweer
stand
et programm
et programma voor vandaag draagt de naam Tag03.
evindt zich in het downloadarchief in de directory
const int ledPin = 2
nt ledState = LOW
void setup() pinMode(ledPin, OUTPUT
void loop()
ag03
Zo werkt het programma
if (ledState == LOW) ledState = HIGH else ledState = LOW;
In de variabele waarde LOW Deze waarde wordt via delay
wordt onthouden of de LED al of niet brandt. In het begin heeft de variabele de
if (ledState == LOW) ledState = HIGH else ledState = LOW digitalWrite(ledPin, ledState delay(500)
500
e 500 ms omgeschakeld. Daardoor knippert de LED.
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1015007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 10 13.08.2017 17:09:3113.08.2017 17:09:31
Page 11
4e da
g
r
d
)
-
a
i
4
;
;
{
;
);
);
;
;
;
{
;
);
}
;
a
;
;
;
;
}
i
d
1
.
Vandaag in de adventskalende
•1x LED geel met voorweerstan
Knipperlicht (wisselend
Twee LED’s knipperen afwisselend.
Onderdelen: 1x steekplatine , 1xLED geel met voorweer stand, 1xLED rood met voorweerstand
Het programm
Het programma voor vandaag draagt de naam Tag04. bevindt zich in het downloadarchief in de directory
const int ledPin1 = 10; const int ledPin2 = 12;
nt ledState = LOW nt pin = ledPin1
oid setup() pinMode(ledPin1, OUTPUT) pinMode(ledPin2, OUTPUT digitalWrite(ledPin1, LOW digitalWrite(ledPin2, LOW)
ag0
4. dag
no
Beide kathoden (korte benen van de LED) moeten op GND worden geleid. Links is de gele LED,
rechts de rode
oid loop() { if (pin == ledPin1) { pin = ledPin2 digitalWrite(ledPin1, LOW) } else pin = ledPin1 digitalWrite(ledPin2, LOW
digitalWrite(pin, HIGH); delay(500)
Zo werkt het programm
if (pin == ledPin1) {
pin = ledPin2 digitalWrite(ledPin1, LOW) } else { pin = ledPin1 digitalWrite(ledPin2, LOW)
In de tijdelijke variabele p
ledPin
. Via een if-vraag wordt de variabele op de andere pin gezet en de huidig brandende LED
wordt uitgeschakeld. Het omschakelen gebeurt elke 500 ms.
n wor
t opgeslagen welke LED nu brandt. Oorspronkelijk staat deze waarde
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1115007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 11 13.08.2017 17:09:3213.08.2017 17:09:32
Page 12
5e da
g
d
.
n
-
-
.
n
-
uit
uit
selectee
.
.
elemente
d.
.
g
. da
Vandaag in de adventskalender
•1x LED groen met voorweerstan
Vanaf drie LED’s wordt het een beetje knapper, daarom wordt GND extra aan de bovenste lijst
gevoerd. LED’s van links naar rechts: groen, geel en rood
en speciale Sketch op het bord afspelen, nl. Firmata. Sluit hiervoor het IoT-board aan uw pc aan n open Arduino IDE. Kies onder Bestand / Voorbeelden / Firmata / Standaard Firmata en laad de
Sketch via een muisklik op de pijl naar rechts op het board. Nu kunt u het board met Snap4Arduino
erkeerslicht
et huidige project is een verkeerslicht die met de grafi sche
ntwikkelingsomgeving Snap! wordt gemaakt
nderdelen:
x steekplatine, 1xLED groen met voorweer-
tand, 1xLED geel met voorweerstand, 1xLED rood met
oorweerstand, 1xdraadbrug
Snap! installeren en IoT-board voorbereide
Snap! is een grafi sche ontwikkelingsomgeving die in de vorm
an Snap4Arduino ook speciaal voor Arduino bestaat. Down
oad daarvoor de in deze kalender gebruikte versie van de
software op
aal van het oppervlak op Nederlands in. Klik hiervoor in Sna
4Arduino op het instellingensymbool (tandwiel) en kies in het
u
Om Snap4Arduino met uw bord te kunnen gebruiken, moet u
ttp://www.buch.cd 5. Na de installatie stelt u de
anguage de taalNederlands
In de categorie Arduino vindt u d
oor de besturing van het IoT-boar
rduino IDE en Snap! niet tegelijk gebruiken
rduino IDE en Snap! kunnen niet tegelijk worden gebruikt. Sluit daarom het respectievelijk
n
ndere programma voor u met de door u gewenste omgeving aan de slag gaat
rogramma in Snap! omzette
en programma in Snap! wordt met grafi sche elementen samengesteld die in cate
gorieën zijn ingedeeld. Het menu van de categorieën vindt u linksboven.
rek nu uit
eik. Om de LED‘s in en uit te schakelen gebruikt u het element Plaats digitale pin
waarden zet u via het omschakelbare element
rogramma ook niet stopt, hebt u het luselement uit
ED‘s ook niet onmiddellijk opnieuw omschakelen, bouwt u een pauze van een
nde in via
Voor u het programma kunt starten, moet u het IoT-board met Snap! verbinden.
iervoor klikt u op het element ij een klik op het symbool ziet u de beschikbare aansluitingen. Selecteer de erste aansluiting. Nu klikt u op de groene pijl (rechtsboven) en het verkeerslicht egint reeds te werken.
Extern project in Snap! Openen
et programma voor vandaag bevindt zich in de map
gaat u op het eerste symbool staan en kiest u
apag05 en
et gebruiken
esturinget element met de groene kleur in het middelste werkbe-
eratoren
Opdat het
esturing nodig. Opdat de
esturing
et Arduino verbindenin de categorie
ag05
In de menulijst
rduino
mporteren.... Navigeer naar de
r
ag05-snap.xml Nu is het project geopend en u kunt
Het met Snap! gemaakte programma
5 Anders kunt u ook de meest recente versie downloaden onder
de screenshots afwijken, de programma’s moeten echter toch werken
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1215007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 12 13.08.2017 17:09:3213.08.2017 17:09:32
ttp://snap4arduino.org/. Het oppervlak kan lichtjes van
Page 13
3
6e da
g
r
d
d
.
a
-
o
l
d
-
g06
g
o
g
o
g
geb
-
odel bevat reeds enkele functies
-
lue
tstreeks onder de
de ne Led
3
2
ode
p
p()
...
);
ld:
)){
);
;
}
)){
;
;
}
jkt
.
g
g
1
Vandaag in de adventskalende
•1x LED blauw met voorweerstand
Verbinding met het IoT-boar
andaag bouwt u met uw smartphone een verbinding met het IoT-board en schakelt u de blauwe LED via de smartphone in en opnieuw uit.
Onderdelen: •1x steekplatine, 1 x LED blauw met voor-
weerstan
App voor de besturing installeren
andaag gebruikt u nog geen eigen app, maar stuurt u het
oard via de gratis app Serial Bluetooth Terminal uit de app
De schakeling geli
op de schakeling van dag 3.
store Google Play
et programm
Het programma voor vandaag bouwt op de fi rmware voor het IoT-board verder. De uit de fi rm ware benodigde programma-onderdelen liggen in het bestand
Draadloze verbinding geree
De fi rmware (en dus ook het model) is zo geprogrammeerd dat de oranje LED aan pin 13 per
manent brandt van zodra de draadloze verbinding gereed is. Wacht daarom tot deze LED
randt voor u een verbinding met het IoT-board aanmaakt.
odel.in
in de directory Mode
. da
Kopieer het bestand Model.ino naar een nieuwe directory Da naam Da
06.in
. Anders kunt u onmiddellijk het klare Da
en. Nu opent u het bestand met Arduino IDE. Het m stante voor de interne LED is reeds aanwezig; De Constante
fi nieert u rech
# #defi ne LedPinBlue
Pin 1
n het einde van de meth
oid setu
digitalWrite(LedPinBlue, HIGH
{
interne LED:
setu
wordt de LED ingeschakeld:
en geef het bestand een nieuwe
06.in
uit de directory Da
PinB
voor de bijkomende LED
06
. De con
rui
oor het in- en uitschakelen van de geïntegreerde LED aan pin 13 is de code reeds aanwezig.
Deze wordt nu als volgt aangevu
if (Text.startsWith(“Led aan”) || Text.startsWith(“LED aan”) || Text.startsWith(“LED AAN”
digitalWrite(LedPin, HIGH digitalWrite(LedPinBlue, HIGH)
if (Text.startsWith(“Led uit”) || Text.startsWith(“LED uit”) || Text.startsWith(“LED
UIT”
digitalWrite(LedPin, LOW) digitalWrite(LedPinBlue, LOW)
Na de eerste start verschijnt een leeg zwart venster
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1315007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 13 13.08.2017 17:09:3313.08.2017 17:09:33
Page 14
anneer het board
f
AAN
g
)
g
}
)
””
}
Bij
ecteren.
ected
-
.
invoert en op het pijlsymbool
.
.
-
board
-
.
ntvangt, worden via di n di
italWrite(LedPinBlue, HIGH)
aan o
ed aan
italWrite(LedPin, HIGH
interne LED
n de blauwe LED ingeschakeld. Wanneer het IoT-
oard gegevens ontvangt, wordt de volgende lus
itgevoerd:
while(HC05.available() > 0){ … Text=““;
oeg nu voor de laatste regel een oproep van de nog
e programmeren functie
ookRec(Text
De naam van het netwerk luidt Bluething103 en het wachtwoord is 1234
n deze functie geeft u nu de ontvangen tekst via de draadloze interface uit:
void hookRec(String text) { if (text.startsWith(“echo”) || text.startsWith(“Echo”)) { HC05.print(“>> “ + text);
u kunt u het programma op het IoT-board afspelen. Schakel Bluetooth op uw smartphone in en
electeer het nieuw aangemaakte Bluetooth-netwerk. U ziet de overeenkomstige naam in de seri-
e monitor van de Arduino IDE. Het bijhorende venster opent u via To ols / Seriële monitor.
Via het centrale menu komt u in de instellingen van
e app
e verbinding moet u een wachtwoord invoeren; dit wachtwoord ziet u ook in de seriële monitor.
u start u de eerder geïnstalleerde Bluetooth-app. Ga naar start in het menu (drie boven elkaar
iggende streepjes in de linker rand) van de app in selecteer het menupunt Bluetooth Devices
u kiest u het overeenkomstige netwerk en gaat u naar de terminal door eenmaal op het menu-
ymbool te klikken en dan
n de terminal klikt u op het verbindingssymbool (links naast de prullenmand). Na korte tijd krijgt
de vraag om het wachtwoord in te voeren. Dit luidt 1234 an de verbinding nog niet en daarom klikt u nogmaals op het symbool. Nu moet de verbinding ijn aangemaakt. In het terminalvenster verschijnt de melding
rd communiceren
rminal te sel
while(HC05.available() > 0){
hookRec(Text); Text= }
;
Bij de eerste keer lukt het opbouwen
nn
Nu kunt u met het IoT
In de lijst van de Bluetooth-netwerken vindt u ook
het netwerk van het IoT-
Via echokunt u zien dat de app ook infor
matie van het IoT-board kan ontvangen
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1415007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 14 13.08.2017 17:09:3413.08.2017 17:09:34
Dubbele verbindingsopbouw nodig
.
olang u in de Bluetooth-app nog geen wachtwoord hebt ingevoerd, moet u tweemaal de ver­inding opbouwen. Bij de eerste maal voert u het wachtwoord in en bij de tweede maal wordt
de verbinding aangemaakt.
anneer u nu
rukt, worden beide LED‘s uitgeschakeld. Door Led
an in te voeren, schakelt u de LED‘s opnieuw in.
Elke invoer die met
cho begint, wordt naar het board verzonden en dit zendt de invoer beginnend met twee pijlen terug. De tekst wordt dan door de
De terminal-app is nu gereed voor de communica
ie.
terminal uitgegeven
Page 15
7e da
g
r
-
-
a
ino
en
;
;
;
{
);
);
p()
;
);
;
;
);
;
a
;
;
g
g
5
Vandaag in de adventskalende
•1x potentiometer, 15 kOhm
Stuurbaar looplicht
Het project van vandaag is een looplicht waarvan de snelheid via een potentiometer kan worden gestuurd.
Onderdelen: 1x steekplatine, 1xLED groen met voorweer stand, 1xLED geel met voorweerstand, 1xLED rood met voorweerstand, 1x potentiometer van 15 kOhm, 4 xdraad brug (verschillende lengtes)
et programm
Het programma voor vandaag draagt de naam Tag07. bevindt zich in het downloadarchief in de directory
nt analogPin = A5 nt analogValue
nt led1 = 8; nt led2 = 6 nt led3 = 4;
oid setup()
pinMode(analogPin, INPUT
ag07
7. dag
e potentiometer neemt een beetje plaats in. Daarom moet het IoT-board in vergelijking met
et model, naar boven worden geschoven. LED‘s van links naar rechts: groen, geel en rood.
pinMode(led1, OUTPUT); pinMode(led2, OUTPUT pinMode(led3, OUTPUT); digitalWrite(led1, LOW); digitalWrite(led2, LOW); digitalWrite(led3, LOW); Serial.begin(9600);
oid loo analogValue = analogRead(analogPin); Serial.println(analogValue)
delay(analogValue digitalWrite(led3, LOW); digitalWrite(led1, HIGH)
delay(analogValue) digitalWrite(led1, LOW); digitalWrite(led2, HIGH
delay(analogValue) digitalWrite(led2, LOW); digitalWrite(led3, HIGH);
{
Zo werkt het programm
analogValue = analogRead(analogPin); delay(analogValue) digitalWrite(led3, LOW); digitalWrite(led1, HIGH)
In de tijdelijke variabele analo wordt gewacht en dan worden de LED‘s omgeschakeld.
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1515007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 15 13.08.2017 17:09:3513.08.2017 17:09:35
Pin wordt de in
estelde waarde van de potentiometer gelezen. Via
elay
Page 16
1
6
g
o
n
.
.
s
lBl
.
-
-
.
g
8e da
8. da
Vandaag in de adventskalender
•1x Piez
Tonen via app uitvoere
Via een app geeft u tonen op een piezo uit
nderdelen: 1x steekplatine, 1xPiezo
De twee draden van de piezo worden met D2 en GND verbonden. De rest wordt via software geactiveerd
Ontwikkelingsomgeving voor de app
De besturing van het IoT-board gebeurt in deze adventskalender met de reeds gebruikte app
uetooth Terminal en met zelf-ontwikkelde smartphone apps voor het besturingssysteem Android6. De
afgewerkte projectbestanden kunt u telkens van somgeving wordt MIT App Inventor 2 (ttp://appinventor.mit.edu) gebruikt.
De ontwikkelingsomgeving loopt in de browser. Daarom hebt u tijdens de ontwikkelingstijd ook toegang tot het internet nodig
Met een klik op de knopreate apps! start u de ontwikkelingsomgeving. Voor het gebruik hebt u een gratis account bij Google nodig
Account bij Google aanmaken Als u nog geen account bij Google hebt, maakt u voor de ontwikkeling met de MIT App Inventor 2
AI2) een account aan via https://accounts.google.com.
ttp://www.buch.cd downloaden. Als ontwikkeling-
eria
Nadat u zich met succes hebt aangemeld, bevindt u zich in het dashboard. Hier zit u alle totnogtoe ont wikkelde apps. Aangezien u waarschijnlijk nog geen app met AI2 hebt ontwikkeld, ziet u een leeg dash
rd.
De op het IoT-board geïntegreerde chipset wordt alleen door Android smartphones ondersteund.
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1615007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 16 13.08.2017 17:09:3513.08.2017 17:09:35
Page 17
Het oppervlak is nog niet in het Nederlands beschikbaar
.
de
-
aken.
2
en voer als naam
_
.
MIT A
t.
Om uw zelf-ontwikkelde app ook al tijdens de ontwikkeling snel te kunnen testen, moet u de gratis app MIT AI2 Companion uit Google Play Store op uw smartphone installeren. Na de start moet u
e code van uw app invoeren. Hiervoor moet u eerst een app aan
m
De eerste app met AI
Kik nu op de startknop
eerste_app in. Let op dat de naam geen spaties mag bevatten. Nu
opent de ontwikkelingsomgeving zich in uw browser
Mijn
Tijdens de ontwikkeling start
niet direct de app op, maar
eemt u een omweg via
nventor 2 Companion. Daardoor
espaart u zich een manuele
nstallatie van de app op het
pparaa
pp
Na de start is het oppervlak van de app nog leeg.
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1715007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 17 13.08.2017 17:09:3613.08.2017 17:09:36
Page 18
1
8
de oppervlakte-elementen die voor uw app
p
te zetten e
e
p
ij-
ouc
touched
toe
n
-
g.
ks
d
.
-
.
Het venster is in meerdere delen opgedeeld. Links ziet u in het bereik beschikbaar zijn. Daarnaast ziet u in de app. In
omponents ziet u de in uw app gebruikte onderde­len en in Properties de eigenschappen van de huidige geselec­teerde onderdelen.
Trek nu een opschrift in de vorm van een label in het venster. Pas het opschrift aan door
idth o
opnter:I Nu is het opschrift horizontaal
ecentreerd. Vervolgens verandert u de tekengrootte in
en plaatst u de tekst (Veld: Tekst) op Mijn eerste ap
Nu moet de app nog met een interactie worden uitgebreid. Hier­voor voegt u een knop uit het venster zigt u via
roperties het opschrift in T
u een label met het opschrift
iewer
et oppervlak van
omponents toe en w
h me. Daaronder voegt
: not
n
ntSiz
.
Wijzigingen aan een onderdeel voert u in het venster
wer verandert dan onmiddellijk.
AI2 heeft twee aanzichten voor een app: het aanzicht voor de weergave van het oppervlak, de zoge naamde designer (driver Designer), en het aanzicht voor de programmering in de bloktaal (driver
Blocks. Deze beide drivers ziet u bovenaan de ontwikkelingsomgevin
Via de drivers
esigner en Blocks gaat u naar beide aanzichten van de ontwikkelingsomgeving
roperties uit. Het aanzicht in de vie
App-oppervlak met de drie componente
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1815007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 18 13.08.2017 17:09:3713.08.2017 17:09:37
Nadat u opBlocks
ereik Bloc
e onderdelen
unt reageren
ebt geklikt, opent het aanzicht van de Block-programmeertaal. Kies nu binnen het
utton1 en u ziet al de beschikbare gebeurtenissen waarop u in de app
Page 19
Selecteer nu de twee blokken
en
abe
abel2
-
t
het lege element (bovenste
).
.
utto
ouchDo
p
ouched
.
-
.
.
hen Button1.TouchDown
when Button1.TouchUp. In beide gevallen moet de inhoud
van het l
l L
worden aangepast. Klik hiervoor op Label2 en selecteer het element set Label2.Text to. Ofwel voegt u het element tweemaal in of voegt u het element een maal in en kopieert u het element via het contextmenu (rech­ter muisknop) van de onderdelen.
Onderdelen hebben een contextmenu. Via Duplicate
kopieert u de geselecteerde onderdelen.
Beide onderdelen voegt u nu binnen de beide eerder inge­voegde elementen (when Button1.TouchDown
n
en But-
ton1.TouchUp in. Nu ontbreekt de tekstinhoud nog. Selecteer
iervoor uit de categorie Te x
element
Voor de programmering van de logica, kunt u voor de keuze via categorieën (Built-in of via de
nderdelen (creen1
gaan.
Het element met de twee aanhalingstekens wordt gebruikt om het opschrift te wijzigen
Ingeval van when B
e tekst o
utton1.TouchUp wordt de tekst op
: T
n1.T
wn wordt
ingesteld. Bijwhen
: Not
hed geplaatst
Nu kunt u de app op uw smartphone testen. Selecteer daarvoor in het menu Connect / AI Companion. Nu verschijnt er een tekst- en een QR-code. Voer nu hetzij de code in
AI2 Companion in of scan de QR-code via scan QR code. De app starten u met connect with Code
Nu opent de app zich op uw smartphone. Wan neer u nu de knop aanraakt, verandert de titel.
e tekst van het label wordt bij het aanraken van de knop aangepast
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 1915007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 19 13.08.2017 17:09:3813.08.2017 17:09:38
o eenvoudig is de app-ontwikkeling met AI2
Page 20
Piezo met app besturen
8
o
}
d
ia
/
.
p
-
:
k
k
k
t
meerdere layoutmanagers (bv.
-
.
h
e
uit de categorie
g
de
E
-
-
Om het IoT-board via een app te sturen, hebt u een sketch op het board nodig die op de commando’s van de app reageert en een app. Vandaag moet de meegeleverde piezo via een app worden gestuurd. De sketch die daarvoor nodig is, is
Dag0
Laad deze sketch op het IoT-board op.
ag08.ino in de directory
Bovenaan de app wordt aangeduid of de Bluetooth-verbin
ding al of niet is aangemaakt.
e sketch baseert zich op het reeds gebruikte bestand
odel.in
. Het principe van alle sketches in deze adventskalender die op een app reageren, is als volgt: Er wordt een tekst via de draadloze interface verzonden en deze wordt in de sketch geanalyseerd en dan wordt een actie uitgevoerd. In de andere richting gaat het net zo: De app ontvangt via de draadloze interface een tekst van het IoT-board, analyseert de tekst en voert dan een over­eenkomstige actie uit. Het commando om een melodie af te spelen, luidt
if (Text.startsWith(“Ton”) || Text.startsWith(“TON”) || Text.
tartsWith(“ton”)){
playMelody();
e daarbijhorende app bevindt zich in het bestan
Piezo.a
Importeer het bestand in
elodie:
2.
rojecten in AI2 importeren
Alle apps liggen voorgemaakt als aia-bestanden in het downloadarchief gereed . Om een bestand in AI2 te openen, moet u het projectbestand via het menupunt
rojects
Import project (.aia) from my computer ... importeren
Werkwijze van de ap
e volgende apps die met AI2 opgemaakt werden, zijn aan de hand van een model opge­ouwd en daarom wordt deze app nu beschreven en in het verdere verloop wordt daar aar verwezen. De app bestaat uit in totaal vier bereiken
•Verbindingsbereik
Alle onderdelen in de app in een hiërar-
chisch overzicht. De belangrijke onder
delen werden van sprekende namen
oorzien.
•Werkberei
•App-infoberei
•Intern, niet-zichtbaar berei
In de linker afbeelding ziet u de afzonderlijke bereiken van de app. Bij het verbindingsbereik horen Container_Verbinding enontainer_MAC. De eigenlijke app die ook van project tot project verandert,
evindt zich in
ontainer_App. Deze container bevat het functiebereik (uttonTon
en het app-infobe-
reik (Container_App_Info
Wat is een container?
m de elementen te plaatsen zijn er in de categorie Layou
Horizon-
talArrangement) beschikbaar; deze helpen u bij de horizontale en verticale plaatsing. De elementen
orden binnen een dergelijke layoutmanager geplaatst. Aangezien deze layoutmanagers meestal meer
ere elementen bevatten, worden deze ook containers (layoutcontainers) genoemd
nderdelennamen wijzigen
Wanneer u onderdelen tot een oppervlak in de AI2 toevoegt, hebben de onderdelen een automatisc gegenereerde naam. In tegenstelling tot andere eigenschappen van een onderdeel kunt u de naam niet via het venster
omstige onderdelen en klikt u op de knop
roperties wijzigen, maar in het bereik, Components. Hier selecteert u de overeen-
enam
Het oppervlak bevat in total drie niet-zichtbare onderdelen. Voor het gebruik van Bluetooth hebt u de
nderdelen
onnectivity nodig. De onderdelen worden daarbij slechts
in het oppervlaktebereik getrokken en moeten niet verder geconfi gureerd worden. Voor de keuze van het overeenkomstige Bluetooth-apparaat hebt u het onderdeel
Wanneer_BT_Aan uit
waar
android.bluetooth.adapter.action.REQUEST_ENABL
onnectivity nodig. Aan de ActivityStarter wordt in het venster Properties
ctivityStarter (in de bovenste afbeeldin
toegewezen. Voor de constante controle van
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2015007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 20 13.08.2017 17:09:3913.08.2017 17:09:39
Page 21
de draadloze verbinding wordt het
sConnected
.
aken
k-
-
oet ook ee
.
fte
-
-
slechts de waarde
elodie
d
D
-
.
het
beschikbare
element ding
lock (in de bovenste afbeel-
imer
uit
nsors gebruikt. Het
imerInterval wordt in het venster
Properties op00 gezet.
De programmering gebeurt in de driver
locks Via de Timer wordt de
verbindingsstatus gezet. Via de eigen­schap i of de app met een Bluetooth-apparaat is verbonden
kunt u controleren
Regelmatig wordt gecontroleerd of de draadloze verbinding al of niet bestaat
Bij een klik op de knop Verbinding
m
wordt de lijst van de beschi bare Bluetooth-apparaten weergege­ven. Als de lijst leeg is, moet u in de app terugkeren en dan wordt automatisch na de toegangs autorisering op de Bluetooth-interface gevraagd. Als wachtwoord voert u 1234
n. Wanneer men
opnieuw op de knop klikt, moet de lijst worden weergegeven.
Hier m
n invoer met de naam
luething opduiken. Na een klik op de invoer moet u
nog het wachtwoord 1234 invoeren en de app is met het board verbonden. De weergave van deze lijst wordt via het blok when Verbind.BeforePicking gerealiseerd. Zoals u in het volgende blok ziet, heeft de knop twee functies: Verbinding maken en verbinding ontkoppelen.
Via de knop kan de Bluetooth-verbinding tussen het board en de app geïniti-
rd worden
De verbinding zelf wordt in het blok
ing
emaakt.
hen Verbinde.A
rPik
De bovenste drie blokken zullen in alle apps in deze advents kalender voorkomen. De eigenlijke functionaliteit in de huidige app is in het blok waarde wordt
oor een
n. Het verzen
interface gebeurt via het blok
en buttonTon.Clickgerealiseerd. In deze
M
bepaald, afgesloten
en van een tekst via de draadloze
all Bluetooth.SendTe x t . Als
e verbinding met het geselecteerde apparaat wordt gemaakt.
parameters voert u de tekst in. Vergeet niet een eindcriterium te defi niëren. In dit voorbeeld is het eindcriterium
n.
e
sketch reageert op dit teken.
De naam en
pparaten worden weergegeven.
MAC-adres van de
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2115007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 21 13.08.2017 17:09:3913.08.2017 17:09:39
Blokken naar andere projecten kopiëren
In het bereik Blockszit u een rugzak, het zogenaamde backpack. Hiermee
unt u blokken uit de blokeditor van een project naar een ander project opiëren. Trek gewoon de overeenkomstige blokken in het backpack en u kunt
e blokken in een ander project opnieuw gebruiken. Om het backpack opni euw leeg te maken, klikt u met de rechter muisknop op het werkvlak en kiest u
mpty Backpack.
Strings kunnen via de onderdelenjoin met elkaar worden verbonden.
Page 22
pp teste
n
board verbinde
.
f.
tart de app nu via
ndroid-smartphone op. Scan de QR-code of voer de code in en start de app via connect with
ode. Nu start de app.
onnect / AI Companion en roep de appMIT AI2 Companion op uw
In het begin is de verbinding nog niet actie
lik nu op
De app is nu met het IoT-board verbonden
erbinding maken Nu kunt u zich met het IoT-
n.
anneer u nu Melodie afspelen aanraakt, wordt op het IoT-board een melodie via de piezo
afgespeeld.
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2215007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 22 13.08.2017 17:09:4013.08.2017 17:09:40
Page 23
9e da
g
r
s
-
.
d.
-
d.
n
.
g
ode e
oet met de massa worde
.
sketch voor het IoT-board
g
o
k
:
D
lpl
.
();
();
{
();
}
Vandaag in de adventskalende
•1x RGB-LED met voorweerstand
RGB-LED’
Een normale LED licht altijd slechts in een kleur op. De in de advents kalender gebruikte RGB-LED‘s kunnen naar keuze in meerdere kleuren oplichten. Hier zijn in principe drie LED‘s met verschillende kleuren in een doorzichtige behuizing ingebouwd. Elk van deze drie LED‘s heeft een eigen anode via dewelke ze met een GPIO-pin wordt verbonden. De kathode die met de massaleiding wordt verbonden, is slechts eenmaal aanwezig. Daarom heeft een RGB-LED vier aansluitdraden
De aansluitdraden van de RGB-LED‘s hebben een verschillende lengte om ze uniek kenbaar te maken. In tegenstelling tot normale LED‘s is de kathode
ier de langste draa
RGB-LED‘s werken zoals drie afzonderlijke LED‘s en hebben daarom ook drie voorweerstanden van 220 Ohm (rood-rood-bruin) nodig. In de RGB LED‘s in deze adventskalender zijn deze reeds ingebouw
Kleur van een RGB-LED via app wijzige
andaag programmeert u een app om een kleur van de RGB-LED te veran-
eren
Onderdelen: 1 x insteekprintplaat, 1 x RGB-LED met voorweerstand, 1xdraadbru
. dag
Aansluitpins van een RGB-LE
Ook de RGB-LED heeft reeds de voorweerstanden geïntegreerd. Het tweede been (kort been) is de
kath
n m
n verbonden
Schake
an voor een RGB-LED met 3 voorweerstanden
De
Het programma voor vandaag draagt de naam Ta
irectory
if (Text.startsWith(“Rot”) || Text.startsWith(“ROT”) || Text.startsWith(“rot”)){ rood(); } else if (Text.startsWith(“Blauw”) || Text.startsWith(“BLAUW”) || Text.startsWith(“blauw”)){ blauw } else if (Text.startsWith(“Groen”) || Text.startsWith(“GROEN”) || Text.startsWith(“groen”)){ groen } else if (Text.startsWith(“Uit”) || Text.startsWith(“UIT”) || Text.startsWith(“uit”)) uit
ag09. De s
etch reageert op vier toetsen
09.in
en bevindt zich in het downloadarchief in de
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2315007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 23 13.08.2017 17:09:4113.08.2017 17:09:41
Page 24
Elke kleur heeft een eigen functie binnen de sketch. Daarna wordt de functie rood() voor
-
:
{
;
);
;
pp
-
face verzonde
ood wordt
d
e
i
erzonden.
ld.
gesteld
oid rood() Serial.println(“Rot”) analogWrite(redPin, HIGH analogWrite(greenPin, LOW); analogWrite(bluePin, LOW)
De a
De daarbij horende app bevindt zich in het bestand RGB.aia Importeer het bestand in AI2.
Afhankelijk van de ingedrukte knop wordt een overeenkomstige tekst via de Bluetooth inter
onden, voor groen wordt groen\n
n: Voor r
roo
\n
erzonden, voor blauw wordt
erzonden, en voor het uitschakelen u
t\n v
auw\n v
r-
De LED‘s worden via vier knoppen geschake
De blokken in de AI2
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2415007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 24 13.08.2017 17:09:4213.08.2017 17:09:42
Page 25
10e da
g
r
p
.
)
-
-
g
.
aar
g
sketch
g
o
0
:
loo
{
();
}
{
{
;
}
}
}
);
{
n
luetooth Te
-
d.
.
5
Vandaag in de adventskalende
•1x kno
Toetsdruk weergeven
andaag reageert uw IoT-board op een mechanische druk op de
knop en geeft een melding aan de draadloze interface door
Onderdelen: 1x steekplatine, 1xknop, 1xpotentiometer, 5xdraadbruggen (verschillende lengtes
Digitale pins kunnen niet alleen gegevens uitgeven, bijvoor
eeld via LED‘s, maar ook voor gegevensinvoer worden gebruikt. Voor de invoer gebruiken wij in het huidige project een knop die rechtstreeks op de steekplatine wordt gestoken. De knop heeft vier aansluitpins, waarbij telkens twee tegen overliggende (grote afstand) met elkaar verbonden zijn. Zolan
e knop ingedrukt is, zijn alle vier de aansluitingen met elkaar verbonden. In tegenstelling tot een schakelaar klikt een knop niet in. De verbinding wordt bij het loslaten onmiddellijk opnieuw verbroken
s er met een digitale ingang een +5-V-signaal verbonden is, wordt deze als logischw
Bij een open knop heeft de ingang geen uniek gedefi nieerde toestand. Wanneer een programma deze pin opvraagt, kan het tot toevallige resultaten komen. Om dat te voorkomen, sluit met ter vergelijkin een zeer hoge weerstand tegen massa. Deze zogenaamde Pull down-weerstand trekt de status van de ingangspin bij geopende knop opnieuw naar beneden tot 0 V. Aangezien de weerstand zeer hoog is,
estaat er ook geen kortsluitingsgevaar zolang de knop is ingedrukt. In de ingedrukte toestand zijn +5 V en de massaleiding rechtstreeks via deze weerstand verbonden.
et IoT-board is zeer lang en daarom moet de toets dwars over het steekplatine worden gesto
en en deels moeten de draadbruggen onder de aangesloten USB-kabel worden geleg
geanalyseerd.
0. dag
De
Het programma voor vandaag draagt de naam Ta
irectory
int reading = digitalRead(buttonPin);
if (reading != lastButtonState) lastDebounceTime = millis
if ((millis() – lastDebounceTime) > debounceDelay) { if (reading != buttonState) buttonState = reading;
if (buttonState == HIGH) ledState = !ledState
digitalrite(LedPin, ledState
ag1
. Door het oproepen van
{
igitalRead wordt geanalyseerd of de knop ingedrukt werd
ls de knop werd ingedrukt, wordt een bericht via de draadloze interface verzonden:
if (reading != lastButtonState)
HC05.print(“Knop ingedrukt\n”);
10.in
en bevindt zich in het downloadarchief in de
Reactie van het IoT-board weergeve
oor de weergave van de druk op de knop op de smartphone, wordt de reeds gebruikte app
rial B
e knop de melding
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2515007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 25 13.08.2017 17:09:4213.08.2017 17:09:42
rminal gebruikt. Na de verbinding met het IoT-board wordt bij een druk op
weergegeven.
Ontvangen meldingen worden in het groen in het
terminalvenster geschreven
Page 26
11e da
g
d
-
g
h
i
b
h
l:
-
en
n
.
g.
g
11. da
Vandaag in de adventskalender
•1x schakeldraa
Door de geïntegreerde voorweerstanden is de schakeling zeer compact. LED’s van links naar
rechts: rood en groen.
ED-echo via app
Het huidige project is een LED-echo. Ze stellen een sequentie
ia twee knoppen in de app in en de LED‘s op het steekplatine
knipperen in deze sequentie.
nderdelen:
x steekplatine , 1xLED rood met voorweer
tand, 1xLED groen met voorweerstand, 1x draadbru
e sketc
Het programma voor vandaag is Tag11.
irectory
ag11. De ec
osequentie wordt door de app bepaald.
Daarbij komt de tekst in de volgende vorm: RNNGNN. R staat
oor rood en G voor groen, bv. R5G3 – hier zou de roe LED vijf-
maal knipperen en daarna de groene LED driemaa
if (Text.indexOf(“R”) != -1 && Text.indexOf(“G”) !=
1) {
zetKleur(Text);
else if (Text.startsWith(“Uit”) || Text. tartsWith(“UIT”) || Text.startsWith(“uit”)){
uit();
no en
evindt zich in de
e app
De app heeft naast de reeds bekende Verbinding maken vier knoppen: Rood
en overdragen
Bij het aanraken van
aarden terugzette
ood of
roen wordt het overeenkomstige label met een verhoogd. Met
Waarden terugzettenzet u beide waarden terug op 0. Met Waarden overdragen bepaalt u
e waarden aan het IoT-board. De te bepalen waarde wordt daarbij in een globale variabele tussenopgeslagen. De inhoud van de variabelen wordt bij het aanraken via Bluetooth naar Waarden overdragen overgedragen
oor elke knop is er een aparte when.Click-vraa
roen
aar
De app gebruikt de reeds gekende app van dag 8.
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2615007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 26 13.08.2017 17:09:4313.08.2017 17:09:43
Page 27
12e da
g
r
d
n
uetooth.
-
g
h
2
500d4 dat elke
500 ms brandt e
et
:
{
;
);
;
p
-
.
.
-
luetooth Devices
.
Vandaag in de adventskalende
•1x LED oranje met voorweerstan
Looplichtsnelheid via app instelle
In het huidige project stuurt u de snelheid van een looplicht via Bl
Onderdelen: 1x steekplatine, 1xLED rood met voorweer stand, 1xLED oranje met voorweerstand, 1xLED groen met voorweerstand, 1xdraadbru
De sketc
Het programma voor vandaag is Tag12.ino de directory
ag1
. Voor de sturing van het looplicht zijn twee parameters nodig: de wachttijd terwijl een andere LED oplicht en het aantal doorlopen. Deze waarden worden door de app in een string van de vorm wTTTdNN verzonden Bijvoorbeeld
kent w
LED
inschakelen van een andere LED wordt 500 ms gewacht. In totaal zou het looplicht viermaal lopen
if (Text.indexOf(“w”) != -1 && Text.indexOf(“d”) != -1)
String temp = Text.substring(Text.indexOf(“w”)+1,Text.indexOf(“d”)); int wachttijd = temp.toInt() temp = Text.substring(Text.indexOf(“d”)+1 int doorlopen = temp.toInt(); looplicht(wachttijd, doorlopen)
n bevindt zich in
ooplicht met drie LED’s: rood, oranje en groen
n voor h
2. dag
e ap
Om de waarden te bepalen wordt de app van de verbinding kunt u rechtstreeks het commando in het beschreven formaat naar het IoT
rd verzenden
erial Bluetooth Terminal gebruikt. Na het aanmaken
In de uitgave ziet men dat twee verbindingspogin
gen nodig zijn voor een succesvolle verbinding met
et IoT-board. Als de verbinding niet slaagt, contro-
eert u via het menupunt B
het juiste toestel hebt gekozen
of u
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2715007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 27 13.08.2017 17:09:4413.08.2017 17:09:44
Page 28
13e da
g
d
-
h
3
ode
leur
t
:
{
();
}
““;
e
geg
e
:
{
{
{
();
;
{
{
g
13. da
Vandaag in de adventskalender
•1x LED roze met voorweerstan
De roze LED wordt gebruikt om de opgebouwde verbinding te signaleren;
while(HC05.available() > 0){ Teken = HC05.read(); Text.concat(Teken); if (Teken == ‚\n‘) { if (Text.indexOf(“R”) != -1 && Text.indexOf(“G”) && Text.indexOf(“B”) ) zetKleur(Text); } else if (Text.startsWith(“Uit”) || Text.startsWith(“UIT”) || Text.startsWith(“uit”))
GB via slider in app aanpassen
Een RGB-LED kan niet alleen een van de drie grondkleuren weergeven, maar ook overgangen. Met behulp van een app kunt u de kleur van de RGB-LED precies instellen.
Onderdelen: 1x steekplatine , 1xRGB-LED met voorweer stand, 1xLED roze met voorweerstand, 1x draadbrug
e sketc
et programma voor vandaag is Tag13.ino
n de directory
ag1
. De sturing van de RGB-LED gebeurt via een string in de vorm RNNNGNNNBNNN. Slechts wanneer een string in deze vorm door het IoT-board wordt ontvangen, wordt de kleur via de meth te schakelen, moet de string
K
i
verzonden worden
n bevindt zich
gezet. Om de LED uit
uit
Text=
In de functi opgedeeld en de waarden vervolgens via
void zetKleur(String text) if (text.indexOf(“R”) != -1 && text.indexOf(“G”) && text.indexOf(“B”) ) String temp = text.substring(text.indexOf(“R”)+1,text.indexOf(“G”)); if (temp.indexOf(“.”) != -1) temp = temp.substring(0, temp.indexOf(“.”)); } int rot = temp.toInt
temp = text.substring(text.indexOf(“G”)+1,text.indexOf(“B”)) if (temp.indexOf(“.”) != -1) temp = temp.substring(0, temp.indexOf(“.”)); } int groen = temp.toInt();
temp = text.substring(text.indexOf(“B”)+1); if (temp.indexOf(“.”) != -1) temp = temp.substring(0, temp.indexOf(“.”)); } int blauw = temp.toInt(); analogWrite(redPin,rood); analogWrite(greenPin,groen); analogWrite(bluePin, blauw); } }
zetKleur wordt de over
even tekst met de methode substring in afzonderlijke delen
nalogWrit
geschreven
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2815007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 28 13.08.2017 17:09:4513.08.2017 17:09:45
Page 29
e ap
p
a
-
.
-
l
t
aadloze
face verzonden.
-
.
I2 dient als ontwikkelingsomgeving voor de huidige app. Importeer daarvoor het bestand
RGB_Slider.ai
Door het indrukken van board verzonden
. Via drie slides wordt de waarde van het respectievelijke kleur ingesteld.
leur zetten wordt de waarde van de drie sliders naar het IoT
Bij het aanraken van Kleur zetten wordt de te bepalen tekst in de variabele gezet. Via B
De samenstelling van de string gebeurt viajoin
uetooth.SendTex
wordt de tekst via de dr
dat men ook kan dozen kan.
inter
r samen
lke slider is samen met een label in een HorizontalArran
ement
Opdat de sliders allemaal onder elkaar zijn, werd
de breedte van de drie labels op 15% ingesteld
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 2915007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 29 13.08.2017 17:09:4513.08.2017 17:09:45
Page 30
14e da
g
d
m
leicontact
-
.
)
n
g
-
-
-
.
-
.
.
h
b
4
d
-
:
{
);
{
);
.
tacten aan het IoT-board
g
14. da
Vandaag in de adventskalender
•1x boetseerklei roo
•1x weerstand 20 MOh
Het uiteinde van beide uitstekende draadbruggen gaat telkens in een stuk boetseerklei.
U vormt het best telkens een kleine ronde bol. Het boetseerkleicontact aan A3 wordt als
ingang gebruikt
ma voor sensorcon
Ze laat zich in elke willekeurige vorm brengen en een boetseerkleicontact kan veel makkelijker worden vastgenomen dan een eenvoudig stuk draad. Het oppervlak waarmee de hand het contact raakt, is dui delijk groter. Zo komt het niet zo snel tot een “loszittend contact”. Snijd een lang stuk van ongeveer 10 cm van de schakeldraad af, verwijder aan beide uiteinden over ongeveer 1 cm lengte de isolatie en steek het ene uiteinde in een stuk boetseerklei. Steek het andere uiteinde in het steekplatine, zoals op de afbeelding
rk
Vandaag gebruikt u de inbegrepen boetseerklei als invoer en wijzigt u bij het aanraken van de boetseerklei de achtergrond kleur van een oppervlak in de app
nderdelen: 1x steekplatine, 2x stukboetseerklei, 1xweer-
tand 20 MOhm, 3xdraadbruggen (verschillende lengtes
Zo werken sensorcontacte
De als ingang geschakelde pin is via een extreem hoog-ohmige weerstand (20 MOhm) met +3,3V verbonden zodat een
wakke, maar duidelijk als High gedefi nieerd signaal aanwezi is. Een mens die niet helemaal vrij in de lucht zweeft, is altijd geaard en levert via de elektrisch geleidende huid een Low niveau. Als deze mens nu een sensorcontact aanraakt, wordt het zwakke High-Signal met het duidelijk sterkere Low-niveau
an de vingertop gemengd en trekt de pin naar Low-niveau.
Hoe hoog de weerstand tussen hand en massa werkelijk is, hangt
an veel dingen af, onder meer van schoenen en vloer. Blootsvoets in het natte gras is de verbinding met de massa van de aarde het best, maar ook op een stenen vloer werkt het meestal goed. Hou
en vloeren isoleren beter, kunststof vloerbekledingen zijn vaak
elfs positief geladen. Opdat de schakeling altijd werkt is, zoals bij sensortoetsen aan liften en deuren bij elke schakeling een bijko mend massacontact voorzien. Als men dit aanraakt en tegelijk de eigenlijke sensor, is de massaverbinding in elk geval aangemaakt
Boetseerklei leidt de stroom ongeveer zo goed als menselijke huid.
Het IoT-board beschikt over analoge ingangen die zeer goed geschikt zijn voor sensorcontacten. Analoge ingangen leveren waarden tussen 0 (low niveau) en 1023 (high niveau): waarden tussen 100 en 200 zijn goede grenswaarden om een onderscheid te maken tussen aangeraakt en niet-aangeraakt sensorcontact
De sketc
Het programma voor vandaag is
eze sketch kan heel snel worden geprogrammeerd. Met neer deze onder de drempelwaarde ligt, dan wordt via de draadloze interface een tekst met verzonden
void loop() sensorValue = analogRead(sensorPin
if (sensorValue < 256) HC05.print(“LOW\n” delay(1000); }
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3015007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 30 13.08.2017 17:09:4613.08.2017 17:09:46
ag14.ino en
evindt zich in de directory
nalogRea
wordt de waarde ingelezen en wan
ag1
De eigenlijke functie in
C05.print
Page 31
e ap
p
a
.
.
.
steunt ook else en else-if
.
.
a
eceiveText
ld.
ette
ecteren.
De huidige app achtergrondkleur heeft
Om te controleren of een tekst via de Bluetooth-interface werd verzonden, moet regelmatig worden gecontroleerd of er een tekst aanwezig is. Dit wordt in de aanwezige timer gedaan
Blokken confi gureren De elementen in het bereik Blocks in de blokeditor kunnen deels geconfi gureerd worden. De confi guratie gebeurt via het blauwe tandwiel aan het onderdeel
oetseerklei_schakelaar.ai
bevat een label dat bij het begin oranje als
1
De if-blok onder
.
Klik dan op het element dat u wilt gebruiken en het onderdeel verandert al
Totnogtoe werd de timer alleen gebruikt om de status van de draadloze verbinding weer te geven
i
h.R
wordt de
tekst via de draadloze interface gelezen.
Opdat het gekleurde label goed zichtbaar is, werden
reedte en hoogte op 30 pixels ingeste
De te z
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3115007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 31 13.08.2017 17:09:4613.08.2017 17:09:46
n kleur kunt u via een keuzeveld sel
Page 32
15e da
g
m
h
i
b
y
l
d
-
d
.
{
);
);
{
}
{
}
{
);
}
pp
uetoot
-
boetsee
tact leidt tot
l.
g
5. da
Vandaag in de adventskalender
•1x weerstand 20 MOh
Het uiteinde van drie uitstekende draadbruggen gaat telkens opnieuw in een stuk boetseerklei.
Omwille van de twee boetseerkleicontacten hebt u ook twee weerstanden met een hoge Ohm-
waarde nodig.
erschillende boetseerkleicontacten
Nu gebruikt u twee boetseerkleicontacten en toont u in een app, welke contacten werden ingedrukt.
Onderdelen: 1x steekplatine, 3x stukboetseerklei,
xweerstand 20 MOhm, 4xdraadbruggen (verschillende
lengtes)
e sketc
et programma voor vandaag is Tag15.
irector
een boetseerkleicontact via
ag15. Zoa
s reeds op dag 14 wordt het indrukken van
nalogRea
seerkleicontact is er een extra variabele. Via dan het commando aan de draadloze interface doorgegeven
void loop() sensorValue1 = analogRead(sensorPin1 sensorValue2 = analogRead(sensorPin2
if (sensorValue1 < 256) HC05.print(“Contact 1\n”);
if (sensorValue2 < 256) HC05.print(“Contact 2\n”);
if (sensorValue1 < 256 || sensorValue2 < 256) delay(1000
no en
evindt zich in de
ingelezen. Voor elk boet
C05.print wor
t
Het aanraken van een
e geprogrammeerde uitvoer in de termina
rkleicon
e a
oor de weergave van de teksten wordt de app erbinding met het IoT-board en de teksten moeten verschijnen van zodra u een boetseerkleicon
aanraakt.
rial Bl
h Terminal gebruikt. Maak eerst
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3215007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 32 13.08.2017 17:09:4713.08.2017 17:09:47
Page 33
16e da
g
r
d
n
d
h
aadloze
face:
;
.
{
;
O
f
igi
e
.
);
);
}
);
;
pp
pp
a
luetooth.SendText
.
g.
t
Vandaag in de adventskalende
•1x knipper-LED rood met voorweerstan
Knipper-LED via app sture
ia een knop schakelt u de knipper-LED in en via een andere
knop opnieuw uit.
Onderdelen: •1x steekplatine, 1 x knipper-LED rood met voorweerstan
De sketc
Het programma voor vandaag is Tag16.ino en bevindt zich in de directory
r
if (Text.startsWith(“Aan”) || Text.startsWith(“AAN”) || Text.startsWith(“aan”)){ aan()
else if (Text.startsWith(“Uit”) || Text startsWith(“UIT”) || Text.startsWith(“uit”)) uit()
Het schakelen van de knipper-LED gebeurt in twee afzonderlijke functies. Daarbij wordt dan alleen de waarde L
ag16. De sketch reageert op
inter
W o
HIGH via d
an nit
talWrit
n de
Ook de knipper-LED heeft een voorweerstand en daarom heeft deze geen bijkomende elemen-
en voor de schakeling nodi
geschreven
6. dag
void aan() { Serial.println(“Aan” digitalWrite(blinkPin, HIGH
void uit() { Serial.println(“Uit” digitalWrite(blinkPin, LOW)
}
De a
De a
Blinker.ai
heeft twee knoppen om de knipper-LED in en uit te schakelen.
oor het verzenden wordt de reeds gekende methode
B
gebruikt.
Boven beide knoppen (Aan en Uit) bevindt zich als positio-
neringselement een
erticalArrangemen
Denk eraan dat u bij het verzenden ook het eindcriterium aan de string hangt
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3315007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 33 13.08.2017 17:09:4813.08.2017 17:09:48
Page 34
17e da
g
e
.
h
7
abele
e
p
:
;
dt d
d
{
);
);
);
uetoot
-
g
.
17. da
Vandaag in de adventskalender
•1x potentiometer
Een potentiometer is van uit programmeerzicht niets anders dan een analoge sensor
nt sensorPin = A5 nt sensorValue = 0;
In de methode
oop wor
e waarde via
ven. Daarna wordt 2000 ms gewacht en de waarde wordt opnieuw gelezen:
eergave van de weerstandswaard
Vandaag meet u de waarde van een potentiometer via een analoge ingang en voert u de waarde in een app uit
Onderdelen: 1x steekplatine, 1xpotentiometer van 15kOhm, 4xdraadbruggen (verschillende lengtes)
e sketc
et programma voor vandaag is Tag17.ino en bevindt zich in
de directory
n
ensorValu
analoge ingang 5 en daarom wordt sensorPin o
nalogRea
ag1
. Eerst worden de twee vari
n
ensorPin
gedefi nieerd. De potentiometer hangt aan de
5 gezet
ingelezen en aan de draadloze interface doorgege-
void loop() sensorValue = analogRead(sensorPin HC05.print(“Waarde potentiometer = “ HC05.println(sensorValue); delay(2000
e app
Voor de weergave van de teksten wordt de app
ing met het IoT-board en u ziet de waarden van de potentiometer.
rial Bl
h Terminal gebruikt. Maak eerst verbin
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3415007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 34 13.08.2017 17:09:4913.08.2017 17:09:49
Page 35
18e da
g
r
t
j
.
-
h
8
top
top
tschakele
.
{
{
();
;
} el
{
}
pp
ia
luetooth.SendText
p
aadloze
face verzonden.
.
g
5
Vandaag in de adventskalende
•1x jumperkabel
RGB-looplich
ia een app stuurt u de knipperduur van een RGB-LED. Daarbi knippert de LED in afwisselende kleuren. Het knipperen kunt u daarbij ook opnieuw uitschakelen
Onderdelen: 1 x steekplatine, 1 x RGB-LED met voorweer stand, 1 x jumperkabel
De sketc
Het programma voor vandaag is Tag18.ino en bevindt zich in de directory op een verzonden cijfer. In geval van s uitgeschakeld. Als een cijfer aankomt, wordt het als wachttijd
n het in- en ui
de RGB-LED gebruikt
if (Teken == ‚\n‘)
Serial.println(Text); if (Text.startsWith(“stop”)) uit knipperDuur = 0
se
knipperDuur = leesKnipperduur(Text);
ag1
. De sketch reageert op de tekst s
wordt de RGB-LED
n van een van de drie LED‘s van
en
8. da
oor de geïntegreerde voorweerstanden is de schakeling zeer compact.
De a
e app
GB_Looplicht.a
van het knipperen.
ia het reeds gekende commando B
o
via de dr
De wachttijd wordt niet extra gecodeerd, maar alleen de waarde van de slider, gevolgd door een afsluitende \n
verzonden.
heeft een slider en twee knoppen voor het in- en uitschakelen
worden de wachttijd en de tekst
inter
De minimale waarde van de slider is 0 en de maximale
waarde is 2000. De waarden staan voor de wachttijd in mil-
liseconden
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3515007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 35 13.08.2017 17:09:4913.08.2017 17:09:49
Page 36
19e da
g
l
-
.
-
h
:
D
;
;
;
gb
-
{
;
a
.
.
t
.
-
.
g
19. da
Vandaag in de adventskalender
•1x jumperkabe
De RGB-LED heeft weer geen voorweerstanden nodig. De jumperkabel gebruikt u om de mas
saverbinding te maken;
app voor selectie van hardware-apps
Vandaag worden twee functies in een schakeling gecombi neerd: Geluidsweergave met piezo en knipperen van een RGB­LED. Via de app kiest u de overeenkomstige functie
Onderdelen: 1 x steekplatine, 1 x RGB-LED met voorweer stand, 1 x piezo, 1 x jumperkabel
e sketc
et programma voor vandaag is Tag19.ino en bevindt zich in de directory worden gedefi nieerd
//---- pins van RGB-LE
nt redPin = 9; nt greenPin = 7 nt bluePin = 8
---- Pin Piezo
nt piezo = 3
ag19. Eerst moeten de juiste pins als variabele
De sketch reageert op de commando’s
iezo en r
De methodes werden uit de voor
gaande sketches overgenomen:
if (Text.startsWith(“piezo”)){ uit(); playMelody(); } else if (Text.startsWith(“rgb”)) knipperen(500); }
e app
e app
pp_Wisselaar.ai
De functie is in twee when.Click-blokken afgebeeld. Alleen de te verzenden tekst wordt aangepast
heeft twee knoppen om tussen piezo en RGB te wisselen
Deze app gebruikt de reeds gekende elementen uit de
ndere apps om de verbinding te maken. Via Verbinding
aken maakt u een verbinding
De blokken zijn zeer gelijkaardig. Pas in zulke gevallen op da
u de juiste knop in het when.Click-blok kiest
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3615007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 36 13.08.2017 17:09:5013.08.2017 17:09:50
Page 37
20e da
g
r
C
-
)
h
0
l
d
uetoot
:
;
p
uetoot
.
.
Vandaag in de adventskalende
•1x NT
Warmtesensor in de app
In het huidige project wordt een NTC voor de temperatuurme ting gebruikt. U kunt het project bv. goed testen door met de NTC dichter bij een kaars op de adventskrans te komen.
Onderdelen: 1x steekplatine, 1x NTC, 1xpotentiometer van 15 MOhm, 6xdraadbruggen (verschillende lengtes
De sketc
Het programma voor vandaag is Tag20.ino en bevindt zich in de directory oproep van ana app verzonden, vervolgens wordt 2 seconden gewacht en dan opnieuw de waarde ingelezen en verzonden
oid loop() { sensorValue = analogRead(sensorPin); HC05.print(“Waarde van de NTC = “) HC05.println(sensorValue); delay(2000);
ag2
. De sketch is zeer eenvoudig opgebouwd. Na
ogRea
wordt de waarde via Bl
h naar de
20. dag
Vergeet niet de weerstand van 10 kOhm te gebruiken anders zult u niet tevreden zijn met de
meetresultaten
De ap
oor de weergave van de teksten wordt de app verbinding met het IoT-board en u ziet de waarden van de NTC. Wanneer de waarden kleiner worden is dit een teken voor stijgende temperatuur
rial Bl
h Terminal
ebruikt. Maak eerst
Zoals reeds in de andere projecten worden ontvan-
en gegevens in groene tekst weergegeven. Vergeet
in de sketch niet om
krijgt u teveel waarden.
elay op te roepen anders
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3715007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 37 13.08.2017 17:09:5113.08.2017 17:09:51
Page 38
21e da
g
n
.
h
1
g
y
{
);
);
uetoot
-
-
;
g
21. da
Vandaag in de adventskalender
•1x fototransistor
•1x weerstand 1 kOhm
De opbouw is gelijkaardig aan dag 20. Voorzichtig: Er wordt een andere weerstand gebruikt en
de verbinding met VCC (+5 V-) is belangrijk.
void loop() sensorValue = analogRead(sensorPin HC05.print(„Waarde van de fototransistor = „); HC05.println(sensorValue); delay(2000
elderheid en duisternis in de app mete
Nu hebt u een bijkomende sensor voor uw projecten. Met de
ototransistor kunt u helderheid en duisternis weergeven. Dit leert u vandaag. Met deze kennis kunt u snel een detectiecel bouwen en hebt u zo een alarminstallatie met weergave in een app
nderdelen: 1x steekplatine, 1x fototransistor, 1xweerstand
kOhm, 3xdraadbruggen (verschillende lengtes)
e sketc
Het programma voor vandaag is Tag21.ino en bevindt zich in
e directory
oordien. Als u meer waarden op uw smartphone wilt zien,
moet u de wachtduur bij het oproepen van
ag2
. De sketch gelijkt op de sketch van de da
ela
verminderen.
De app
Voor de weergave van de teksten wordt de app ding met het IoT-board en u ziet de waarden van de fototransistor. Kijk hoe de waarden bij licht en duis ternis veranderen
rial Bl
h Terminal gebruikt. Maak eerst verbin
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3815007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 38 13.08.2017 17:09:5213.08.2017 17:09:52
Page 39
22e da
g
r
m
.
)
h
2
l
d
p
uetoot
.
.
Vandaag in de adventskalende
•1x vochtigheidssensor
•1x weerstand 1 kOh
Vochtigheidsmeter
andaag krijgt u nogmaals een sensor, een vochtigheidssensor.
Daarmee kunt u de vochtigheid meten
Onderdelen: 1x steekplatine, 1x vochtigheidssensor, 1xweerstand 1 kOhm, 3xdraadbruggen (verschillende lengtes
De sketc
Het programma voor vandaag is Tag22.ino en bevindt zich in de directory was, wordt de sensor via ana aan de draadloze interface doorgegeven:
oid loop() { sensorValue = analogRead(sensorPin); HC05.print(„Waarde van de vochtigheidssensor = „); HC05.println(sensorValue); delay(2000);
ag2
. Zoals reeds de voorbije dagen het geval
ogRea
uitgelezen en de waarde
22. dag
fritzing
e schakeling gelijkt op de schakeling van dag 21. De sensor moet slechts
worden vervangen
De ap
oor de weergave van de teksten wordt de app ding met het IoT-board en u ziet de waarden van de vochtigheidssensor. Neem de vochtigheidssensor tussen twee vingers en kijk naar de ontwikkeling van de waarden
rial Bl
h Terminal gebruikt. Maak eerst verbin-
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 3915007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 39 13.08.2017 17:09:5213.08.2017 17:09:52
Page 40
23e da
g
l
-
.
)
h
o
code wordt
:
)){
.
;
;
;
;
}
ode
n
.
);
;
{
;
}
pp
code.aia
-
dkl
d.
l
t
.
g
23. da
Vandaag in de adventskalender
•1x jumperkabe
Opdat de knop ook goed werkt, wordt een spanningsdeler via de potentiometer opgebouwd. In
plaats van de draadbruggen kunt u ook de jumperkabels gebruiken
Codebreker
et huidige project is een klein spel: In een app stelt u een code in. Deze code geeft u aan het IoT-board door. Nu moet de code met de knop worden ingegeven. Wanneer de code correct werd ingegeven, brandt de rode LED en in de app wordt weer
egeven dat de code correct werd ingegeven. Anders brandt
de rode LED niet en in de app wordt weergegeven dat de code
erkeerd werd ingegeven
nderdelen:
x steekplatine, 1x knop, 1 x LED rood met
oorweerstand, 1xpotentiometer van 15 kOhm, 5xdraad-
ruggen (verschillende lengtes
e sketc
et programma voor vandaag is
n de directory
ag23
De
epaald
if (Text.startsWith(“C” aantalKnoppen= Text.substring(Text indexOf(“C”)+1).toInt()
ag23.in
en bevindt zich
in de vorm van CNNN
Via een gekleurd label wordt weergegeven of de code via
de hardwareknop al of niet correct werd ingevoerd.
n totaal heeft de speler vijf seconden tijd om de code in te voeren.
interval = millis() – start Serial.println(interval); while (interval < 5000) { pressed += knopAnalyseren(); delay(100) interval = millis() – start
Via de meth
nopAnalysere
wordt gecontroleerd of op een knop werd gedrukt. Tussen
de controles wordt 100 ms gewacht. Het resultaat wordt aan de app teruggegeven
if (pressed == aantalKnoppen) { HC05.print(“JA” digitalWrite(redPin, HIGH); delay(5000) digitalWrite(redPin, LOW); } else HC05.print(“NEEN”)
e app
e a
voerde code weergegeven en met het tweede label wordt de speelstatus weergegeven. Als
e code correct via de hardwareknop werd ingevoerd, wordt de achtergron
abel voor de speelstatus op groen gezet, anders op roo
e code wordt in een globale variabele tussenopgeslagen en dan met B
epaald.
r
heeft drie knoppen en twee labels. Met het ene label wordt de inge
eur van het
uetooth.SendTex
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 4015007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 40 13.08.2017 17:09:5213.08.2017 17:09:52
Page 41
Aangezien drie knoppen voor het spel nodig zijn, zijn er ook drie when.Click-blokken
.
.
Het ontvangen van teksten van het IoT-block gebeurt in de periodieke timer. Hierbij wordt de timer gebruikt die reeds voor de weergave van de verbindingsstatus wordt gebruikt.
Bij ontvangst van JA wordt de achtergrondkleur op groen gezet, anders op rood
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 4115007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 41 13.08.2017 17:09:5313.08.2017 17:09:53
Page 42
24e da
g
h
4
e
s
:
)){
;
);
);
ijd
();
;
{
);
}
;
;
);
}
pp
pp
a
.
.
g
24. da
Vandaag in de adventskalender
•1x knop
De huidige schakeling gelijkt op de schakeling van de dag voordien. De rode LED werd slechts
oor een groene LED vervangen
eactiespel
Tot slot van de adventskalender is er nog een klein reactiespel. Via een knop in de app start u het spel. De LED op het steek­platine gaat aan en zodra de LED uit gaat, moet u op de knop
rukken; De duur wordt in de app weergegeven.
Onderdelen: 1x steekplatine, 1x knop, 1 x LED groen met
voorweerstand, 1xpotentiometer van 15 kOhm, 5xdraad-
bruggen (verschillende lengtes)
e sketc
et programma voor vandaag is Tag24.ino en bevindt zich in de directory gemeten tot op de knop wordt gedrukt
if (Text.startsWith(“START”
digitalWrite(greenPin, HIGH) delay(1000 digitalWrite(greenPin, LOW
ag2
. Via de functi
milli
wordt de tijdsduur
//Startt int duur = millis
Serial.println(interval) while (knopAnalyseren() != 1) delay(100
duur = millis() – duur HC05.print(duur) digitalWrite(greenPin, LOW
De a
e a
eactiespel.ai
van de knop wordt de tekst via de draadloze interface verzonden. De inkomende tekst van
et IoT-board wordt in het label boven de knop weergegeven.
heeft een knop met het opschrift Spel starten. Bij het indrukken
Boven de knop
wanneer een tekst van het IoT-board aankomt, wordt de
tekst in het label gezet
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 4215007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 42 13.08.2017 17:09:5413.08.2017 17:09:54
pel starten ligt een label zonder tekst. Pas
Page 43
4
3
k
T
.
.
!
Om het spel te starten wordt bij een klik op de knop geanalyseerd en de tekst
TAR
via de draadloze interface bepaald
el starten het blok when startButton.clic
Het analyseren van de draadloze interface moet altijd in een timer gebeuren. Want men weet niet precies wanneer een datapakket
aankomt
Zalig kerstmis
15007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 4315007-3 Conrad Adventskalender Internet of Things 2017_nl.indd 43 13.08.2017 17:09:5413.08.2017 17:09:54
Loading...