Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

1 SKOLELABORATORIET Arduino grunnkurs 4. og 5. mars Skolelaboratoriet av Nils Kr. Rossing og Frode Øren Skolelaboratoriet ved NTNU

Liknende presentasjoner


Presentasjon om: "1 SKOLELABORATORIET Arduino grunnkurs 4. og 5. mars Skolelaboratoriet av Nils Kr. Rossing og Frode Øren Skolelaboratoriet ved NTNU"— Utskrift av presentasjonen:

1 1 SKOLELABORATORIET Arduino grunnkurs 4. og 5. mars Skolelaboratoriet av Nils Kr. Rossing og Frode Øren Skolelaboratoriet ved NTNU

2 2 SKOLELABORATORIET Kursprogram 08:30 – Velkommen. Praktisk informasjon 08:35 – 08:45 Introduksjon: Hva er en mikrokontroller 08:45 – 09:00 Gjennomgang av materiell 09:00 – 09:15 Introduksjon til C-programmering. 09:15 – 10:15 Laboratorieøkt 1: - Koble opp kretsen - Skriv inn og test øving 1 – Blinkende LED - Felles gjennomgang av programmet og elektronikk - Ekstra utfordringer 10:15 – 11:15Laboratorieøkt 2: Arbeid med anbefalte øvinger 11:15 – 11:30 Felles gjennomgang av øvinger med spørsmål og diskusjon 11: :00 Lunsj 12:00 – 12:45Laboratorieøkt 3 : Arbeid med anbefalte øvinger 12:45 – 13:00 Felles gjennomgang av øvinger med spørsmål og diskusjon 13:00 – 13:45 Laboratorieøkt 4 : Arbeid med anbefalte øvinger 13:45 – 14:00 Felles gjennomgang av øvinger med oppsummering

3 3 SKOLELABORATORIET Arduino Arduino mikrokontroller konsept Prosjektet startet i 2005 i den vesle universitetsbyen Ivrea Enklere og billigere for studenter å lære seg bruk av mikrokontrollere Utviklet av Massimo Banzi og David Cuarielles Oppkalt etter byens helteskikkelse: Arduin of Ivrea (”Sterk venn”) Programvaren utviklet av studenten Hermando Barragán Bruker Atmel kontrollere I 2011 eksisterte det ca ,- Arduino enheter

4 4 SKOLELABORATORIET AVR – mikrokontrollerserie Arduino bygger på Atmels kontrollerserie (Atmel verdens nest største lev.) Atmels første kontroller ble utviklet av studentene: Alf-Egil Bogen og Vegard Wollan, NTH studenter begynnelsen av 1990 Utviklet en serie med AVR mikrokontrollere (A lf V egard R isc ) Det produseres i dag ca. 35 AVR mikrokontrollere pr. sek. Atmel Norge ca. 200 ansatte Ledende på mikrokontrollere og berøringsskjermer Årets trøndere ATmega8 BogenWollan

5 5 SKOLELABORATORIET Hva brukes mikrokontrollere til?

6 6 SKOLELABORATORIET Elektronisk grunnenhet Nils Kr. Rossing Behandling av informasjon Sensorer Aktuator Timer Hukommelse Temperatur Lys Lyd Fuktighet Bevegelse Varmeovn Lys Motor/Vifte Alarm/Lyd

7 7 SKOLELABORATORIET Mikrokontrollere og mikroprosessorer Mikrokontroller 8 pin +4,5V 1 0V 8 Intern hukommelse Databehandlingsenhet Innganger Utganger In In 3 Out 2 5 Out Inngang 0 til +V (0 eller 1) ADC leser verdien av en spenning IR – Leser info fra fjernkontroll Utgang 0 til +V (0 eller 1) Tune - lydutgang

8 8 SKOLELABORATORIET Sparkfun Arduino Inventor’s kit

9 9 SKOLELABORATORIET Komponenter Gjennomgang av komponentene

10 10 SKOLELABORATORIET Montering

11 11 SKOLELABORATORIET Montering

12 12 SKOLELABORATORIET Koblingsbrett

13 13 SKOLELABORATORIET Komponenter Gjennomgang av komponentene

14 14 SKOLELABORATORIET Komponenter Resistanser

15 15 SKOLELABORATORIET Komponenter Input (Sensorer)

16 16 SKOLELABORATORIET Komponenter Output (Aktuatorer)

17 17 SKOLELABORATORIET Komponenter Output (Aktuatorer) JZC-11F 30V-10A 230V-5A

18 18 SKOLELABORATORIET Arduino UNO Power Digitale inn og utganger Analoge innganger USB Batteri- eliminator +5v0v

19 19 SKOLELABORATORIET Oppbyggingen av kretsen

20 20 SKOLELABORATORIET Byggebeskrivelse

21 21 SKOLELABORATORIET Detaljert byggebeskrivelse

22 22 SKOLELABORATORIET Programmeringsverktøyet

23 23 SKOLELABORATORIET Installasjon av programvare Hentes fra Dropbox: Arduino windows.zip eller fra: Installer programvaren på egen PC Koble til Arduino Uno-kort, med USB-kontakt (lysdiode lyser) Installer driver ved å følge anvisninger idet Arduino’en kobles til Oppsett av programvare: Velg: Tools på menylinjen Velg: Board Velg: Arduino Uno Velg: Tools på menylinjen Velg: Serial Port Velg riktig Com Port

24 24 SKOLELABORATORIET Editor 1.Sjekk koden 2.Stopp 3.Ny skisse 4.Åpne eksisterende skisse 5.Lagre skissen 6.Last programmet ned til Arduino 7.Datamonitor 8.Navnet på skissen 9.Område for skriving av programmet 10.Meldingsområde

25 25 SKOLELABORATORIET Innledende programmering

26 26 SKOLELABORATORIET Enkel programmeringsstruktur #include // Inkluderer spesielle biblioteker Deklarer globale variable void setup() { // Koden i denne rutinen kjører en gang ved oppstart …. } void loop() { // Deklarer lokale variable // Programlinjer … } setup loop start/reset

27 27 SKOLELABORATORIET Enkel programmeringsstruktur #include // Inkluderer spesielle biblioteker Deklarer globale variable void setup() { // Koden i denne rutinen kjører en gang ved oppstart …. } void loop() { // Deklarer lokale variable // Programlinjer … } int funksjon( ) { // Deklarer lokale variable // kode } setup loop start/reset Funksjon 1 Funksjon 2 Egendef. Funksjon 1 Funksjon 2 Arduinodef.

