Module: Arduino

Module: Arduino

Wat is Arduino?

Arduino is een open-source elektronicaplatform op basis van gebruiksvriendelijke hardware en software. Arduino-boards kunnen ingangen lezen - een licht wat op een sensor valt, een vinger die een knop indrukt of een Twitter-bericht - en het in een uitgang veranderen - door een motor te activeren, een LED aan te zetten, iets online te publiceren. Je kunt de arduino vertellen wat het moet doen door een reeks instructies naar de microcontroller op de arduino te sturen. Hiervoor gebruik je de programmeertaal Arduino (op basis van wiring) en de Arduino Software (IDE) op basis van processing.

In de loop der jaren is Arduino het brein geweest van duizenden projecten, van alledaagse voorwerpen tot complexe wetenschappelijke instrumenten. Een wereldwijde gemeenschap van makers - studenten, hobbyisten, artiesten, programmeurs en professionals - heeft zich rond dit open-sourceplatform verzameld, hun bijdragen hebben bijgedragen tot een ongelooflijke hoeveelheid toegankelijke kennis die zowel beginners als experts van grote hulp kan zijn.

Arduino werd geboren bij het Ivrea Interaction Design Institute als een gemakkelijke tool voor snelle prototyping, gericht op studenten zonder een achtergrond in elektronica en programmeren. Zodra het een bredere gemeenschap bereikte, begon het Arduino-bord te veranderen om zich aan te passen aan nieuwe behoeften en uitdagingen, waarbij het aanbod werd gedifferentieerd van eenvoudige 8-bit-borden tot producten voor IoT-toepassingen, wearable, 3D-printen en embedded omgevingen. Alle Arduino-boards zijn volledig open-source, waardoor gebruikers ze onafhankelijk kunnen bouwen en uiteindelijk kunnen aanpassen aan hun specifieke behoeften. De software is ook open-source en groeit door de bijdragen van gebruikers wereldwijd.

[Origineel: Introductie adruino(14-09-2020) Vertaald in het Nederlands]

De arduino IDE

Om microcontrollers te kunnen programmeren wordt gebruik gemaakt van een IDE (integrated development environment). Dit is software waarmee je, naast het intypen van de code, de code kunt verifiëren (laten controleren of het klopt) en compileren (omzetten naar een bestand wat de microcontroller kan uitvoeren). Na compileren kan de code worden geüpload naar de microcontroller.

Voor de arduino microprocessoren wordt vaak gebruik gemaakt van de IDE die door Arduino gemaakt is.

Download het setupbestand voor de Arduino IDE hier: https://www.arduino.cc/en/Main/Software, en installeer het op jouw computer.

Lessen

Op de site arduino-lessen.nl staan diverse lessen over het programmeren van de arduino. We gaan een aantal van deze lessen volgen. Kijk voordat je de video start eerst even onder aan de pagina voor de benodigdheden en het aansluitschema.

Deze lessen zijn afkomstig van https://arduino-lessen.nl/

Ingebouwde Arduino LED laten knipperen

Leerdoelen

  • Ingebouwde Arduino LED laten knipperen
  • Werken met de Arduino IDE
  • Weten hoe je een sketch naar je Arduino upload

Benodigdheden

  • 1× Arduino
  • 1× USB kabel

Uitdaging
Maak een programma waarbij de LED aan gaat, 0.5 seconde wacht, uit gaat en 2 seconden wacht.

Knipperende LED op breadboard

Leerdoelen

  • Weten hoe een breadboard werkt
  • Weten hoe een weerstand met een LED werkt
  • Weten hoe een LED werkt

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 1× LED
  • 2× Jumper wire (man-man)
  • 1× 470 Ohm (goud-bruin-violet-geel) weerstand

Uitdaging 
Maak een programma waarbij de LED het SOS signaal knippert.

Fade een LED via pulse width modulation

