Arduino cursus/Dag 1: verschil tussen versies

Uit Lab
Naar navigatie springen Naar zoeken springen
Regel 124: Regel 124:


== Besturing en bekrachtiging ("power") ==
== Besturing en bekrachtiging ("power") ==
Een Arduino kan maar weinig stroom leveren: per output-pin maximaal 40mA, typisch 20mA. Modernere microcontrollers leveren per pin nog minder stroom en spanning, typisch 5mA bij 3.3V. Dat is veel te weinig om een motor te laten draaien, of om LEDs fel te laten branden. De oplossing hiervoor is om de besturing (vanuit de Arduino) en de bekrachtiging te scheiden: voor dit laatste gebruik je dan een externe voeding die voldoende vermogen kan leveren. Vanuit de Arduino bestuur je dan een schakelaar die deze externe voeding aan- en uitschakelt: dat kan een relais zijn, maar ook een transistor (MosFET). In een motor-driver zitten deze schakelaars al ingebouwd.


{| class="wikitable"
{| class="wikitable"

Versie van 18 okt 2017 07:39

Arduino cursus
Arduino Basis
  1. Led-0: breadboard, LED, weerstand
  2. Blink-1
  3. Button-1
  4. Blink-freq: frequentie
  5. Blink-PWM: pulsbreedte-modulatie
  6. Analoge input

Doel van de cursus

Voor VO-docenten, TOA’s - die meer met de Arduino en “physical computing” willen doen.

Doel: beheersen van Arduino als “bouwdoos”: kennis en vaardigheid in gebruik van Arduino & bijbehorende physical computing componenten, en in combineren daarvan tot eigen project.

Daarnaast: aandacht voor: Arduino-activiteiten voor leerlingen

Presentatie

Cheat sheets en tutorials

De onderstaande cheatsheets geven een samenvatting van veel relevant materiaal:


Basiskennis:

Tutorials:

Nog meer informatie op het web: https://infvo.nl/lab/index.php/Arduino/Informatie_op_het_web

Basis-bouwstenen

bouwsteen opdracht(en)
breadboard; LED; weerstand Arduino cursus/Led-0
digitaal uit Arduino cursus/Blink-1
digitaal in
analoog uit (PWM)
analoog in (A/D)

Volgorde en tijd

bouwsteen/concept opdracht(en) voorkennis
Periode en frequentie Arduino cursus/Blink-freq Blink, Analoge input
PWM, duty cycle Arduino cursus/Blink-PWM Blink, Analoge input
geluid Arduino cursus/Tone-freq Blink-freq
Omkeren van stroomrichting Arduino cursus/Led-3 LED-0, Blink

Libraries; "bus" en adressering

Voor veel onderdelen heb je libraries nodig. De onderstaande opdrachten geven daarvan enkele voorbeelden. Hiermee leer je ook hoe je een library toevoegt aan de Arduino IDE.

Als je veel onderdelen moet aansluiten op een Arduino, heb je al snel te weinig pinnen. Een oplossing daarvoor is om één of twee pinnen te gebruiken voor een "bus" waarop je meerdere onderdelen kunt aansluiten. In dat geval moet je de verschillende onderdelen kunnen adresseren. We geven hiervan twee voorbeelden:

  • een i2c-bus met een LCD-display
  • een 1-draads bus met "digitale LEDs".
bouwsteen opdracht(en) library voorkennis
digitale LEDs
NeoPixel
WS2812
https://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library (bekijken)
Arduino cursus/Digitale Leds
Adafruit_NeoPixel
digitale LEDs
demo
Bestand->Voorbeelden->Adafruit Neopixel->strandtest
digitale LEDs
opdracht
Arduino cursus/Led-4
i2c library Arduino cursus/i2c (lezen) https://www.arduino.cc/en/Reference/Wire
i2c scanner https://playground.arduino.cc/Main/I2cScanner Wire
i2c display Bestand->Voorbeelden->LiquidCrystal I2C->HelloWorld LiquidCrystal I2C (Frank den Brabander)

Besturing en bekrachtiging ("power")

Een Arduino kan maar weinig stroom leveren: per output-pin maximaal 40mA, typisch 20mA. Modernere microcontrollers leveren per pin nog minder stroom en spanning, typisch 5mA bij 3.3V. Dat is veel te weinig om een motor te laten draaien, of om LEDs fel te laten branden. De oplossing hiervoor is om de besturing (vanuit de Arduino) en de bekrachtiging te scheiden: voor dit laatste gebruik je dan een externe voeding die voldoende vermogen kan leveren. Vanuit de Arduino bestuur je dan een schakelaar die deze externe voeding aan- en uitschakelt: dat kan een relais zijn, maar ook een transistor (MosFET). In een motor-driver zitten deze schakelaars al ingebouwd.

concept(en) opdracht(en) voorkennis
Servo-motor, als slave van potmeter Arduino cursus/Servo-0 Analoge input (potmeter)
"power" voeding
extra voeding voor bekrachtiging
Arduino cursus/Servo-1 (met "power" voeding) Servo-0
Transistor (MosFET) als bestuurbare schakelaar Arduino cursus/Motor-0 (met MosFET en "power" voeding) Analoge input (potmeter); PWM
Motor-driver IC met regelbare richting en snelheid Arduino cursus/Motor-1
https://learn.adafruit.com/adafruit-arduino-lesson-15-dc-motor-reversing
Servo-1; PWM; LED-3 (omkeren van stroomrichting)
volledig gescheiden voedingen relais
stappenmotor Arduino cursus/Stepper-0

Huiswerk, opstap naar de volgende bijeenkomst

Het huiswerk voor de volgende bijeenkomst bestaat uit de bovenstaande opdrachten, voor zover je die nog niet op de bijeenkomst zelf gemaakt hebt; en de onderstaande opdrachten, als opstap voor de volgende bijeenkomst: