Fysisk Design 2013. Instruktorer Troels, Søren og Oskar



Relaterede dokumenter
Lektion 6 / Analog Arduino

Arduino kursus lektion 3:

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

TinkerCad - Arduino simulator

ARDUINO PROGRAMMERING

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

Analoge indgange og A/D konvertering. Analoge udgange

Fra programmering til mikroprocessor

Enes Kücükavci Roskilde Tekniske Gymnasium Mathias Turac Informationsteknolog B Vejleder: Karl Bjranasson Programmering C

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

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

MP3 player med DMX interface.

Start på Arduino og programmering

Dette korte foredrag er opdelt i 3 dele: 1. ARDUINO i flere versioner, hvad er det? 2. DEMO-video 3. Din fremtidige Oscillator, SI5351A 4.

SPIDER Quick guide. DATO: August 2017 FORHANDLER: WASYS A/S. Langebjergvænget Roskilde

Arduino kursus lektion 4:

9. Tyverialarm med buzzer

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

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

CANSAT & ARDUINO step by step

GSM SMS Modem MODEL: SA RTU-1 V1.01

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

Undersøgelse teknologi og resurser: Eleverne skal lære om enkel produktudvikling fra ide til implementering.

Profort A/S. Profort A/S. Dansk ingeniørfirma 12 år på markedet Dansk udviklet og produceret

Arduinostyret klimaanlæg Afsluttende projekt programmering C

Hvorfor & Hvordan lære Elever At programmere Arduinoer

READX-EM&MF WIEGAND slave kodetastatur & proxlæser

Projekt rapport. for. Zigbee kommunikation

Demonstration af transitmetoden

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

Brugervejledning. Trådløs HD Sender & Modtager Sæt

Mircobit Kursus Lektion 1

Microcontroller, Arduino

Microcontroller, Arduino

MVT380 Vejledning. Forord. Website: Kontakt: Tillykke med din nye GPS tracker MVT380.

Arduino Programmering

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

QUICKVEJLEDNING. Montering

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

Profort A/S. Profort A/S. Dansk ingeniørfirma 12 år på markedet Dansk udviklet og produceret

Dansk Mink Papir. Teknisk brugermanual

HP-506: Digital Piano

Profort A/S. Profort A/S. Dansk ingeniørfirma 12 år på markedet Dansk udviklet og produceret

Projekt Når maskinen reagerer - Dataopsamling og aktuatorer

BBC micro:bit Buggy som følger en linje

QUICKGUIDE multiguard Klima

QUICKVEJLEDNING til multiguard DIN6. Montering

Micro:Bit Indbygget sensorer og Monk Makes sensorbord

QUICKVEJLEDNING til 4-moduler. Montering

Analyseopgaver. Forklar kredsløbet. Forklar kredsløbet. 3.0 DC Adapter med Batteri Backup.

QUICKVEJLEDNING til multiguard DIN9. Montering

QUICKVEJLEDNING til multiguard DIN6. Montering

QUICKVEJLEDNING til 4-moduler. Montering

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

PAR-600-CO2. Datablad. ØLAND A/S Vi arbejder for din succes Energivej 3-7, 2750 Ballerup, Tel , Fax

Hvorfor & Hvordan lære Elever At programmere Arduinoer

Ultralyd Compact varmemåler HydroSonis USC

TRUST WIRELESS VIDEO & DVD VIEWER

Music hall AV 2.1 Dansk kvik guide. Findes i sort eller silver. Begge med kraftig børstet aluminiumsfront

Med UniGo 7006 får du

QUICKVEJLEDNING til multiguard DIN4. Montering

QUICKVEJLEDNING til industri. Montering

Brugermanual Transportabelt DVD system

Internt interrupt - Arduino

QUICKVEJLEDNING til 9-moduler. Montering

Indholdsfortegnelse PSpice modul 3. Forudsætninger. Forberedelse til øvelser

Kom godt i gang med Fable-robotten

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

BBC micro:bit så er du i gang

