Arduino kursus lektion 3:



Relaterede dokumenter
Arduino kursus lektion 4:

TinkerCad - Arduino simulator

Alt elektronik heri er købt via og arduino udviklingssoftware er hentet fra

ARDUINO PROGRAMMERING

Lektion 6 / Analog Arduino

Example sensors. Accelorometer. Simple kontakter. Lysfølsomme. modstande. RFID reader & tags. Temperaturfølsomme. Flex Sensor.

CANSAT & ARDUINO step by step

Qwpikkemandtyuiopåasdfghjklæøzxc vbnmqwertyuiopåasdflortefissezxcvb nmqwertyuiopåasdfghjklæsupernørd mqwertyuiopåasdfghjklæøzxcvbnmq

Projekt Når maskinen reagerer - Dataopsamling og aktuatorer

Hvorfor & Hvordan lære Elever At programmere Arduinoer

Indholdsfortegnelse Indledning... 2 Projektbeskrivelse... 2 Dette bruger vi i projektet... 2 Komponenter... 2 Software... 2 Kalibrering...

Mircobit Kursus Lektion 3 (Du skal her vælge Lets Code Og nederst Microsoft Block Editor.)

Hvorfor & Hvordan lære. at programmere Arduinoer

Fra programmering til mikroprocessor

Modeljernbane elektronik for begyndere...og dem der vil igang med at bygge deres egne dekodere

Hvorfor & Hvordan lære Elever At programmere Arduinoer

Løkkestrukturer mm. Trykknap: Button, Se eksempler / Digital / Button. Decision: If: Version 05/ Arduino, Loops, løkker, programfunktioner mm.

Mircobit Kursus Lektion 4 (Du skal her vælge Lets Code Og herefter Block Editor.)

Programmering C Eksamensprojekt. Lavet af Suayb Köse & Nikolaj Egholk Jakobsen

Start på Arduino og programmering

Jasopels Farm Assist V3. Bruger vejledning

DC-Motor Controller. Brugermanual

Fysisk Design Instruktorer Troels, Søren og Oskar

const int disponibel_10= 10; const int disponibel_11= 11; const int disponibel_12= 12; const int blinkled = 13; // pin 13 er LED på NANO

Ved indkøring påtrykkes en kendt amplitude (HUSK 50 ohms afslutning) og displayet aflæses.

Isætning af belysning i Heljans BN-vogn. Jeg har lavet en guide til hvordan du nemt kan sætte lys i din(e) vogn(e) fra Heljan.

Interrupt - Arduino. Programmering for begyndere Brug af Arduino. Kursusaften 6 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

Sådan forbindes Arduinoen via et fumlebræt til ATTiny45 chippen.

Lyskryds. Thomas Olsson Søren Guldbrand Pedersen. Og der blev lys!

Microcontroller, Arduino

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

Arduinostyret klimaanlæg Afsluttende projekt programmering C

I 2 C BUSSEN KØRER MED ARDUINO IND I FORÅRET

Microcontroller, Arduino

CANSAT & ARDUINO step by step

Arduino Programmering

Analoge indgange og A/D konvertering. Analoge udgange

MP3 player med DMX interface.

EKSEMPEL PÅ ELEVOPGAVE TIL ARBEJDET MED PROGRAMMERING AF ARDUIONO MED LED BÅND

CAN BUS alarm, AK4625 Snapguide med oversigt over ledninger fra sirene og modul

Optimering af fraværsregistrering

Løkkestrukturer mm. Trykknap: Button, Se eksempler / Digital / Button. Decision: If: Version 08/ Arduino, Loops, løkker, programfunktioner mm.

Hos Podconsultsbutik kan du finde vandpumpen i 3 udgaver, hvilket har betydning for hvordan du samler og forbinder pumpen til din Micro:bit.

SunFlux Varenr.: 03104

Lektion 5 / Arduino intro. Mogens Jacobsen / moja@itu.dk

Brug af digitale ind og udgange

// inkluder library kode: #include <LiquidCrystal.h> #include <Serial.h> // Initialiser display LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

Sensor Finder v. 1.3.

