Arduino cursus/Dag 4: verschil tussen versies

Uit Lab
Naar navigatie springen Naar zoeken springen
 
(8 tussenliggende versies door dezelfde gebruiker niet weergegeven)
Regel 1: Regel 1:
{{Zijbalk Arduino cursus Dag3}}
{{Zijbalk Arduino cursus Dag4}}
== Dag 4 Arduino cursus ==
== Dag 4 Arduino cursus ==


Regel 9: Regel 9:
** test (voor zover het kan) het resultaat van elke stap
** test (voor zover het kan) het resultaat van elke stap
*** als het kan, test dan de hardware en de software eerst afzonderlijk
*** als het kan, test dan de hardware en de software eerst afzonderlijk
* werk samen
** als je programmeren (of elektronica) lastig vindt: zoek iemand in je buurt om je te helpen
** op en rond school is heel veel kennis: bij docenten/toa's, leerlingen, en ouders


== Arduino ontwikkelingen ==
== Arduino ontwikkelingen ==
Regel 34: Regel 37:


* [[../ESP8266-Blink]]
* [[../ESP8266-Blink]]
Voor deze microcontroller zijn er ook diverse libraries met bijbehorende voorbeelden geïnstalleerd. Deze vind je onder Bestand->Voorbeelden. Deze microcontroller biedt via WiFi veel communicatiemogelijkheden - bijvoorbeeld een eenvoudige webserver. Via deze webserver kun je ook de hardware aansturen - bijvoorbeeld om een LED aan- en uit te zetten.
* [[../ESP8266-Webserver]]


== Internet of Things ==
== Internet of Things ==


Een belangrijke ontwikkeling is het Internet of Things: na (en naast) het internet van computers -de begintijd- en het internet van mensen -met het web en de smartphone- verbindt het internet ook dingen. In het bijzonder wordt het mogelijk om "dingen" te verbinden die gewoonlijk geen computer of zelfs geen stekker hebben, zoals een stoel, een fiets, een parkeerplaats, een koe, een dijk, een brug, enz. Er zijn heel veel toepassingen mogelijk - een groot deel daarvan is nog niet bedacht.
Een belangrijke ontwikkeling is het Internet of Things: naast computers -de begintijd- en mensen -met het web en de smartphone- verbindt het internet nu ook dingen. In het bijzonder is het nu mogelijk om "dingen" te verbinden die gewoonlijk geen computer of zelfs geen stekker hebben, zoals een stoel, een fiets, een parkeerplaats, een koe, een dijk, een brug, enz. Er zijn heel veel toepassingen mogelijk - een groot deel daarvan is nog niet bedacht.
 