Leerdoelen

  • Weten wat Pulse Width Modulation (PWM) is
  • Weten hoe je PWM gebruikt
  • Weten hoe je een LED kunt faden

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 1× LED
  • 2× Jumper wire (man-man)
  • 1× 470 Ohm (goud-bruin-violet-geel) weerstand

 

Knippersnelheid regelen met potmeter

Leerdoelen

  • Weten wat een potmeter is
  • Weten hoe je een potmeter kunt uitlezen

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 2× Jumper wire (man-man)
  • 1× Potmeter

 

LED schakelen met drukknop

Leerdoelen

  • Werking van pull-up - pull-down weerstand
  • Schakelaar in spiegelbeeld gebruiken
  • Gebruik van drukknop

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 3× Jumper wire (man-man)
  • 1× Min 10K Ohm weerstand
  • 1× Drukknop

 

1-wire temperatuursensor uitlezen

Leerdoelen

  • Werking van 1-wire bus
  • Uitlezen van 1-wire DS18B20 sensor

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 3× Jumper wire (man-man)
  • 1× 4K7 Ohm (goud-rood-violet-geel) weerstand
  • 1× 1-wire DS18B20 temperatuursensor

 

Afstand meten met ultrasoon geluid

Leerdoelen

  • Werking HC-SR04 ultrasoon afstand sensor

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 4× Jumper wire (man-man)
  • 1× HC-SR04 ultrasoon afstand sensor

 

Analoge PS2 joystick met drukknop

Leerdoelen

  • Werking analoge PS2 joystick

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 5× Jumper wire (man-man)
  • 1× Analoge joystick PS2 joystick

 

Tekst en symbolen op een I2C LCD display

Leerdoelen

  • Tekst op LCD display tonen
  • Eigen gemaakte symbolen op LCD display tonen
  • Scherm op basis van tijd wisselen

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 5× Jumper wire (man-man)
  • 1× I2C Tekst LCD 16x2 of 20x4

 

Roterende encoder en interrupts

Leerdoelen

  • Werking van een rotary encoder begrijpen
  • Rotary encoder uitlezen
  • Werking van interrupts begrijpen
  • Interrupts toepassen bij uitlezen rotary encoder

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 5× Jumper wire (man-man)
  • 1× Rotary encoder

 

DHT11 luchtvochtigheid en temperatuur sensor

Leerdoelen

  • Uitlezen DHT11 of DHT22 sensor

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 3× Jumper wire (man-man)
  • 1× 4K7 Ohm (goud-rood-violet-geel) weerstand
  • 1× DHT11 of DHT22 temp- en luchtvochtigheidssensor

 

28BYJ-48 stappenmotor met ULN2003 driver

Leerdoelen

  • Begrijpen werking stappenmotor
  • Aansturen stappenmotor met ULN2003 motor driver
  • Gebruik maken van hulpfunctie

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 2× Jumper wire (man-man)
  • 6× Jumper wire (man-vrouw)
  • 1× 28BYJ-48 stappenmotor
  • 1× ULN2003 motor driver
  • 1× 5V externe adapter
  • 1× Power plug
  • 1× Stukje karton

 

Long press drukknop

Leerdoelen

  • Werken met millis() functie
  • Bepalen of een drukknop lang is ingedrukt

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 3× Jumper wire (man-man)
  • 1× Drukknop
  • 1× Weerstand van minimaal 10K Ohm

 

Lichtgevoelige weerstand (LDR) uitlezen

Leerdoelen

  • Uitlezen van lichtgevoelige weerstand (LDR)
  • Werking spanningsdeler

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 3× Jumper wire (man-man)
  • 1× Lichtgevoelige weerstand (LDR)

 

SG90 Tower Pro Servo

Leerdoelen

  • Aansturen SG90 Tower Pro Servo

Benodigdheden

  • 1× Arduino
  • 1× Breadboard
  • 5× Jumper wire (man-man)
  • 1× Externe adapter (voltage tussen de 5V en 12V)
  • 1× Power plug
  • 1× SG90 Tower Pro Servo