Download - BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Transcript
Page 1: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Mogens Jacobsen / [email protected]

BSPR11 Lektion 5 / Arduino intro

1

Page 2: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Dagen i dag

Weird & Wild: Grupperne 5 & 6 + mogens Lektion 5 (AUD 3)

Om det kommende forløb Om Arduinos historie og slægtskab Om programmering

Arduino! (DesignLab) Arduino anatomi Vore Arduino eventyr – 4 stoppesteder Digital vs analog Øvelser……

2

BSPR 2011

Page 3: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Weird & Wild på bloggen

Grupperne 5 & 6 i dag

Og én (atypisk) fra Mogens

Grupperne 7 & 8 til næste gang

Husk bloggen(send til Louise)

3

BSPR 2011

Page 4: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Har I husket?

Download Arduino IDE Installer det

USB kabler Bidetænger (15kr i Netto)

4

BSPR 2011

Page 5: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Læringsmål5

BSPR 2011

- udarbejde digitalt-materielle interaktive sketches,

…gør udvalgte dele af en tilstræbt brugeroplevelse tilgængelig for direkte manipulation og kropslig erfaring gennem handling.

Page 6: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Slægtskab6

BSPR 2011

MIT media lab, USA

DBN/Design By Numbers

Processing

openFrameworks

IDII Ivrea, Italien

Arduino

CaseyReas

JohnMaeda

ZacharyLieberman

TheoWatson

Massimo Banzi

BenjaminFry

CIID, DK

Page 7: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Computer?

Processor: Intel Core 2 Duo

Hastighed: 2,66GHz

Hukommelse: 4GB

Harddisk: 250GB

Vægt: 2500g

Pris: 16500kr

7

BSPR 2011

Processor: ATMEL ATmega328

Hastighed: 0,016GHz

Hukommelse: 0,0000032GB

Harddisk: 0

Vægt: 30g

Pris: 200kr ( OpenSource)

Page 8: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Ikke et ”interface-board”8

BSPR 2011

Arduino inkluderer en AtmelAtmega mikroprocessor

Arduino inkluderer et ”OS” (Arduino Bootloader)

Arduino har hukommelse (RAM)

Arduino kører programmet uafhængigt af modercomputeren

Arduino kan køre på et batteri

Arduino starter seneste program, når den tændes igen

Page 9: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Algoritme (klassisk definition)9

BSPR 2011

”A systematic procedure that produces – in an finite number of steps – the answer to a question or the solution to a problem”Peter Wegner & Dina Goldin: ”Turing’s Ideas and Models of Computation”

http://www.cse.uconn.edu/~dqg/papers/turing04.pdf

Page 10: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Abū Abdallāh Muḥammad ibn Mūsā al-Khwārizmī

10

BSPR 2011

Persisk mathematiker, astronom, geograf

Ca. år 780 til 850 Vores brug af decimaler

Page 11: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Te-brygger algoritme11

BSPR 2011

1. If the kettle does not contain water then fill the kettle

2. Plug the kettle into the power point and switch it on.

3. If the teapot is not empty then empty the teapot.

4. Place tea leaves in the teapot.

5. If the water in the kettle is not boiling then go to step 5

6. Switch the kettle off.

7. Pour water from the kettle into the teapot.

Page 12: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Algoritmer12

BSPR 2011

if

Page 13: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Zach Liebermann: Fear of Programming

Stereotype of programmers

People think of programming as a sort of reclusive breed of geeky guys

Walls of books at bookstores

Fear of math

Stay fearful, but know that programming is not (but can be for sure) as complicated as most high school math classes

Fear of hieroglyphics

13

BSPR 2011

Page 14: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Vamos!14

BSPR 2011

Page 15: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Arbejdsgangen15

BSPR 2011

1. Kode

2. Kompilering

3. Sendtil Arduino

4. Afvikling

Page 16: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Udlevering af Arduino16

BSPR 2011

• 2 stk Arduino pr gruppe• Pas på dem – tag dem evt. med hjem• Sub-grupper af 3 personer• Hver sub-gruppe har en plastbox

• Der skal kvitteres for nogle dimser• Gælder accelerometre, sonar, motorer, TLC5940-chips, flex-

sensors• Kvittering hos hjælpelærerne

Page 17: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Anduino anatomi17

BSPR 2011

Power outputs

Page 18: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Anduino IDE anatomi18

BSPR 2011

Jeres kode

Feedback(og fejl-meddelelser)

Page 19: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Anduino IDE anatomi19

BSPR 2011

Verify(kompiler)

Stop Upload(til Arduino)

Page 20: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Afsnit20

BSPR 2011

setup () Kører én gang når skitsen starter.

loop()Gentages … også efter sluk

Page 21: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Arduino kode21

BSPR 2011

• Stave-kritisk (men viser genkendt kode)• Forskel på store og små bogstaver• Sætning afsluttes med ; (semikolon)• Afsnit begrænses af og (tuborg-klamme)• Linier med // afvikles ikke: Kommentarer

• Online ordbog: Menu > Help > Reference

Page 22: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Anduino – GO! 22

BSPR 2011

• Installer IDE (done)

• Installer drivere• http://arduino.cc/en/Guide/MacOSX• http://arduino.cc/en/Guide/Windows

• Vælg det rigtige boardMenu > Tools > Board

• Vælg den rigtige kommunikations-portMenu > Tools > Serial Port

Page 23: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Bill Verplank: Do? Feel? Know?

BIID Lektion 9

23

Page 24: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Input/output24

BSPR 2011

Input Sensors

Output Actuators

How do you do?

How do you feel?

Sensors

Actuators

Page 25: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Eksempler25

BSPR 2011

Sensors Kontakt

Lysfølsom modst.

Temperatur modst.

Ultralyd afstand

Piezo tryk

Flex modst.

RFID læser & tags

Accelerometer

Actuators LED (lysdiode)

Piezo buzzer (lyd)

Motor (bevægelse) Vibrator

Blæser (bevægelse luft)

Pumpe (bevægelse vand)

‘Kontakt’ Relæ

Optokobler

Peltier (kuld/varme)

Page 26: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Digitalt26

BSPR 2011

Binært

To tilstande:

Tændt / slukket

1 / 0

HIGH / LOW

Page 27: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Analog vs Digital27

BSPR 2011

Analog kommer fra græskanalogos med betydningen"tilsvarende, lignende".

……Bruges også om billedligrepræsentation (f.eks. tegning) i modsætning til symbolsk el. digital repræsentation. (f.eks. ord, tal).

Digital kommer af latin digitus, der betyder finger eller tå. Afledtheraf er betydningen at tælleeller blot tal. Betydningen ses i engelsk, hvor digit betyder tal, ciffer.

Kontinuert Diskret

Page 28: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

4 basale input/output modes28

BSPR 2011

Digital output

digitalWrite(pinnummer, [HIGH/LOW])

Digital Input

Værdi[HIGH/LOW] = digitalRead(pinnummer)

Analog Input

Værdi[0-1023] = analogRead(pinnummer)

Analog Output

analogWrite(pinnummer, [0-255])

Page 29: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Digital Output29

BSPR 2011

LysdiodeLED = Light Emitting Diode

Page 30: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Lysdiode (LED)30

BSPR 2011

Det korte ben på en LED

skal sluttes til jord (GND).Polaritet:

Den skal vendes rigtigt

Page 31: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Diagrammer31

BSPR 2011

Page 32: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

”Blink” (LED på pin 13)

void setup()

pinMode(13, OUTPUT); // sets the digital pin as output

void loop()

digitalWrite(13, HIGH);

delay(1000);

digitalWrite(13, LOW);

delay(1000);

32

BSPR 2011

Page 33: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Andre lysdioder (LED)33

BSPR 2011

3 leds i én

RGB LED (flere farver)

Lys udenfor det

synlige område

IR (infrarød) LED

i fjernbetjening

Page 34: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Motorer34

BSPR 2011

Alm. lille motor

Step motorKører et ”step” forhver puls

Servo motorKører til en bestemtvinkel/position(men ikke ren digital output)

Page 35: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Motorer (varianter)35

BSPR 2011

Blæser/kølerLufttryk

PumpeAkavarium/springvand

Vibrator motorEr en alm. motor med asymmetrisk lod på aksen

Page 36: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Advarsel: Kun meget små motorer kan sættes direkte på

36

BSPR 2011

Page 37: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Digital Input37

BSPR 2011

Kontakt

Page 38: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Trykknap (kontakt)38

BSPR 2011

Page 39: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Trykknap: Logisk HIGH & LOW39

BSPR 2011

R skal blot være mange Ohm(10K eller 1M..)

Sluttet kontakt giver 5V = logisk HIGHMen åben kontakt fluktuerer og er derfor ikke nødvendigvis logisk LOW

HIGH LOW

Page 40: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Modstand (resistor)40

BSPR 2011

Værdi måles i Ω (Ohm)1kΩ = 1kilo = 1.000 Ω1 MΩ = 1mega= 1.000.000 ΩVærdi angives med farve-kode

Page 41: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Farvekoder for modstande41

BSPR 2011

Page 42: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Altid modstand foran LED42

BSPR 2011

Egentligt skal der altid

en modstand foran en

LED.

Men på ben 13 er den

indbyggetCa 200-500 Ohm

Page 43: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Reed Relæ (en speciel kontakt)43

BSPR 2011

En magnet kontakt

Page 44: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Kontakt

void setup()

pinMode(13, OUTPUT);

pinMode(2, INPUT);

void loop()

int buttonState = digitalRead(2);

if (buttonState == HIGH)

digitalWrite(13, HIGH);

else

delay(1000); //for at gøre det lidt mere interessant

digitalWrite(13, LOW);

44

BSPR 2011

Page 45: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Kontakt2

int blinketid = 1000; // ny variabel

void setup()

pinMode(13, OUTPUT);

pinMode(2, INPUT);

void loop()

int buttonState = digitalRead(2);

if (buttonState == HIGH)

digitalWrite(13, HIGH);

else

delay(blinketid); digitalWrite(13, LOW);

45

BSPR 2011

Page 46: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Resten af dagen

46

BSPR 2011

Eksperimenter med lysdioder (husk modstand foran) og kontakter… go crazy NOW!

Flere blinkede lysdioder Tilfældig blink-tider (se random under online ref.) Kontakt der skal trykkes 2 gange på En elektronisk terning: 6 LEDS og 1 kontakt Et æggeur: Tryk X gange og den lyser X minutter ….osv

Page 47: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Til næste gang

47

BSPR 2011

10/3 Kan alle være her kl 10-16?

17/3 Ren øvelses-/Arduino-gang i DesignLab.

Page 48: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

Næste gang

48

BSPR 2011

Aflevering:Tænk over hvad I vil bruge Arduino til i jeres designforløb.(Skriv kommentar på bloggen under aflevering)

Læs om breadboards: http://www.tigoe.net/pcomp/code/circuits/breadboards

Læs om analog input: http://www.arduino.cc/en/Tutorial/AnalogInput

Læs Goldschmidt: ”The Backtalk of self-generatedsketches”

Page 49: BSPR11 Lektion5 / Arduinointro - itu.dkmoja/BSPR_lek5.pdf · • Sub-grupper af 3 personer • Hver sub-gruppe har en plastbox • Der skal kvitteres for nogle dimser • Gælder

49

BSPR 2011