Voor het verbinden van fysieke dingen in het internet vormt "physical computing" (zoals je dat met Arduino's e.d. doet) een belangrijke bouwsteen van het Internet of Things. Een voorbeeld van een IoT-omgeving is het LoRaWan-netwerk, zoals dat onder andere door TheThingsNetwork (TTN) aangeboden wordt. TTN biedt o.a. een Arduino met LoRa-radio hiervoor aan, maar je kunt ook de nieuwe Arduino MKR WAN met LoRa radio gebruiken. Deze LoRa-radio's hebben een groot bereik - tot ca. 10 km. Dit grote bereik gaat ten kost van de bandbreedte: deze is dan beperkt tot enkele bytes per seconde. Vanwege de beperkingen van de gebruikte radiofrequenties, en vanwege het energieverbuik, stuurt een node vaak slechts één bericht per 5 minuten of nog langer.
* https://www.thethingsnetwork.org
* https://shop.thethingsnetwork.com/index.php/product/the-things-uno/
* https://store.arduino.cc/mkr-wan-1300
 
TheThingsNetwork is een wereldwijde organisatie met veel lokale communities, met als doel om samen een IoT-netwerk met wereldwijde dekking te bieden. Allerlei vrijwilligers bieden hun gateway aan zodat lokale IoT-knopen daarmee toegang krijgen tot het netwerk. De drempel om mee te doen is laag, zowel financieel als technisch: voor scholen, docenten en leerlingen is dit zeer goed haalbaar.
* https://www.thethingsnetwork.org/community
* https://www.thethingsnetwork.org/forum/c/use-cases
 
[[Bestand:IoT-mini-node.png|right|300px|IoT mini node]]
 
Je kunt een dergelijke IoT-sensorknoop voor een LoRaWan-netwerk ook zelf bouwen, op basis van een Arduino mini:
* https://www.tinytronics.nl/shop/nl/communicatie/rf(id)-wifi-bt/things-network-lorawan-node-workshop-2017
* https://www.thethingsnetwork.org/labs/story/creating-a-ttn-node


Voor het verbinden van fysieke dingen in het internet vormt "physical computing" (zoals je dat met Arduino's e.d. kunt doen) een belangrijke bouwsteen van het Internet of Things. Een voorbeeld hiervan is de IoT-sensorknoop die in het LoRaWan-netwerk van "The Things Network" verbonden kan worden:
Als je het jezelf gemakkelijker wilt maken, kun je de bouwstenen van PyCom gebruiken. Deze programmeer je niet via de Arduino IDE, maar met microPython:
* https://www.tinytronics.nl/shop/nl/communicatie/rf(id)-wifi-bt/things-network-lorawan-node-workshop-2017?search=lora
* https://pycom.io/
* https://www.tinytronics.nl/shop/nl/platforms/pycom/pycom-lopy
* https://www.tinytronics.nl/shop/nl/platforms/pycom/pycom-pysense

Huidige versie van 12 mrt 2018 om 09:53

Dag 4 Arduino cursus

Zie ook Regels en richtlijnen
Zie ook Artikelen bewerken

Dag 4 Arduino cursus

Nu zelf aan de slag! Bedenk een project dat je kunt maken met de bouwstenen die je de vorige dagen geleerd hebt. Maak het niet te ingewikkeld: als je meer ervaring hebt, kun je later je project altijd nog uitbreiden.

Denk bij het uitvoeren van je project om de volgende zaken:

  • bouw je project stap voor stap op
    • maak de stappen "zo klein mogelijk"
    • test (voor zover het kan) het resultaat van elke stap
      • als het kan, test dan de hardware en de software eerst afzonderlijk
  • werk samen
    • als je programmeren (of elektronica) lastig vindt: zoek iemand in je buurt om je te helpen
    • op en rond school is heel veel kennis: bij docenten/toa's, leerlingen, en ouders

Arduino ontwikkelingen

ARM-borden

De nieuwste borden van Arduino gebruiken een ARM-processor, in plaats van de processor die in de UNO e.d. gebruikt wordt. Deze nieuwere microcontrollers werken bovendien op 3.3V. Je kunt nog steeds de Arduino IDE voor deze microcontrollers gebruiken: je hoeft alleen via Hulpmiddelen->board het juiste bord in te stellen.

3.3V versus 5V

De huidige microcontrollers gebruiken 3.3V in plaats van 5V voor de voeding en voor de logische niveaus. Je kunt deze verschillende spanningen niet zonder meer door elkaar gebruiken. Ook veel van de huidige sensoren gebruiken 3.3V. Deze kun je zonder problemen gebruiken met de 3.3V microcontrollers. Als je deze wilt aansturen met 5V moet je de spanningsniveaus omzetten, bijvoorbeeld met:


Arduino alternatieven - met de Arduino IDE

In de eerste plaats kun je met de Arduino IDE vaak bordjes programmeren die dezelfde microcontroller gebruiken als de Arduino UNO e.d.. Een voorbeeld hiervan is de Adafruit Flora, voor "wearable computing". Deze kun je bijvoorbeeld samen met sensoren en LEDS in kleding naaien, met geleidende draad.

Je kunt tegenwoordig de Arduino-programmeeromgeving (IDE) ook gebruiken voor andere borden dan alleen de Arduino-familie. Adafruit heeft bijvoorbeeld een aantal borden ontwikkeld die je (ook) kunt programmeren met de Arduino IDE, zoals de Feather-familie

Andere populaire microcontroller-families zijn de ESP8266 of de nieuwere ESP32. Ook deze kun je met de Arduino IDE programmeren. Bekende borden die deze microcontroller gebruiken zijn de NodeMCU (V1.0 of hoger); en de Wemos D1 mini pro. (Andere borden zijn soms ook bruikbaar, maar hebben niet altijd een snel USB-interface.) De volgende opdracht laat je zien hoe je deze kunt programmeren met de Arduino IDE.

Voor deze microcontroller zijn er ook diverse libraries met bijbehorende voorbeelden geïnstalleerd. Deze vind je onder Bestand->Voorbeelden. Deze microcontroller biedt via WiFi veel communicatiemogelijkheden - bijvoorbeeld een eenvoudige webserver. Via deze webserver kun je ook de hardware aansturen - bijvoorbeeld om een LED aan- en uit te zetten.

Internet of Things

Een belangrijke ontwikkeling is het Internet of Things: naast computers -de begintijd- en mensen -met het web en de smartphone- verbindt het internet nu ook dingen. In het bijzonder is het nu mogelijk om "dingen" te verbinden die gewoonlijk geen computer of zelfs geen stekker hebben, zoals een stoel, een fiets, een parkeerplaats, een koe, een dijk, een brug, enz. Er zijn heel veel toepassingen mogelijk - een groot deel daarvan is nog niet bedacht.

Voor het verbinden van fysieke dingen in het internet vormt "physical computing" (zoals je dat met Arduino's e.d. doet) een belangrijke bouwsteen van het Internet of Things. Een voorbeeld van een IoT-omgeving is het LoRaWan-netwerk, zoals dat onder andere door TheThingsNetwork (TTN) aangeboden wordt. TTN biedt o.a. een Arduino met LoRa-radio hiervoor aan, maar je kunt ook de nieuwe Arduino MKR WAN met LoRa radio gebruiken. Deze LoRa-radio's hebben een groot bereik - tot ca. 10 km. Dit grote bereik gaat ten kost van de bandbreedte: deze is dan beperkt tot enkele bytes per seconde. Vanwege de beperkingen van de gebruikte radiofrequenties, en vanwege het energieverbuik, stuurt een node vaak slechts één bericht per 5 minuten of nog langer.

TheThingsNetwork is een wereldwijde organisatie met veel lokale communities, met als doel om samen een IoT-netwerk met wereldwijde dekking te bieden. Allerlei vrijwilligers bieden hun gateway aan zodat lokale IoT-knopen daarmee toegang krijgen tot het netwerk. De drempel om mee te doen is laag, zowel financieel als technisch: voor scholen, docenten en leerlingen is dit zeer goed haalbaar.

IoT mini node

Je kunt een dergelijke IoT-sensorknoop voor een LoRaWan-netwerk ook zelf bouwen, op basis van een Arduino mini:

Als je het jezelf gemakkelijker wilt maken, kun je de bouwstenen van PyCom gebruiken. Deze programmeer je niet via de Arduino IDE, maar met microPython: