Arduino cursus. Eelco Dijkstra Steunpunt Informatica - Its Academy 24 september 2015

Vergelijkbare documenten
Arduino. Arduino UNO. Sam Decoster. CoderDojo Roeselare. Sam Decoster

Werkbladen voor Arduino workshop 1

RCL Arduino Workshop 1

Arduino Workshop 1 Zuid-Limburg

Workshop Arduino - deel 2

Keuzedeel Programmeren van microcontrollers (K0730, 240 uur)

Workshop Arduino Uno. Touw dag 6 juni 2015 Harold Pootjes en Simon Pauw

Meet the Arduino FAMILY

MAKERKLAS WORKSHOP ARDUINO. Maandag 7 december 2015

//enable de interne pull-up weerstand. //variabele sensorval. //naar de seriële monitor

by Jody Culkin Bronnen die gratis gebruikt, verspreid of aangepast kunnen worden. meestal software of hardware.

modellering met Arduino project module

Deel 8: stappenmotoren en interrupts

Wat is Arduino? Arduino = microprocessor (Atmel)

Arduino Workshop. door Geert Roumen (CC) BY-SA. lemio.nl/arduino/

Arduino : Morse Voltmeter

Arduino. C.F.J. Pols.

Arduino[4KIDS] Maak je eigen muziekinstrument!

Single Board computers. Ruud van der Meer (voor HCC d.d. 4 dec2017 Leiderdorp)

Arduino. HCC Vlaanderen - Mechelen 7 februari Luc De Cock

Inhoud Inhoud. Inleiding 1 Leerdoelen 1

by Jody Culkin Bronnen die gratis gebruikt, verspreid of aangepast kunnen worden. meesta software of hardware.

EM2 Microcontroller Project. LED cube

modellering met Arduino extra module

Programmeren van de Raspberry Pi.

Infographic De infographic geeft in grove lijnen het overkoepelend concept weer Your home remotely controlled Zie de infographic hier naast.

Workshop Arduino voor beginners deel 2

th_elt Hardware & Software

Programmeren met Arduino-software

Tweede workshop Arduino

#include <Tone.h. } for (int x = 0; x < 4; x++) { pinmode(buttonpin[x], INPUT); Il Stel drukknop pennen in als inputs

1. Sluit de LED aan zoals afgebeeld 2. Sluit de USB-kabel aan op de Arduino 3. Klik op de knop uploaden 4. De LED begint te knipperen

Arduino CURSUS. door Willy - 09-juni-2017

Arduino. Workshop. 20 juni 2014 Peter Struwe Stichting De Jonge Onderzoekers Groningen

Microcontrollers. Robert Langenhuysen, PA0RYL

Naam + Klas: Laptop Nr: Cijfer:

Ar-doe-wie-no. Voorwoord

De FOR lus: // terug naar waar je vandaan kwam Serial.begin(115200); // communicatie snelheid met de PC

Docentenhandleiding Arduino. Handleiding voor bij de module Arduino UNO kit

Ravi Ramcharan Arduino PRO Smart leeslampje

Inhoud Inhoud. Inleiding 1 Leerdoelen 1

Bouw een deel van het JeeNode schema zoals beschreven op pagina 5 in de JeeNode handleiding in de handout, maar dan op het breadboard.

Arduino cursus 2018 voor beginners en gevorderden 23 september Paul van de Veen

Workshop Arduino voor beginners. door TkkrLab Enschede

modellering met Arduino mini module

Bouw het schema zoals beschreven op pagina 5 in de RBBB handleiding in de handout, maar dan op het breadboard.

Arduino Zuid-Limburg Workshop 2

modellering met Arduino

Arduino. projecten voor gevorderden. Dr. Günter Spanner. Elektor International Media BV postbus ZG Susteren

SOFTWARE ELEKTRONICA

WORKSHOP ORANGE PI & PYTHON v september 2017

Hand-out Introductieworkshop LED programmeren

Inleiding elektronica Presentatie 1

Jeroen uit. Extra informatie. Voor de lunch. Arduino zo aangesloten om mijn code te laten werken. (versie voor lunch) (code voor de lunch)

Deel 1: Arduino kennismaking. Wat is een microcontroller, structuur van een programma, syntax,

Oefening 1 - Seriële communicatie via USB

Bouw het schema zoals beschreven in de RBBB handleiding in de handout, maar dan op het breadboard.

Programmeren met Arduino

Raspberry Pi The ultimate hobby computer. Bert Mengerink HCC Haaglanden Zoetermeer

Dans robot project met de Intel Edison als Arduino emulator.

Elektor Uno R4 Installatie & Test

Arduino eind concept. Uitleg over werking en concept. Andrew Lau

Sumo Robot. Profiel Werkstuk Natuurkunde Xander Huisman 5O Roden,

Gebruikershandleiding. robotcar.nl

Arduino Cursus, Deel 2 Programmeren. Simon Pauw, ZB45, Amsterdam

PEER-REVIEW COMAKERSHIP SMART WORLD

Raspberry Pi The ultieme hobby computer. Wim Hendrikse 2 januari 2017, Leiderdorp

4x4x4 LED cube deel 2

KAEDU : Outputs en inputs

Workshop IOT. Handleiding V5 Vincent Verheggen 6 november Taal: Nederlands.

Keuzevak Slimme Technologie De slimme Regenmeter

Inleiding. Leerdoelen

DDS chips. DDS = Direct Digital (frequency) Synthesis. Output = sinusvormig signaal. Maximum frequentie = ½ klokfrequentie

Microcontrollers Introductie INLMIC Jesse op den Brouw INLMIC/

Peripheral Interface Controllers. BRAC clubavond PE2WDO

Bij manueel trein elke keer vanaf spoor 1 te starten, dus altijd twee ritten. StartLED gaat aan en pas uit als trein op 1 arriveert.

Luchtdrum. Door: s s s

DATA SHEET C2-20. Besturing voor elektrische actuators. DATA SHEET C2-20 A&E Trading b.v. 1

Arduino Programmeer handleiding

Programmeer-handleiding Easyboard MB

Aansluitles Les 1 Overzicht van de Componenten. Basis

Welke bijdrage leveren digitale sensoren voor de Smart Industry?

De hardware 11. De ontwikkelomgeving 13. Programmeren van de ATtiny 17

DATA SHEET C2-10. Besturing en bescherming van elektrische actuators. DATA SHEET C2-10 A&E Trading b.v. 1

Introductie. Met Flowcode software ontwikkelt u snel en gemakkelijk de meest complexe elektronische en elektromechanische systemen.

1. Testdata TA sensor met Ohmse belasting

PROJECT 2 - MAZE DRIVE - OFFERTE RICK VAN VONDEREN

De AT90CAN microprocessor van ATMEL in de motorvoertuigentechniek (4)

PIR DC-SWITCH. DC Passive infra-red Detector. Model No. PDS-10 GEBRUIKSAANWIJZING/INSTRUCTION MANUAL

Handleiding Arduino Basis. Fun met Electronica 2018

delay(1000); // Eén seconde pauze digitalwrite(pin, LOW); // zet 'pin' uit delay(1000); // Eén seconde pauze }

Damien Picard, KUL, Gebruikerscommissie, REGELAARMODELLEN VOOR MPC

Microcontrollers Labo

Flashing Eye Robot! Knipperlicht Circuit! Clubjesmiddag 18 Mar Adam Dorrell

TECHNOLOGIE TECHNIEK. Vervangende opdracht voor produceer de sleutelhanger. H.O. Boorsma.

[Jaar] [Titel van document] Franklin Neyt [Bedrijfsnaam] [Datum]

Project 7 Pratende plant Docent Project 7 - Pratende Plant Docent

Wat is Wat? Interactief ontwerpen: Gaat over de wisselwerking tussen mensen en machines, tussen de fysieke en de virtuele wereld.

Naam LL en : Thibo Meuwes - Maxime Carrein. Evert Cottyn - Lowie De Lombaerde. Naam Lkr en : Benjamin Samyn. Johan Vanhaverbeke.

Raspberry Pi Interfacing.

Transcriptie:

Arduino cursus Eelco Dijkstra Steunpunt Informatica - Its Academy 24 september 2015

Wat is Arduino? Een Open Source hardware/software prototyping eco-systeem. Open Source Hardware/software o sketch Prototyping Eco-systeem

Arduino de basis microcontroller (kleine/complete computer) sensoren (van druktoets tot luchtdruk) actuatoren (van LED tot motor) communicatie met host; met internet host computer software-ontwikkelomgeving (Arduino IDE) schema-tekenomgeving (Fritzing)

Wat kun je er mee? Control 3D printer Maze Solver Robot (& many other robots) Christmas Tree Shield with Addressable LEDs and "Jingle Bells" Poo and Pee detector, with a Diaper Shield, for use on newborn newbies. Thermostat Arduino + vineyard = Vinduino. Soil moisture measurement Whole house climate control: Control HVAC and ceiling fans Arduino theremin using ultrasonic sensor or capacitive plates Brewmigo - An All Grain Home Brewery using an Arduino Uno Automate your Chicken Coop http://arduino-coop.blogspot.com/ Zie bijv.: http://playground.arduino.cc/projects/ideas

Arduino Combineren en verbinden van software computer-hardware internet, web elektronica mechanica, fysica, biologie dingen (Internet of Things draadloos) mensen interfaces: sensoren en actuatoren vormgeving

Basiskennis

Digitaal input - button toestand - button - overgang output - niveau - codering (in tijd) Analoog input - ongeveer (LDR) - precies (temperatuur) output ("PWM") - frequentie - duty-cycle

Arduino: software! hardware Software sketch Hardware schakeling const int ledpin = 13; // 1 void setup() { // 2 pinmode(ledpin, OUTPUT); } void loop() { // 3 digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(1000); }

Ontwikkelen: kleine stappen Testen van software input: vaste 0V/5V button (overgang) potmeter (analoog) output: gebruik van test-led Testen van hardware input: gebruik van test-led output: 0V/5V button potmeter

Software-deel van sketch 1. declaraties (data, functies) 2. setup initialisatie 3. loop oneindig herhaald const int ledpin = 13; // 1 void setup() { // 2 pinmode(ledpin, OUTPUT); } void loop() { // 3 digitalwrite(ledpin, HIGH); delay(1000); digitalwrite(ledpin, LOW); delay(1000); }

Impliciet: main impliciet: main - met aanroepen van setup en loop void setup() {... } void loop() {... } void main() { setup(); while (true) { loop(); } }

Spanning & stroom Hydraulisch * Druk * Stroom * Klep * Kraan * Smalle buis * Wijde buis * Terugslagklep Elektrisch * Spanning * Stroom * Schakelaar * Regelbare weerstand * Grote weerstand * Kleine weerstand * Diode

Pull-down schakelaar => spanning (0V, 5V) schakelaar open: U = 0V schakelaar gesloten: U = 5V

Pull-up schakelaar => spanning (5V, 0V) schakelaar open: U = 5V schakelaar gesloten: U = 0V

Wet van Ohm U = I x R stroom evenredig met spanning o o bij zelfde weerstand (buis, kraan): grotere druk geeft grotere stroom stroom omgekeerd evenredig met weerstand o o bij gelijke druk: kraan verder open (=kleinere weerstand): grotere stroom

Spanningsdeler I(R1) = I(R2) = I(batt) I = U/R (wet van Ohm) U(R1)/R1 = U(R2)/R2 U(R1)/U(R2) = R1/R2

Potmeter -> variabele spanning Potmeter: weerstand met verplaatsbare aftakking. => variabele spanning (Gebruik o.a.: volumeregelaar.)

Variabele weerstand -> var. spanning omzetten van variabele weerstand in variabele spanning Veel sensoren vormen variabele weerstand LDR, NTC/PTC, Flexsensor,...

Pull-down schakelaar => spanning (0V, 5V) => (LOW, HIGH) const int buttonpin = 2; const int ledpin = 13; void setup() { pinmode(buttonpin, INPUT); pinmode(ledpin, OUTPUT); } void loop() { if (digitalread(buttonpin) == HIGH) { digitalwrite(ledpin, HIGH); } else { digitalwrite(ledpin, LOW); } }

Pull-down schakelaar => spanning (0V, 5V) => (LOW, HIGH) const int buttonpin = 2; const int ledpin = 13; void setup() { pinmode(buttonpin, INPUT); pinmode(ledpin, OUTPUT); } void loop() { digitalwrite(ledpin, digitalread(buttonpin)); }

Pull-up (internal) schakelaar => spanning (5V, 0V) => (HIGH, LOW) const int buttonpin = 2; const int ledpin = 13; void setup() { pinmode(buttonpin, INPUT_PULLUP); pinmode(ledpint, OUTPUT); } void loop() { digitalwrite(ledpin, HIGH - digitalread(buttonpin)); }

Tijd (toestand, transitie) Standaard Blink : void loop() { digitalwrite(led, HIGH); delay(1000); digitalwrite(led, LOW); delay(1000); } // turn the LED on // wait for a second // turn the LED of // wait for a second Wat als je twee LEDs hebt, die onafhankelijk van elkaar knipperen? Wat als je een tweede LED met een druktoets wilt aan- en uitschakelen?

Simpele Button Kopiëren van toestand van button -> LED triviaal systeem (eenvoudig in hardware) void loop(){ int button = digitalread(buttonpin); digitalwrite(ledpin, buttonstate); }

Button: omschakelen Bijhouden van toestand: o o prevbutton - vorige waarde van button ledstate - huidige waarde van LED int prevbutton = LOW; int ledstate = LOW;... void loop() { int button = digitalread(buttonstate); if (prevbutton == LOW && button == HIGH) { // L- >H transition ledstate = HIGH - ledstate; // reverse LED digitalwrite(ledstate); } prevbutton = button; }

Timer: LED brandt enkele sec. int ledtimer = infinite; int prevbutton = LOW; void loop() { int button = digitalread(buttonpin); if (prevbutton == LOW && button == HIGH){ digitalwrite(ledpin, HIGH); ledtimer = millis() + 5000; } if (millis() > ledtimer) { digitalwrite(ledpin, LOW); ledtimer = infinite; } prevbutton = button; }

Timers en andere events: asynchroon vermijd wachten ( delay, of wachten op input) o o Arduino is dan doof voor andere invoer wachten kost energie (beter: uitzetten) gebruik timers (en andere input-events) o o verschillende inputs/onderdelen onafhankelijk(er) afhandelen van event: zo kort mogelijk vgl. event-handling in OS (GUI), Javascript

Enkele bronnen

Arduino.cc "de bron" documentatie, tutorials downloaden van software nieuws: blog voorbeelden van projecten http://playground.arduino.cc verkoop van boards, en andere onderdelen voor kleine aantallen: handiger om lokaal te kopen

Adafruit https://www.adafruit.com (en http://www.ladyada.net) shop (...heel veel...) ARDX experimenter's kit FLORA blog tutorials

Sparkfun https://www.sparkfun.com products (hardware) Sparkfun Inventor's kit Makey Makey... blog tutorials

Make: http://makezine.com tijdschrift veel voorbeelden van projecten (o.a. met Arduino) shop

Hardware (NL-shops): iprototype - https://iprototype.nl floris.cc - http://floris.cc/ EOO http://eoo-bv.nl Tinitronics http://tinytronics.nl... e.v.a.

Ontwikkelingen

Ontwikkelingen Steeds groter - krachtig; Linux - Hub in IoT? Arduino Due Arduino Tre Steeds kleiner - goedkoop; low power - draadloos; IoT node M0 (ARM M0 core) Trinket

Ontwikkelingen Steeds groter - krachtig; Linux - Hub in IoT Raspberry Pi Steeds kleiner - goedkoop; low power - draadloos; IoT node ESP8266 (WiFi) BBC micro:bit (BT)

Arduino in het onderwijs

Arduino in het onderwijs Arduino is heel geschikt voor het onderwijs als hulpmiddel voor experimenten of als "onderwerp". Natuurkunde, NLT, Biologie, Informatica Arduino is niet (speciaal) gemaakt voor het onderwijs je hebt soms aanpassingen nodig het is "echter" dan veel onderwijsmateriaal

Arduino in het onderwijs Natuurkunde/scheikunde/NLT: o o o Besturing/Logica Aansturen van experimenten Concepten: meten/nauwkeurigheid; sampling, o analoog vs. digitaal; Techniek/creatieve projecten o integratie van theorie & praktijk; vakoverstijgend

Arduino in het onderwijs? Informatica: o o o o o... Hardware concepten (digitale signalen, logica, elektronica, vermogen, tijd, ) Hardware/software interfacing (digitaal, analoog/ digitaal, tijd, voorstelling van getallen) Embedded systems; real-time systems Internet of Things

Arduino in het onderwijs: hardware? Verschillende manieren: Breadboard, losse componenten iets grotere barriëre in begin minder robuust ("zorgvuldig werken") goedkoop universeel "voorgekookte" componenten (e.g. Grove) eenvoudig begin robuuste verbindingen iets duurder minder keuze in componenten

Arduino in het onderwijs: software? Arduino IDE: http://arduino.cc Arduino Studio: http://arduino.org "de Italiaanse tak" in de "cloud": https://codebender.cc grafisch: Scratch 4 Arduino: http://s4a.cat Snap 4 Arduino: http://s4a.cat/snap/

Lesmateriaal in ontwikkeling o o infvo.com/lab (CC-BY-SA licentie) Delft/Amsterdam (regionale INF steunpunten) Wensen, suggesties?