

Arduino Introductie
Arduino
INTRODUCTIE



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 IDE

> 20 types


Alternatieven


- 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.
Arduino Uno Wifi rev2

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.
Arduino Uno Wifi rev2

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.

Tinkercad


Programma = sketch

Arduino
Onderdelen van een sketch


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:
- Elke regel die met // begint is voor Arduino een commentaar regel.
- Achter een instructie kan ook commentaar gezet worden door het gebruik van //
- Alles tussen /* en */ is een commentaar blok. Niets uit dit blok zal uitgevoerd worden
- De commentaar wordt door Arduino helemaal overgeslagen, er wordt niets van uitgevoerd!

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
IDE Instellingen


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 schrijven


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
Materiaalkennis


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
Arduino ontleden


Handig ding
- De Arduino Uno WiFi Rev 2 is een microcontrollerbord dat voornamelijk is gebaseerd op de ATmega4809 microcontroller.
- Bevat een temperatuursensor en een 6-assige versnellingsmeter / gyroscoop voor bewegingsdetectie
- Een gloednieuwe ECC608 chip is op het bord inbegrepen om een veilige wifi-verbinding te garanderen.
- De oscillatorsnelheid is 16 MHz, wat nodig is voor de synchronisatie van alle interne functies.
- Er zijn in totaal 14 digitale I / O op het bord verwerkt, waarvan er 5 worden gebruikt als PWM-pinnen en 6 analoge pinnen zijn beschikbaar op het bord.

Handig ding
- Het flashgeheugen is 48 KB dat voornamelijk wordt gebruikt om de sketch op te slaan terwijl de EEPROM 256 bytes is en SRAM 6 KB.
- De EEPROM is een niet-vluchtig geheugen, wat betekent dat het op het bord blijft opgeslagen, zelfs als de stroom van het bord wordt verwijderd. Terwijl SRAM wordt gebruikt om variabelen te manipuleren en te genereren wanneer het wordt geactiveerd.
- De gelijkstroom voor de 3.3V-pin is 50 mA en de gelijkstroom per I / O-pin is 20mA. En de aanbevolen ingangsspanning varieert van 7V tot 12V.
- De bedrijfsspanning van dit bord is 5V. Bovendien bevat dit bord ook Secure Element = ATECC608A en radiomodule = u-blox NINA-W102

Handig ding
- Dit bord is een geavanceerde versie van Arduino Uno. Maar de processor architectuur van dit Rev 2-bord is anders dan de Arduino Uno omdat het een andere chip bevat. Het programma dat u voor Arduino Uno schrijft, werkt niet per se met Arduino Uno WiFi Rev 2.
- Andere functies zijn onder meer een power jack, USB-aansluiting, een resetknop en een ICSP-header.
- ICSP-header wordt gebruikt om communicatie met andere apparaten te ontwikkelen terwijl u op een resetknop drukt, het bord wordt gereset en het programma vanaf de beginfase start.

Pinout


Digitale Pins
- Er zijn 14 digitale pinnen geïnstalleerd op het bord die u kunt gebruiken als invoer of uitvoer volgens de vereiste.
- Deze pinnen krijgen slechts twee waarden, d.w.z. high of low.
- Wanneer ze 0V ontvangen, bevinden ze zich in een LAGE staat en wanneer ze 5V ontvangen, bevinden ze zich in de HOGE staat.


5V 3V3 GND
- GND staat gelijk aan ground / massa)
- 3V3
- tussen GND en 3V3
3,3V
- tussen GND en 3V3
- 5V
-
- tussen GND en 5V
5V
- tussen GND en 5V
-


Analoge Pins
- Er zijn 6 analoge pinnen beschikbaar op het bord. Deze pinnen kunnen een onbeperkt aantal waarden ontvangen in vergelijking met digitale pinnen die slechts twee waarden HOOG of LAAG krijgen.


PWM-pins
- Van de 14 digitale pinnen worden er 5 gebruikt als PWM-pinnen. Deze pinnen genereren analoge resultaten met digitale middelen. Deze pinnen worden voornamelijk gebruikt om de snelheid van de motor te regelen.
- Pulsbreedtemodulatie is een modulatietechniek waarbij in een vaste frequentie pulsen worden uitgezonden waarvan de breedte gevarieerd wordt. PBM wordt veel gebruikt als vorm van elektrische voeding of als manier van digitale informatieoverdracht.


SPI-pins
- Dit bord heeft het SPI-protocol. Welk serieel communicatieprotocol voor perifere interface. Het wordt gebruikt om communicatie te ontwikkelen tussen de controller en andere randapparatuur zoals schuifregisters en sensoren.
- Het bevat twee pinnen, d.w.z. MISO ( Master Input Slave Output ) en MOSI (Master Output Slave Input) zijn voornamelijk opgenomen voor SPI-communicatie tussen apparaten. Deze pinnen worden gebruikt om gegevens door de controller te verzenden of te ontvangen.


I2C-pins
- I2C is een tweedraads communicatieprotocol. Het bevat twee pinnen SCL en SDL.
- De SCL is een seriële kloklijn die wordt gebruikt om alle gegevensoverdracht via de I2C-bus te synchroniseren
- SDL is een seriële datalijn is die wordt gebruikt om de gegevens te vervoeren.


UART
- De UART is een serieel communicatieprotocol. Het bevat twee pinnen Rx en Tx. De Rx is de ontvangende pin die wordt gebruikt om seriële gegevens te ontvangen, terwijl Tx een transmissiepen is die wordt gebruikt om de seriële gegevens te verzenden.

IoT
Cursus


gdm.gent
En er zijn ontelbaar veel open-source courses & videos
om aan de slag te gaan met iot & arduino
IOT - Arduino Introductie
By Frederick Roegiers
IOT - Arduino Introductie
- 47