28 28 SKOLELABORATORIET Deklarasjon av variabler void loop() { int a;// deklarering av variabelen a int b = 6;// deklarering av variabelen b som gis verdien 6 char c = ‘k’;// deklarering av 8 bit karakter (byte) som gies bokstaven k float e, f;/* deklarering av variabelen (desimaltall ) f.eks. 1,65 (32 bit, dobbel word) */ a = 4;// gir heltallsvariabelen a verdien 4 e = 2.5;// gir heltallsvariabelen e float verdien 2,5; f = a * e;// gir float variabelen verdien … ? }

29 29 SKOLELABORATORIET Arbeidsform Synkron jobbing - Bygg opp Øving 1 - Skrive inn program Øving 1 - Laste opp programmet - Test ut Gjennomgang av: - skjema - litt komponentteori - programkode Lag en SOS-sender - gjennomgang av oppbygging og kode Jobber på egen hånd - Gjennomganger: - 11:15 – 11: :45 – 13: :45 – 14:00 Oppgaver: Oppgave 1 Blinkende LED Oppgave 2 Varierende blinkende LED Oppgave 6 LDR - Lyssensor Oppgave 3 RGB LED Oppgave 8 En enkel servo

30 30 SKOLELABORATORIET Øving 1 Blinkende LED

31 31 SKOLELABORATORIET Kommentar: LED må kobles riktig vei Langt bein mot pluss Alltid seriemotstand 220 – 330 Ohm er nok Øving 1 Blinkende LED - skjema

32 32 SKOLELABORATORIET Øving 1 Blinkende LED - montering Monter kretsen og last opp programmet:

33 33 SKOLELABORATORIET Skriv inn programmet

34 34 SKOLELABORATORIET Editor Sjekk om koden er riktig Kompiler og overfør Lagre filen Lagre filen som …

35 35 SKOLELABORATORIET Øving 1 Blinkende LED - Programmering

36 36 SKOLELABORATORIET pinMode (ledpin, OUTPUT); // Definerer pinnen ledpin som en utgang pinmode (pin, mode); // pin angir pinnenummer, // mode om det er OUTPUT eller INPUT digitalWrite(ledpin, HIGH); // Setter pinne ledpin høy digitalWrite(pin, value); // Skriv verdien value til pinne pin // value kan være HIGH og LOW delay(1000);// Stopper programmet i 1000 msek delay(ms) ;// Stopp programmet i ms antall millisekunder Nye kommandoer Blinkende LED

37 37 SKOLELABORATORIET Variabler

38 38 SKOLELABORATORIET Tilleggsoppgave Spesifikasjon B SOS (* * * * * *) Lag en morskode: Prikklengde 200 msek, Streklengde 600 msek, Mellomrom mellom strek/prikk er 200 msek, Mellomrom mellom bokstaver 600 msek Mellomrom mellom ord 1800 msek.

39 39 SKOLELABORATORIET Enkel programmering SOS

40 40 SKOLELABORATORIET Det skal lages en morsesender hvor det er lett å variere hastigheten Prikklengde = 200 msek, Streklengde = 600 msek, Mellomrom mellom strek/prikk = 200 msek, Mellomrom mellom bokstaver = 600 msek Mellomrom mellom ord = 1800 msek. Tilleggsoppgave Spesifikasjon C Lag en morskode: hastighet = 100 msek ; Prikklengde = 200 msek = 2*100, Streklengde = 600 msek = 2*100, Mellomrom mellom strek/prikk = 200 msek = 2*100, Mellomrom mellom bokstaver = 600 msek = 6*100 Mellomrom mellom ord = 1800 msek = 18*100.

41 41 SKOLELABORATORIET SOS med variabel hastighet Spesifikasjon C

42 42 SKOLELABORATORIET Det skal lages lyd i tillegg til lys Tilleggsoppgave Spesifikasjon D Slå på lyd: tone(, ); Slå av lyd: noTone ( ); Slå på lyd med en viss lengde: tone(,, ); Eksempel: tone(9, 440, 500);

43 43 SKOLELABORATORIET Montering av buzzer

44 44 SKOLELABORATORIET SOS med lys og lyd

45 45 SKOLELABORATORIET Det skal lages en SOS sender med lyd og lys og brukes funksjoner Tilleggsoppgave Spesifikasjon E Definisjon av funksjoner: void () { ; } Kall av funksjoner: ();

46 46 SKOLELABORATORIET SOS med bruk av funksjoner Spesifikasjon 5

47 47 SKOLELABORATORIET Lokale og globale variabler, funksjon void loop() { int c, d;// deklarering av lokale variable c og d ; c = 3; d = funksjon(c); } int funksjon(e) { int c, e;// deklarasjon av lokale variable c og e ; } int a, b;// deklarering av globale variable a og b

48 48 SKOLELABORATORIET Eksperimenter med eksempeloppgaver

49 49 SKOLELABORATORIET Eksperimenter med eksempeloppgaver Oppgave 2: Potensiometer (jobber med boka) Oppgave 6: Fotomotstand (jobber med boka) Oppgave 3: RGB LED (jobber med boka) Oppgave 8: En enkel servo (jobber med boka) Velg oppgaver dere har lyst til å lage fra heftet

50 50 SKOLELABORATORIET Skriv inn programmet

51 51 SKOLELABORATORIET Øving 2 Varierende blinkende LED Blinkfrekvensen styres ved hjelp av et potensiometer

52 52 SKOLELABORATORIET Øving 2 Varierende blinkende LED

53 53 SKOLELABORATORIET Bygg opp kretsen i øving 2

54 54 SKOLELABORATORIET Spenningsdeleren Potensiometeret V CC VSVS VS_VS_ R1R1 R2R2

55 55 SKOLELABORATORIET Øving 2 Variabel blinkende LED

56 56 SKOLELABORATORIET int sensorPin = 0; // Tilordner verdien 0 til variabelen sensorPin int var = val; // Tilordner verdien val til variabelen var pinmode (sensorPin, INPUT); // Definerer pinnen sesnorPin som en inngang pinmode (pin, mode); // pin angir pinnenummer, // mode om det er OUTPUT eller INPUT sensorValue =analogRead(sensorPin); // Les verdi på pinne sensorpin value = analogRead(pin); // Les verdien value fra pinne pin // Value kan være fra Øving 2 Variabelt blinkende LED – Nye kommandoer

57 57 SKOLELABORATORIET Det skal lages en SOS sender med lyd og lys og brukes funksjoner Hastigheten skal kunne justeres ved hjelp av et potensiometer Tilleggsoppgave Spesifikasjon 1 F

58 58 SKOLELABORATORIET Tilleggsoppgave Spesifikasjon 1 F

59 59 SKOLELABORATORIET Øving 3 RGB lysdiode Fargeblanding på mange måter

60 60 SKOLELABORATORIET Puls Bredde Modulasjon (PWM) analogWrite(, );

61 61 SKOLELABORATORIET Øving 3 RGB lysdiode - koblingsskjema

62 62 SKOLELABORATORIET Øving 3 RGB lysdiode - oppkobling

63 63 SKOLELABORATORIET Øving 3 RGB lysdiode - program

64 64 SKOLELABORATORIET Øving 3 RGB lysdiode – nye kommandoer

65 65 SKOLELABORATORIET if (betingelse) { programlinjer; } else if (betingelse) { programlinjer; } else } programlinjer; } Øving 3 RGB lysdiode – Nye kommandoer // Betingelsen må være oppfylt for at programlinjene // innenfor klammeparentesene skal bli utført // Om ingen av de foregående betingelsene er oppfylt // oppfylles disse programlinjene

