BSPR11 Lektion5 / Arduinointro - itu.dk moja/BSPR_lek5.pdf · PDF file• Sub-grupper...

Click here to load reader

  • date post

    03-Jul-2019
  • Category

    Documents

  • view

    217
  • download

    1

Embed Size (px)

Transcript of BSPR11 Lektion5 / Arduinointro - itu.dk moja/BSPR_lek5.pdf · PDF file• Sub-grupper...

  • Mogens Jacobsen / moja@itu.dk

    BSPR11 Lektion 5 / Arduino intro

    1

  • Dagen i dag

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

    Om det kommende forlb Om Arduinos historie og slgtskab Om programmering

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

    2

    BSPR 2011

  • Weird & Wild p bloggen

    Grupperne 5 & 6 i dag

    Og n (atypisk) fra Mogens

    Grupperne 7 & 8 til nste gang

    Husk bloggen(send til Louise)

    3

    BSPR 2011

  • Har I husket?

    Download Arduino IDE Installer det

    USB kabler Bidetnger (15kr i Netto)

    4

    BSPR 2011

  • Lringsml5

    BSPR 2011

    - udarbejde digitalt-materielle interaktive sketches,

    gr udvalgte dele af en tilstrbt brugeroplevelse tilgngelig for direkte manipulation og kropslig erfaring gennem handling.

  • Slgtskab6

    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

  • Computer?

    Processor: Intel Core 2 Duo

    Hastighed: 2,66GHz

    Hukommelse: 4GB

    Harddisk: 250GB

    Vgt: 2500g

    Pris: 16500kr

    7

    BSPR 2011

    Processor: ATMEL ATmega328

    Hastighed: 0,016GHz

    Hukommelse: 0,0000032GB

    Harddisk: 0

    Vgt: 30g

    Pris: 200kr ( OpenSource)

  • Ikke et interface-board8

    BSPR 2011

    Arduino inkluderer en AtmelAtmega mikroprocessor

    Arduino inkluderer et OS (Arduino Bootloader)

    Arduino har hukommelse (RAM)

    Arduino krer programmet uafhngigt af modercomputeren

    Arduino kan kre p et batteri

    Arduino starter seneste program, nr den tndes igen

  • 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 problemPeter Wegner & Dina Goldin: Turings Ideas and Models of Computation

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

  • Ab Abdallh Muammad ibn Ms al-Khwrizm

    10

    BSPR 2011

    Persisk mathematiker, astronom, geograf

    Ca. r 780 til 850 Vores brug af decimaler

  • 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.

  • Algoritmer12

    BSPR 2011

    if

  • 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

  • Vamos!14

    BSPR 2011

  • Arbejdsgangen15

    BSPR 2011

    1. Kode

    2. Kompilering

    3. Sendtil Arduino

    4. Afvikling

  • 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 Glder accelerometre, sonar, motorer, TLC5940-chips, flex-

    sensors Kvittering hos hjlpelrerne

  • Anduino anatomi17

    BSPR 2011

    Power outputs

  • Anduino IDE anatomi18

    BSPR 2011

    Jeres kode

    Feedback(og fejl-meddelelser)

  • Anduino IDE anatomi19

    BSPR 2011

    Verify(kompiler)

    Stop Upload(til Arduino)

  • Afsnit20

    BSPR 2011

    setup () Krer n gang nr skitsen starter.

    loop()Gentages ogs efter sluk

  • Arduino kode21

    BSPR 2011

    Stave-kritisk (men viser genkendt kode) Forskel p store og sm bogstaver Stning afsluttes med ; (semikolon) Afsnit begrnses af { og } (tuborg-klamme) Linier med // afvikles ikke: Kommentarer

    Online ordbog: Menu > Help > Reference

  • Anduino GO! 22

    BSPR 2011

    Installer IDE (done)

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

    Vlg det rigtige boardMenu > Tools > Board

    Vlg den rigtige kommunikations-portMenu > Tools > Serial Port

  • Bill Verplank: Do? Feel? Know?

    BIID Lektion 9

    23

  • Input/output24

    BSPR 2011

    Input Sensors

    Output Actuators

    How do you do?

    How do you feel?

    Sensors

    Actuators

  • Eksempler25

    BSPR 2011

    Sensors Kontakt

    Lysflsom modst.

    Temperatur modst.

    Ultralyd afstand

    Piezo tryk

    Flex modst.

    RFID lser & tags

    Accelerometer

    Actuators LED (lysdiode)

    Piezo buzzer (lyd)

    Motor (bevgelse) Vibrator

    Blser (bevgelse luft)

    Pumpe (bevgelse vand)

    Kontakt Rel

    Optokobler

    Peltier (kuld/varme)

  • Digitalt26

    BSPR 2011

    Binrt

    To tilstande:

    Tndt / slukket

    1 / 0

    HIGH / LOW

  • Analog vs Digital27

    BSPR 2011

    Analog kommer fra grskanalogos med betydningen"tilsvarende, lignende".

    Bruges ogs om billedligreprsentation (f.eks. tegning) i modstning til symbolsk el. digital reprsentation. (f.eks. ord, tal).

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

    Kontinuert Diskret

  • 4 basale input/output modes28

    BSPR 2011

    Digital output

    digitalWrite(pinnummer, [HIGH/LOW])

    Digital Input

    Vrdi[HIGH/LOW] = digitalRead(pinnummer)

    Analog Input

    Vrdi[0-1023] = analogRead(pinnummer)

    Analog Output

    analogWrite(pinnummer, [0-255])

  • Digital Output29

    BSPR 2011

    LysdiodeLED = Light Emitting Diode

  • Lysdiode (LED)30

    BSPR 2011

    Det korte ben p en LED

    skal sluttes til jord (GND).Polaritet:

    Den skal vendes rigtigt

  • Diagrammer31

    BSPR 2011

  • 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

  • Andre lysdioder (LED)33

    BSPR 2011

    3 leds i n

    RGB LED (flere farver)

    Lys udenfor det

    synlige omrde

    IR (infrard) LED

    i fjernbetjening

  • Motorer34

    BSPR 2011

    Alm. lille motor

    Step motorKrer et step forhver puls

    Servo motorKrer til en bestemtvinkel/position(men ikke ren digital output)

  • Motorer (varianter)35

    BSPR 2011

    Blser/klerLufttryk

    PumpeAkavarium/springvand

    Vibrator motorEr en alm. motor med asymmetrisk lod p aksen

  • Advarsel: Kun meget sm motorer kan sttes direkte p

    36

    BSPR 2011

  • Digital Input37

    BSPR 2011

    Kontakt

  • Trykknap (kontakt)38

    BSPR 2011

  • Trykknap: Logisk HIGH & LOW39

    BSPR 2011

    R skal blot vre mange Ohm(10K eller 1M..)

    Sluttet kontakt giver 5V = logisk HIGHMen ben kontakt fluktuerer og er derfor ikke ndvendigvis logisk LOW

    HIGH LOW

  • Modstand (resistor)40

    BSPR 2011

    Vrdi mles i (Ohm)1k = 1kilo = 1.000 1 M = 1mega= 1.000.000 Vrdi angives med farve-kode

  • Farvekoder for modstande41

    BSPR 2011

  • 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

  • Reed Rel (en speciel kontakt)43

    BSPR 2011

    En magnet kontakt

  • 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 gre det lidt mere interessant

    digitalWrite(13, LOW);

    }

    }

    44

    BSPR 2011

  • 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

  • Resten af dagen

    46

    BSPR 2011

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

    Flere blinkede lysdioder Tilfldig 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

  • Til nste gang

    47

    BSPR 2011

    10/3 Kan alle vre her kl 10-16?

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

  • Nste gang

    48

    BSPR 2011

    Aflevering:Tnk over hvad I vil bruge Arduino til i jeres designforlb.(Skriv kommentar p bloggen under aflevering)

    Ls om breadboards: http://www.tigoe.net/pcomp/code/c