Arduino
De Arduino is een microcontroller. Deze verwerkt analoge en digitale signalen en kan hier acties aan koppelen. Het hart van de Arduino is de AVR-chip. Wat deze chip precies moet wordt bepaald door een programma. Dit programma stuur je vanaf je computer via een USB-kabel naar de Arduino.
Het ontwerp van de Arduino is open source. Dit houdt in dat elke fabrikant zelf een eigen Arduino op de markt mag zetten. In China worden vaak "Arduino klonen" verkocht. Deze kunnen precies hetzelfde als de "echte" Arduino, maar maken gebruik van goedkopere componenten. Er moet dan vaak aparte drivers worden geïnstalleerd.
- Arduino Clones
- Development Boards
- ESP32
- ESP8266
- ...
The Arduino UNO WiFi Rev2 is the easiest point of entry to basic IoT with the standard form factor of the UNO family. Whether you are looking at building a sensor network connected to your office or home router, or if you want to create a Bluetooth® Low Energy device sending data to a cellphone, the Arduino UNO WiFi Rev2 is your one-stop-solution for many of the basic IoT application scenarios.
The Arduino UNO WiFi Rev 2 features the secure ATECC608 crypto chip accelerator, using the ATmega4809 8-bit microcontroller from Microchip. It also has an onboard IMU (Inertial Measurement Unit), LSM6DS3TR and features the NINA-W102 Wi-Fi & Bluetooth® module from u-Blox.
The Arduino UNO WiFi Rev2 is the easiest point of entry to basic IoT with the standard form factor of the UNO family. Whether you are looking at building a sensor network connected to your office or home router, or if you want to create a Bluetooth® Low Energy device sending data to a cellphone, the Arduino UNO WiFi Rev2 is your one-stop-solution for many of the basic IoT application scenarios.
The Arduino UNO WiFi Rev 2 features the secure ATECC608 crypto chip accelerator, using the ATmega4809 8-bit microcontroller from Microchip. It also has an onboard IMU (Inertial Measurement Unit), LSM6DS3TR and features the NINA-W102 Wi-Fi & Bluetooth® module from u-Blox.
Arduino
setup()
De code in de setup routine wordt éénmalig bij het opstarten
of na een reset uitgevoerd.
a) Instellen van de baudrate seriële communicatie
(communicatie tussen arduino bord en pc),
b) Declareren en initialiseren van de lokale veranderlijken voor de setup routine
c) Het instellen van de input/output pinnen met het commando pinMode
d) Initialisatie van de als uitgang gezette pinnen (hoog / laag)
e) Inlezen van de als ingang gezette pinnen in veranderlijken
f) Initialisatie van de veranderlijken
g) Definiëren van een interrupt pin
loop()
Nadat de setup() routine uitgevoerd werd wordt de loop() routine aangeroepen.
Deze routine wordt continu herhaald doorlopen om te reageren op veranderingen op de ingangspinnen en veranderingen uit te voeren op de uitgangspinnen.
De loop() functie is een oneindige lus.
commentaar
Het is heel nuttig om je programma te voorzien van de nodige commentaar:
variables
In een nieuwe sketch worden standaard geen variabelen vooraf gedefinieerd.
Het programma kan in het begin immers niet weten welk programma je wilt gaan schrijven en welke variabele, je hiervoor allemaal nodig hebt.
We onderscheiden lokale en globale variabelen.
flowchart
Arduino
Uno Wifi Rev2 installeren
Standaard staat deze Arduino nog niet tussen de beschikbare lijst van boards.
Je moet die eerst installeren via de boards manager.
Uno Wifi Rev2 installeren
Vervolgens kan je die aanduiden.
Communicatiepoort
Vergeet niet de juiste communicatiepoort te selecteren
Arduino
Programma compileren
Compileer het, nu nog, ‘lege’ programma, door in de IDE op het ✔️ icoon te klikken.
Tijdens het compileren wordt onderaan op het scherm opgave gedaan van de warnings en de errors.
- Een programma met errors kan niet op een arduino bordje opgeladen worden.
- Een programma met warnings kan wel op het Arduino bordje opgeladen, maar kan soms na verloop van tijd aanleiding geven tot onverwachte resultaten, waarbij het vastlopen van het programma ook tot de mogelijkheden behoort!
Programma uploaden
Het opladen van het programma naar de Arduino realiseer je door in de IDE op het icoon ➡️ te klikken.
Tijdens het opladen van het programma op et Arduino bordje, zie je op de Arduino 2 communicatie LED's knipperen. Op deze manier weet je dat de communicatie tussen je pc en het Arduino bordje werkt.
Omdat er ‘niets’ geprogrammeerd werd, zal het opgeladen ‘lege’ programma ogenschijnlijk niets doen en is er ook geen output.
Programma blink
Programma blink
IoT
Breadboard
Een breadboard is een rechthoekig plastic bord met kleine gaatjes erin waarmee je elektronische schakelingen kunt bouwen zonder te solderen.
Jumper Wires
Jumper wires maken het eenvoudig om componenten op een breadboard te verbinden. Ze zijn er in verschillende lengtes en kleuren, met mannelijke en/of vrouwelijke pinnen. Ze zijn ook verkrijgbaar als lintkabels, handig voor het aansluiten van apparaten met veel pinnen.
Weerstand / Resistor
Het is een component dat dient om de doorgang van elektrische stroom te bemoeilijken, er weerstand aan te bieden, met als gevolg een spanningsval over het circuit.
Condensatoren
Condensatoren worden gebruikt om schakelaars te debouncen, voedingen te ontkoppelen, ...
LED's
Een led is een elektronische halfgeleidercomponent opgebouwd als een diode die bij stroomdoorgang in de doorlaatrichting licht uitstraalt. Dit kan zichtbaar licht in diverse kleuren zijn, maar ook infraroodstraling of ultraviolette straling.
LCD-schermen
LCD-schermen kunnen worden gebruikt om sensorwaarden, de datum en tijd of iets anders weer te geven dat u maar kunt bedenken.
Drukknoppen
Drukknoppen zijn schakelaars die stroom doorlaten als ze worden ingedrukt. Ze zijn goed voor het bedienen van dingen als LED's, motoren en relais.
Potentiometers
Potentiometers veranderen hun weerstand wanneer u aan de wijzerplaat draait. Ze zijn verkrijgbaar in verschillende maten en weerstandswaarden, maar 10K, 100K en 250K Ohm zijn de meest voorkomende:
Sensoren
Sensoren kunnen iets waarnemen en dit omzetten naar een signaal dat door de Arduino kan uitgelezen worden.
IoT
Handig ding
Handig ding
Handig ding
Pinout
Digitale Pins
5V 3V3 GND
Analoge Pins
PWM-pins
SPI-pins
I2C-pins
UART
IoT
gdm.gent
En er zijn ontelbaar veel open-source courses & videos
om aan de slag te gaan met iot & arduino