66 66 SKOLELABORATORIET Øving 4 Rekke av lysdioder

67 67 SKOLELABORATORIET Øving 4 Rekke av lysdioder - koblingsskjema

68 68 SKOLELABORATORIET Øving 4 Rekke av lysdioder - oppkobling

69 69 SKOLELABORATORIET Øving 4 Rekke av lysdioder - program

70 70 SKOLELABORATORIET Øving 4 Rekke av lysdioder – nye kommandoer

71 71 SKOLELABORATORIET Øving 5 Trykknapper Trykk en av knappene og LED’en lyser Trykk begge knappene og LED’en lyser ikke

72 72 SKOLELABORATORIET Øving 5 Trykknapper - koblingsskjema

73 73 SKOLELABORATORIET Øving 5 Trykknapper - oppkobling

74 74 SKOLELABORATORIET Øving 5 Trykknapper - program

75 75 SKOLELABORATORIET Øving 5 Trykknapper – Nye kommandoer

76 76 SKOLELABORATORIET if (betingelse) { programlinjer; } else if (betingelse) { programlinjer; } else } programlinjer; } Øving 5 Trykknapper – Nye kommandoer // Betingelsen må være oppfylt for at programlinjene // innenfor klammeparentesene skal bli utført // Om ingen av de foregående betingelsene er oppfylt // oppfylles disse programlinjene

77 77 SKOLELABORATORIET Enkle betingelser if (A = = B) { } // Om A er lik B if (A < B) { } // Om A mindre enn B if (A > B) { } // Om A større enn B if (A! = B) { } // Om A er forskjellig fra B Sammensatt betingelser: if (A = = B) && (C ! = D) { } // Om A er lik B og C forskjellig fra D if (A = = B) || (C ! = D) { } // Om A er lik B eller C forskjellig fra D Øving 5 Trykknapper – Nye kommandoer

78 78 SKOLELABORATORIET Tilleggsoppgave Lag programmet slik at når knapp 1 trykkes inn så slås lyset på, og blir værende på helt til knapp 2 trykkes inn, da slukkes lyset.

79 79 SKOLELABORATORIET Øving 6 LDR - lyssensor

80 80 SKOLELABORATORIET Øving 6 LDR lyssensor - koblingsskjema

81 81 SKOLELABORATORIET Øving 6 LDR Lyssensor - oppkobling

82 82 SKOLELABORATORIET Øving 6 LDR – Lyssensor - program

83 83 SKOLELABORATORIET Lysfølsom motstand (LDR) Cadmiumsulfid Elektroner eksiteres til ledningsbåndet

84 84 SKOLELABORATORIET Fullt sollys lux (1000 W/m 2 ) Sollyset en tidlig morgen lux Belysningen i et TV-studio lux Et godt opplyst kontor 400 lux Lyset fra en fullmåne 1 lux Lysfølsom motstand (LDR)

85 85 SKOLELABORATORIET Måling av lysstyrke med LDR Økende spenning med økende lysstyrke +5 V ADC Økende spenning med fallende lysstyrke ADC +5 V Hvor skal LDR-motstanden plasseres? LDR

86 86 SKOLELABORATORIET Øving 6 LDR – Lyssensor – nye kommandoer

87 87 SKOLELABORATORIET Øving 7 Temperatursensor

88 88 SKOLELABORATORIET Måling av temperatur med temperaturfølsom pn-overgang (LM35/TMP35/6/7) En pn-overgang forspent i lederetning og med konstant strøm (1µA) gir en tilnærmet lineær spenningsvariasjon (1 mV/ºC) som funksjon av temperatur. µA V V out

89 89 SKOLELABORATORIET V(T) og T(V) Følsomhet 10 mV/K (LM35/36) og 20 mV/K (TMP37) 0,5V 10 mV/K V(T) = 0.01 [V/K] * T [K] [V] T = 100 * V(T) mV/K V(T) = 0.02 [V/K] * T [K] T = 50 * V(T) TMP37 LM36 V V K K 25ºC 500mV Område: ºC Nøyaktighet: +/- 2ºC Responstid: 240s (90% still air) Område: ºC Nøyaktighet: +/- 2ºC Responstid: 120 s (90% still air)

90 90 SKOLELABORATORIET Øving 7 Temperatursensor - koblingsskjema

91 91 SKOLELABORATORIET Øving 7 Temperatursensor - oppkobling

92 92 SKOLELABORATORIET Øving 7 Temperatursensor - program

93 93 SKOLELABORATORIET Øving 7 Temperatursensor – nye kommandoer

94 94 SKOLELABORATORIET Øving 8 Servo

95 95 SKOLELABORATORIET Øving 8 Servo - koblingsskjema

96 96 SKOLELABORATORIET Øving 8 Servo - oppkobling

97 97 SKOLELABORATORIET Øving 8 Servo - program

98 98 SKOLELABORATORIET Øving 8 Servo – nye kommandoer

99 99 SKOLELABORATORIET Servoer styres av pulser Servoen styres av pulser : 900 μsek – 0º 1500 μsek – 90º 2100 μsek – 180º

100 10 0 SKOLELABORATORIET Øving 9 Servo styrt av bøyesensor

101 10 1 SKOLELABORATORIET Øving 9 Servo styrt av bøyesensor - koblingsskjema

102 10 2 SKOLELABORATORIET Øving 9 Servo styrt av bøyesensor - oppkobling

103 10 3 SKOLELABORATORIET Øving 9 Servo styrt av bøyesensor - program

104 10 4 SKOLELABORATORIET Øving 9 Servo styrt av bøyesensor– nye kommandoer

105 10 5 SKOLELABORATORIET Øving 10 Soft potensiometer styrer farger

106 10 6 SKOLELABORATORIET Øving 10 Soft potensiometer styrer farger - koblingsskjema

107 10 7 SKOLELABORATORIET Øving 10 Soft potensiometer styrer farger- oppkobling

108 10 8 SKOLELABORATORIET Øving 10 Soft potensiometer styrer farger - program

109 10 9 SKOLELABORATORIET Øving 10 Soft potensiometer styrer farger – nye kommandoer