Impac230. Beskrivelse. Egenskaber. Impac 230

IAI Quick Start Guide

Morse med micro:bit. Morse med micro:bit

Fable Kom godt i gang

Video Projector Controller. Brugermanual

QUICKVEJLEDNING til 4-moduler. Montering

2.4GHz Trådløs Audio / Video System

Indhold. Tablet Guides

MVT800 Vejledning. Forord. Website: Kontakt: Tillykke med din nye GPS tracker MVT800.

Fable Kom godt i gang

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

QUICKVEJLEDNING til 4-moduler. Montering

En Krystalstabil Oscillator til dit næste projekt

Infrarød LED (940 nm, black IR) op til 20 meter er usynlig og lyser IKKE rød.

Lastbiler med lys. Digital modeltog med digikeijs DR4018

Betjening af JustSee inspektions-tv 1. Control Box

Under 'Microsoft Block Editor', klik 'New project' for at åbne block editor-værktøjet.

Transkript:

Fysisk Design 2013 Instruktorer Troels, Søren og Oskar

Introduktion - hvem er det der? Troels: Kandidat IT Produktudvikling Lyd med Arduino guy Søren: Bachelor IT Mac og Arduino guy Oskar: Kandidat IT Produktudvikling Arduino og Sensor guy Desuden kan vi alle hjælpe med jeres idéer og designs!

Agenda Lab tour Peter Krogh forelæsning @ Skype Arduino Intro Input = Sensors (tryk, distance, acceleration...) Output = Aktuator, lys, lyd, ild & stød Kode (IDE intro) Import af externe biblioteker Lyd med Arduino Pure Data intro Lyd med ekstern højtaler Opgaven i dag

Lab tour 1. Værksted 2. Opbevaringsrum og sensor 3. Lode og små-elektronik 4. Projektkasser og skabe

Arduino - http://arduino.cc Reference listen: http://arduino.cc/en/reference/homepage

The Arduino board 14 digital pins 6 pins with PWM, marked with ~ 6 analog input pins Pin 0 & 1 = TX & RX Bruges til at overføre programmer på Power: 3.3v output (50mA) 5v output (40mA) 3 x GND 9v input USB 5v input

Analog input Hvad er analog input Input i form a spænding 0V - 5V. ADC converter, konverterer signalet fra analog til digital Digitale værdier fra 0-1023. Eksempelvis et accelerometer.

Digital input/output Hvad er digital input? Input i form af spænding, enten 0V eller 5V. Digitale værdier 0 eller 1 (binære værdier). Eksempelvis en knap. Hvad er digital output? Output i form af enten 0V eller 5V. F.eks. tænde/slukke diode. PWM = Pulse Width Modulation. Simulering af analoge værdier fra 0 til 255, f.eks. en diode, som skal kunne lyse med tre forskellige lysstyrker.

Sensors / Input Analog Sensors: Tryk (pres) Lys Lyd Temperatur Barometer Luftfugtighed Accelerometer Gyroskop Piezo/vibration Afstand Gas Variabel modstand Bevægelse Digitale Sensors: RFID Knapper (On/Off) Magnetkort (ID-kort) Magnet

Analog Setup Tryk sensor - pull down resistor

Analog Kode //Setup køres kun én gang void Setup(){ //Sætter seriel-forbindelsen op m. BAUD 9600 Serial.begin(9600); } //Loop køres "uendeligt" antal gange void Loop(){ //Læser værdier fra den analoge pin A0 //Analog pins er altid inputs int sensorvalue = analogread(a0); //Skriver variablen sensorvalue til COMporten Serial.println(sensorValue); }

Digital Setup

Digital Kode //Setup køres kun én gang void Setup(){ //Sætter serial-forbindelsen op m. BAUD 9600 Serial.begin(9600); //pinmode sætter pin 2 til digital INPUT pinmode(2, INPUT); } //Loop køres "uendeligt" antal gange void Loop(){ //Læser værdier fra den digitale pin 2 int sensorvalue = digitalread(2); //Skriver variablen sensorvalue til COMporten Serial.println(sensorValue); }

Aktuators, lys, lyd, ild og stød Aktuators: Lineær aktuatorer Roterende aktuatorer 180 grader 360 grader DC Motor Lys: Light Emitting Diode = LED Displays Lyd: Højtalere Buzzers Ild og Stød: Gå til spejder og hent et 9v batteri og sæt tungen på!

Aktuator Setup

Aktuator Kode // Importere bibliotek #include <Servo.h> // Laver et Servo objekt til at styre servoen Servo myservo; //Setup køres kun én gang void setup() { myservo.attach(9); //attaches the servo on pin 9 } //Loop køres "uendeligt" antal gange void loop() { // Skriver en vinkel til servoen myservo.write(50); delay(15); // Venter 15ms }

LEDSetup

LEDKode - TÆND/SLUK const int LED = 9; int i = 0; //Setup køres kun én gang void setup() { //Sætter pin mode på pin 9 til OUTPUT pinmode(led, OUTPUT); } //Loop køres "uendeligt" antal gange void loop(){ digitalwrite(led,high); //Tænd delay(500); //Vent 500ms digitalwrite(led,low); //Sluk delay(500); //Vent 500ms }

LED - Kode - FADE in/out m. PWM const int LED = 9; int i = 0; //Setup køres kun én gang void setup() { pinmode(led, OUTPUT); } //Loop køres "uendeligt" antal gange void loop(){ for(i = 0; i < 255; i++) { analogwrite(led, i); // i 0 til 254 delay(10); //Vent 10ms } for (i = 255; i > 0; i--){ analogwrite(led, i); // i 255 til 0 delay(10); //Vent 10ms } }

Arduino IDE Koden http://arduino.cc/en/reference/homepage Live eksempel!

Arduino IDE - some build-in functions Delay: delay(ms) Serial: Serial.begin(BAUD), Serial.print(string), Serial. println(string + new line) Map: map(value, fromlow, fromhigh, tolow, tohigh)

PAUSE :)

Pure Data Pure Data er et real-time visuelt programmeringsmiljø Anvendes til lyd-, video- og grafikprogrammering. Open source

Eksempel i Pure Data

Komponenter i Pure Data Inlet Outlet

Argumenter (lidt som i Java...)

Control level & signal level thin cable = flow of control data thick cable = flow of signal

Oscillatorer [osc~] Producerer en sinus kurve med en frekvens bestemt af argumentet, som gives med. [phasor~] Producerer en sawtooth kurve med en frekvens bestemt af argumentet som gives

DAC [dac~] Digital to Analog Converter Konverterer digital signal (44100 samples/sek) til elektriske signaler.

Matematik

Matematik og mange flere...

Tids objekter [metro] sender bangs i et interval givet ved argumentet til objektet. I dette tilfælde sendes bangs hvert 2000ms. Objektet startes desuden med et bang til dets inlet. Ligesom [metro], men kører kun én gang. Dvs. et bang sendes til dets inlet, og 3000ms efter sendes et bang fra dets outlet.

Tids objekter Ligesom [delay] objektet, men kan sende alle mulige beskeder, eksempelvis numre, med et delay. Kan bedst forklares ved handson eksperimenter :)

Hjælpe objekter [Bang] [Bang] bruges til at sætte en "lavine" af beskeder i gang. Hvis værdien på venstre inlet er mindre end værdien på højre inlet, så sendes den ud af venstre outlet. Omvendt, hvis værdien er ligmed eller større, så sendes de nud af højre outlet. Værdier på den venstre inlet routes til de korrekte outlets ud fra argumenterne i [route].

Hjælpe objekter Værdien 0 på højre inlet blokerer for værdien på venstre inlet, imens værdien 1 på højre inlet, lader væriden på venstre inlet passere. [trgger bang bang] Først sendes et bang på højre outlet, derefter sendes et bang på venstre outlet. Fungerer altid fra højre i mod venstre.