Internt interrupt - Arduino

Dansk Mink Papir. Teknisk brugermanual

Märklin digital. Converting a locomotive to digital operation. Ombygning af et lokomotiv til digital drift. Märklin DB ICE 402

X88MV. Manual Version 1.26

Bruger manual AGAM kontrolboks

Demonstration af transitmetoden

AM signalet er et automatisk mellemblok signal. Det består af 3 lamper og er opbygget som et U signal med 3 lamper.

CAN BUS alarm AK4405 Oversigt over ledninger fra sirene og modul.

BASAL ARDUINO SÅDAN KOMMER DU IGANG MED ARDUINO, OG FORBEREDER DIG TIL KURSERNE MBHOBBY.COM AFHOLDER.

Det er nødvendigt for brugeren at læse, forstå og følge vejledningens instruktioner.

Manual til sirener til Miracas ST-3 868MHz alarm

GSM porttelefon og samtale anlæg. SSI GSM porttelefon system

Programmering af CS1700-Proxlæser

CAN BUS alarm AK4405 Snapguide med oversigt over ledninger fra sirene og modul

Dit eventyr med robotter Det er dig, der programmerer

Installationsguide. Router Tilgin HG13xx serien. Fiberbredbånd TV Telefoni

Märklin digital. Montage af kørelys i Heljan ADNs. Claus Hansen for

Håndskanner & Skannerpen Tjekliste

Python 3 Matematik Programmerings kursus:

Brugervejledning for Senge- og dørvagt PIR2003

SmartAir TS1000. Daglig brug

Materialer: Strømforsyningen Ledninger. 2 fatninger med pære. 1 multimeter. Forsøg del 1: Serieforbindelsen. Serie forbindelse

Micro:bit. Komponenter i CFU-kasser. Lær komponenterne at kende

Dekoder type 628. Diagram. Print. Litra.DK

REPARATIONS- VEJLEDNING NR LED System carrier 2

Jægergårdsgade 152/05A DK-8000 Aarhus C DENMARK AC Motor Controller 370W. Brugermanual

Vejledning til Photofiltre nr. 118 Side 1

Märklin digital. Converting a locomotive to digital operation. Ombygning af et lokomotiv til digital drift. Piko SVT 137 / DB VT 04

Monteringsvejledning for den særlige AP-550 GoldCruise, der er specielt udviklet til: Volkswagen Fox 2005> Del B

REPARATIONS- VEJLEDNING NR 1. PRO-MOVEC 200W og 250W System

Måling og styring. Sensorer og Arduino

Byg EN HULE LAMPE VARIGHED: LANGT FORLØB

Billedbehandling med GIMP

Elektrisk converter til støtteben. designet til brug på campingvogne og campere

SPACEGUARD SERIES SG 14

Märklin digital. Converting a locomotive to digital operation. Ombygning af et lokomotiv til digital drift. Electrotren 2051 DSB MZ 1405

Digital Video Recorder Brugermanual

Velkommen til IT for let øvede

Monterings og brugervejledning Portautomatik K 19 samt tilbehør

1. Hovedramme 2. Bag stabilisator 3. For stabilisator 4. Cykelstyrsstang 5. Cykelstyr 6. Computer 7. Sædestang 8. Sæde 9. Pedaler 10.

Strømstyring Brugervejledning

Digital Drejeskive Decoder til 7286 / 7686

Manual til PRO DK180

Arduino opgaver Teknologi

Bredbånds-TV. Brugervejledning. ComX brugervejledning version 4.0

Skrivebordet Windows 10

Rev.1 November Betjenings vejledning for RD 7000 DL

DKK Rally-lydighed, Øvede-klassen. 40. Fristende 8-tal

Opgavesæt udviklet til kursus Grundlæggende elektronik på mobile maskiner 2. Udviklet i 2015

GSM ALARM CAMPING. Brugervejledning dansk. Telefon Hverdage kl Version 2. Side.

Transkript:

Arduino kursus lektion 3: I denne lektion skal vi lave få en diode til at fade op og ned! Herefter skal denne diode bruges sammen med en lysføler til at lave en smart lysfølsom diode som selv justere lyset alt efter hvor lyst eller mørkt der er! Opgave 1: Fading Diode Vi har før prøvet at få en diode til at blinke ved at sætte den til de digitale pins (bag usb stik)! Her slukkede og tændte dioden! Denne gang skal dioden langsomt skrue lysstyrken op og bagefter fade lyset ned! Det er imidlertid ikke alle pins man kan bruge! Her kan nemlig kun anvendes de pins med tegnet ~. Diode Modstand 220 ohm (rød, rød, brun) Pin 11 Jumper/Ledning til GND GND Opsætning af hakkebræt: Forbind pin 11~ til hakkebræt gennem en ledning/jumper Før strømmen videre gennem en modstand 220 ohm (rød, rød brun) Lad strømmen løbe igennem en diode. Husk at vende den rigtig (plus pol = lange ben mod modstand). Det ene ben af dioden skal ned i minus banen på hakkebrættet! Forbind minus rækken med GND på arduinoen med Jumper www.madsmatik.dk d.15-01-2016 1/6

Lidt om loops i Arduino: I det følgende har vi brug for at programmere et loop/løkke. Dette kan man gøre ved at bruge kommandoen/koden while. I det følgende skal vi nemlig kunne tælle et tal op fra 0 til 255 fordi vores diode lyser kraftigst ved værdien 255 og er helt slukket ved 0! I et while loop kører loopet indtil udsagnet efter while viser sig at blive FALSE/Falsk! Dvs. så længe udsagnet er True/sandt looper den koden indenfor { tuborgklammerne! Det betyder at man har mulighed for at lave loops der kører uendeligt! Lad os se på et! while(0 == 0) { digitalwrite(11, HIGH); Loop Loop så længe 0 er ligmed 0. Dvs. et evigt loop! Vi kunne også have brugt False! Skriv følgende program I Arduino softwaret: void setup() { pinmode(11, OUTPUT); void loop() { int counter = 0; while(counter <= 255) { analogwrite(11, counter); delay(10); counter = counter + 1; while(counter > 0) { analogwrite(11, counter); delay(10); En variabel (tal/integer) som vi kan bruge til at tælle med! counter = counter - 1; Så længe værdien af counter er mindre end eller ligmed 255 køre loop et! Dioden lyser kraftigst ved værdien 255 - slukket ved 0! Loop - op for lys Loop - ned for lys Træk 1 fra counter så den falder indtil 0! Skriv lysstyrke værdien til Dioden! Læg 1 til counter så den stiger! Prøv at ændre delay() værdien for at få den til at fade hurtigere eller langsommere! www.madsmatik.dk d.15-01-2016 2/6

Lyssensor A0 Modstand 10K ohm (brun, sort, orange) GND 5V Opgave 2: Lyssensor. Vi skal jo lave en lampe som tænder når det bliver mørkt og slukker når det bliver lyst! Til dette er det nødvendigt at bruge en lyssensor der kan registrere lys! For at dette kan virke er det nødvendigt at sætte den til de analoge udgange på Arduino en - i modsat side af Arduinoen! Opsætning af hakkebræt: Træk en ledning fra 5V udgang på Arduinoen til + rækken på hakkebrættet! Forbind lyssensoren videre fra 5V ledningen på hakkebrættet til et andet hul! Her kan strømmen vælge at gå videre gennem: o en ledning/jumper til A0 ved de analoge udgange på Arduinoen! o eller strømmen kan løbe videre gennem en modstand på 10 K (brun, sort, orange). Denne modstand kaldes ofte for en Pull-up modstand! Forbind modstandens andet ben videre til GND (jord) Hvordan vil dette virke? Vi sender strøm fra 5V udgangen igennem lyssensoren! Denne påvirker strømstyrken alt efter hvor meget lys der er på sensoren: meget lys => lille modstand => stor strømstyrke og omvendt Herefter deler strømmen sig så noget af den vil løbe til GND gennem en modstand! Den anden del vil løbe til A0 pin på Arduino en som vi kan aflæse igennem Ardion en. Det er denne værdi vi kan bruge til at tænde og slukke en lampe med! www.madsmatik.dk d.15-01-2016 3/6

At aflæse A0 input fra lyssensor: Vi kan aflæse A0 værdien ved følgende kommando: int sensorvalue = analogread(a0); Her aflæses A0 som talværdi der lægges over I en talvariabel af typen integer! At skrive til konsollen: I programmet skal vi kunne se hvad den aflæste værdi er fra lyssensoren. Dette gør vi for, at se om det virker selvfølgelig! Det store spørgsmål er blot, hvordan man får en værdi fra Ardiono en og tilbage til computeren! Dette kan man gøre igennem Serial Overvågning (se billede) som man aktiverer yderst til højre i Arduino programmet! Inden fra program koden kan man skrive til dette vindue med kommandoen: Serial.println( hej med dig ); Inden bør man fortælle programmet hvilken kanal man ønsker at sende teksten! Serial.begin (9600); Når man trykker på ikonet Serial Overvågning kommer et nyt vindue frem (se nedenfor) Her kan man se hvad Ardionoen skriver! Dog skal man huske at vælge den rigtige kanal - i dette tilfælde 9600 baud (se pil på billedet!) www.madsmatik.dk d.15-01-2016 4/6

Kode til programmet: void setup() { pinmode(11, OUTPUT); Serial.begin(9600); void loop() { int sensorvalue = analogread(a0); Serial.print( lyssensor værdi = ); Serial.println(sensorValue); delay(100); Vi læser lyssensor værdien og lægger den over i en tal-variabel kaldt sensorvalue Vi åbner op for kanal 9600 så Arduino en kan skrive til computerens Konsol Vindue! Vi skriver til Konsollen på computeren Aflæs lyssensor (kalibreringen) Lyssensoren skulle gerne give en værdi imellem 700 og 1000! Prøv at sæt en hånd hen over og se hvad der sker med værdien! Ekstra Opgave: Få en diode til at lyse når der intet lys er! I opgave 1 sattes en diode til pin 11 og den opstilling kan vi genbruge! Følgende kode tænder en diode på pin nr 11 hvis lyseværdien bliver mindre end 870! Koden indsættes før delay(100): if(sensorvalue < 870) { digitalwrite(11, HIGH); else { digitalwrite(11, LOW); Køre kun hvis lyssensor værdien er under 870 Køre kun hvis lyssensor værdien er over 870 eller ligmed! Koderne if(udsagn) gør noget else gør noget andet benyttes ofte i programmering! Det gør det muligt, at programmet kan løbe i 2 retninger alt efter det input der er kommet! www.madsmatik.dk d.15-01-2016 5/6

Modstand 220 ohm (rød, rød, sort) Pin 3~ A0 GND Lyssensor Modstand 10K ohm (brun, sort orange) Modstand 10K ohm (brun, sort orange) 5V Opgave 3: Lysfølsom diode Vi skal nu kombinere opgave 1 og 2 således at vi styrer lysstyrken vha. lys-sensoren! Opsætning af hakkebræt: Genbrug opsætningen fra opgav 2 med lyssensoreren! Træk en lang ledning fra pin 3~ (eller 11, 10, 9, 6, 5 kun ~) til et sted på hakkebrættet! Træk strømmen videre gennem en diode (husk langt ben er + og skal vende ind om pin 3). Lad strømmen løbe gennem en modstand 220 ohm (rød, rød, sort) så den ender i minus linjen! Herfra kan strømmen løbe videre til GND, hvilket er nødvendigt for at få kredsløb! Koden til lysfølsom diode: void setup() { pinmode(3, OUTPUT); Serial.begin(9600); void loop() { int sensorvalue = analogread(a0); int brightness = 255 - (sensorvalue - 700); analogwrite(3, brightness); delay(100); Lysstyrken af dioden beregnes ud fra lyssensor værdien! Værdien skal være mellem 0 og 255 Diodens lysstyrke justeres efter den beregnede styrke fra sensoren! www.madsmatik.dk d.15-01-2016 6/6