110 11 0 SKOLELABORATORIET Øving 11 Lydgiver

111 11 1 SKOLELABORATORIET Øving 11 Lydgiver - koblingsskjema

112 11 2 SKOLELABORATORIET Øving 11 Lydgiver - oppkobling

113 11 3 SKOLELABORATORIET Øving 11 Lydgiver - program

114 11 4 SKOLELABORATORIET Øving 11 Lag egne funksjoner

115 11 5 SKOLELABORATORIET Øving 11 Lydgiver – nye kommandoer

116 11 6 SKOLELABORATORIET Øving 12 Motorstyring

117 11 7 SKOLELABORATORIET Øving 12 Motorstyring - koblingsskjema Maks. strøm 200 mA Typ. strøm mA

118 11 8 SKOLELABORATORIET Øving 11 Motorstyring - oppkobling

119 11 9 SKOLELABORATORIET Øving 12 Motorstyring - program

120 12 0 SKOLELABORATORIET Puls Bredde Modulasjon (Puls Width Modulation (pwm)) analogWrite(motorpin, i); // Sett farten med verdien i analogWrite(pin, value) // Sett utgang pin til pwm dutcycle value Øving 3 Styring av motor – Nye kommandoer value 256

121 12 1 SKOLELABORATORIET Øving 12 Motorstyring – nye kommandoer

122 12 2 SKOLELABORATORIET Øving 13 Bruk av rele

123 12 3 SKOLELABORATORIET Øving 13 Bruk av rele - koblingsskjema

124 12 4 SKOLELABORATORIET Øving 13 Bruk av rele - oppkobling

125 12 5 SKOLELABORATORIET Øving 13 Bruk av rele - program

126 12 6 SKOLELABORATORIET Øving 14 Løpende lys - Skiftregister

127 12 7 SKOLELABORATORIET Øving 14 Løpende lys (skiftregister) - koblingsskjema

128 12 8 SKOLELABORATORIET Øving 14 Løpende lys (skiftregister) - oppkobling

129 12 9 SKOLELABORATORIET Øving 14 Løpende lys (skiftregister) - program

130 13 0 SKOLELABORATORIET Øving 14 – nye kommandoer

131 13 1 SKOLELABORATORIET Halvåpne oppgaver

132 13 2 SKOLELABORATORIET Halvåpne oppgaver Små halvåpne oppgaver: Velg en eller flere alt etter hvor mye tid dere trenger: Batteritester Automatisk vannvarmer m/termostat Automatisk vanningsanlegg for blomster Elektronisk terning En større halvåpen oppgave: Programmer et trafikklys - Vanlig ”dum” sekvens - Bestill grønn ”mann” - Grønn ”mann” med lyd - Blinkende gult når mørket faller på

133 13 3 SKOLELABORATORIET Mål temperatur i vannet ved oppstart Beregn hvor mye energi som må tilføres for å heve temperaturen Termisk energi: Q v = c 0 m(t 2 -t 1 ), Elektrisk energi: Q e = UIT Mål strøm og spenning over glødetråden og beregn levert effekt Beregn tiden det vil ta for å varme vannet opp til ønsket temperatur Stemmer beregningene og målingene overens?. Åpen oppgave

134 13 4 SKOLELABORATORIET Utstyrsliste: 2 esker med 4,5 V batterier 1 stk 30 W loddebolt m/stativ 1 rull loddetinn 4 stk sideavbiter 1 stk avmantlingstang 1 rull motstandstråd 4 stk flattenger 8 stk flatkabel – forlenger 8 stk multimetere 8 stk termometer 8 stk begerglass Stiftlister Prøvetrykk 7.2 av heftet: Grunnleggende elektronikk og sensorteknikk Bokser med utvalg av motstander NTC-motstander


Laste ned ppt "1 SKOLELABORATORIET Arduino grunnkurs 4. og 5. mars Skolelaboratoriet av Nils Kr. Rossing og Frode Øren Skolelaboratoriet ved NTNU"

Liknende presentasjoner


Annonser fra Google