Afspil lyd fra fil (understøtter w.av og.aiff) playing sound file "voice.wav" playing sound file selected from file explorer

Afspil MIDI note

Mere avanceret lyd eksempel Kontrol af playback

Interface Pure Data med Arduino Interfacet består af to dele.. PD (PureData patch): "PureDataFramework. pd" Arduino kode bibliotek: "FysiskDesignLib" Begge dele kan findes på Fysisk Design hjemmesiden.

Interface Pure Data med Arduino Åbn PureDataFramework.pd

Interface Pure Data med Arduino Brug FysiskDesignLib Først inkluderes FysiskDesignLib #include <FysiskDesignLib.h> I setup() funktionen laves kaldet FysiskDesignLib.begin(); Brug én enkelt metode til at sende værdier til Pure Data frameworket. Det første argument er værdien og det andet argument er pin nummeret FysiskDesignLib.sendValue(1003, 5);

Interface Pure Data med Arduino Eksempel med FysiskDesignLib brugbiblioteket i brug

Spil lyd med ekstern højtaler void loop(){ /*creates square wave on pin 8, with frequency 400Hz and duration of 1000ms*/ tone(8, 400, 1000); }

Opgaven i dag Rød Gul Grøn - Kør!! Lav et lyskryds. Følgende scenarie skal overholdes: Når en bil nærmer sig krydset, skal blinklyset skifte fra rød til gul til grøn. Når bilen er kørt forbi, skal blinklyset skifte tilbage til rød. I har disse ting til rådighed: Sharp (IR) distance sensor LED dioder Højtaler Tryk sensor Servo

Oversigt sensorer/aktuatorer

Tryk sensor

Sharp (IR) - afstands sensor http://code.google.com/p/gp2y0a21yk-library/ Ellers brug denne metode til at beregne afstanden i cm: distance = ((2914 / (sensorvalue + 5)) -1);

Flex sensor Kan godt være ustabil, men prøv at mappe værdierne den laver til noget du/i kan bruge..

Ping sensor Lidt tricky... men ret præcis http://arduino.cc/en/tutorial/ping

Knock sensor 1 mega Ohm http://www.arduino.cc/en/tutorial/knocksensor

RFID sensor

Potentiometer

Servo aktuator

Knap

Google - You KNOW IT! Brug google til at søge på "Arduino" + din sensor/aktuator...

Liste over ting vi har: 8 Ohm vandtæt højtaler HItec HS-311 Servo Stepper motor DC motor HItec HS-322HD Servo Parallax standard servo Arduino UNO Arduino Leonardo Arduino Wifi Shield Heating pad 50x150mm Flexinol (SMA Wire) Firgelli L12 Linear Actuator 100mm m/ styring SM-S4303R 360grader Servo HYX-S0090F Servo med metalgear Tower Pro SG-5010 Servo Miga NanoMuscle Miga Rotary 6P FlexiForce 100 Sensor Force pad 40x40mm Flex sensor Solenoid pin Rod magnet Ø6 x 13mm Triple Axis Accelerometer Mx2125 double axis accelerometer 3-axis accelerometer m/3-axis magnetometer BUZZER, PIEZO,CONTINUOUS,73DB Vibration Motor LilyPad Vibe Board GTC-16011 16X1 LCD Serial Miniature OLED Module 1.5" Membrane Potentiometer - 500mm BOB-09964 Electret Microphone PIR Motion Sensor Sharp IR distance sensor 300mm Sharp IR distance sensor 800mm PING Sensor Arduino Prototype Shield V2 Arduino Prototype Shield V2 PCB ER400TS - RF Transmitter ER400RS - RF Reciver Arduino host shield FTDI Basic WRL-10393 BT mate silver WRL-10269 BT Modem BlueSMiRF Silver LilyPad XBee Board Arduino Wireless Proto Shield Xbee Board Xbee Antenna Module RFID Reader IDParallax RFID Reader RFID Tag Ø10, Ø20 & Ø40 RFID Tag creditcard RFID Tag key

Hvis du mangler noget så kontakt Rune... :D