Start på Arduino og programmering



Relaterede dokumenter
Fra programmering til mikroprocessor

Analoge indgange og A/D konvertering. Analoge udgange

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

Programmeringskursus Kursusaften 3. Programmering for begyndere Brug af Arduino. Display. Kursusaften 3 EDR Hillerød Knud Krogsgaard Jensen / OZ1QK

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

Brug af digitale ind og udgange

Internt interrupt - Arduino

Arduinostyret klimaanlæg Afsluttende projekt informationsteknologi B

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

danske karakterer på Lcd

LCD intro. LCD Character display-intro. Redigeret 4/6-2019

Arduinostyret klimaanlæg Afsluttende projekt programmering C

CANSAT & ARDUINO step by step

Hvorfor & Hvordan lære Elever At programmere Arduinoer

Arduino kursus lektion 3:

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

Programmering i C. Lektion september 2009

Hvorfor & Hvordan lære. at programmere Arduinoer

Hvorfor & Hvordan lære Elever At programmere Arduinoer

Microcontroller, Arduino

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

Delay(100); Man skriver fx blot delay(100); for at få Microcontrolleren til at vente 100 ms inden programmet fortsætter.

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato:

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

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

Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. "10") til heltal (10). if (udtryk) else

Programmering i C. Lektion oktober 2008

Programmering for begyndere Lektion 2. Opsamling mm

CANSAT & ARDUINO step by step

Arduino kursus lektion 4:

#AlleKanKode. Lektion 2 - Konstanter og Variabler

Arduino Programmering

Microcontroller, Arduino

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

Programmering i C Intro og grundlæggende C 5. marts 2007

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

Programmering. Det rent og skært nødvendige, det elementært nødvendige! Morten Dam Jørgensen

Forelæsning Uge 2 Mandag

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.

Optimering af fraværsregistrering

Mircobit Kursus Lektion 1

Programmering i C Programmering af microcontroller i C (4 af 4) 12. april 2007

ARDUINO PROGRAMMERING

Programmering i C. Kursusintroduktion. Lektion september Målgruppe 2 Indhold 3 Form 4 Materiale. Målgruppe Indhold Form Materiale

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

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

#AlleKanKode. Lektion 4 - Kontrol flow

Projekt Træningsmaskine

Forelæsning Uge 2 Torsdag

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

// Definition af porte og funktioner

Kontrol-strukturer i PHP

Eksempel: Skat i år 2000

Lige siden den elektroniske computers opfindelse i slutningen af 1940, har det været muligt at få en computer til at beregne ting.

QUICK START Updated:

Arduino Programmering

QUICK START Updated: 18. Febr. 2014

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

Kapitel 3 Betinget logik i C#

Programmering i C. Lektion september 2009

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter Abstract

Af: OZ7EC Erik Christiansen Chiptemperatur med Arduino

Lektion 6 / Analog Arduino

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

Dokumentation af UR Med børnetimer til TV-visning

TinkerCad - Arduino simulator

Programmering i C. Lektion december 2008

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

Noter til C# Programmering Iteration

#AlleKanKode. Lektion 3 - Operatorer

Opera Ins. Model: MI5722 Product Name: Pure Sine Wave Inverter 1000W 12VDC/230 30A Solar Regulator

Arduino opgaver. I dette dokument er der inspiration til en række programmerings-opgaver til Arduino.

Arduino. Processoren på kittet er fra Atmel, af AVR-familien, og hedder Atmega 328.

Sammenlign og byt. Et eksempel på dokumentering af et program

Intro til AVR. Mads Pedersen, OZ6HR

Studiepraktik. Thomas Bøgholm Mikkel Hansen Jacob Elefsen

Det er muligt at chekce følgende opg. i CodeJudge: og

Lær Python dag 1 - modul 1

Embedded controller, almen.

PHP 3 UGERS FORLØB PHP, MYSQL & SQL

Programmering i C. Lektion november 2008

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

Projekt Når maskinen reagerer - Dataopsamling og aktuatorer

Programmering i C Videre med C (2 af 4) 19. marts 2007

Introduktion til funktioner, moduler og scopes i Python

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

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

Netværk & elektronik

Forelæsning Uge 2 Mandag

NetLogo-simuleringen. Simuleringer og fysiske modeller (henfaldsloven)

Arduino opgaver Teknologi

Python 3 kursus lektion 1:

Crash Course i Programmering. HumTek, RUC

E-PAD Bluetooth hængelås E-PAD Bluetooth padlock E-PAD Bluetooth Vorhängeschloss

9. Tyverialarm med buzzer

Forelæsning Uge 2 Mandag

Transkript:

Programmering for begyndere Brug af Arduino Start på Arduino og programmering EDR Hillerød Knud Krogsgaard Jensen / OZ1QK 1

Start på Arduino og programmering Sidste gang (Introduktion) Programmeringssproget C Programstruktur (Det gentages og udbygges) Indholdet i en mikroprocessor Præsentation af Arduino En mulig brug i Power Meter 2

Start på Arduino og programmering Denne gang er planen: Repetition af programstruktur (Hvad er et C program) Lidt mere om variable Løkker At få programmet til at gøre noget forskelligt afhængig af data Lidt om test af programmer Filtyper (Kildetekst, Hex-filer, biblioteksfiler m.m.) Fra kildetekst til mikroprocessor (Oversættelse af C-kode) Start pogrammering af Arduino / Mulige projekter 3

Programstruktur Sidst havde vi følgende program: Nu med nogle kommentarer void main (void) int a, b, c; //Dette er heltal a = 5; b = 4; c = a + b; /* Her har vi et resultat som ikke bruges til noget */ 4

Programstruktur i Arduino - Ikke noget main() /* Blink2 Tænder og slukker en diode. Tænd og sluk tiden begynder med at være i100 ms og øges trinvis til 2 s med en løkke. KKJ 25. august 2012. */ // Pin 13 er forbundet til en LED. int led = 13; /* setup routine kører en gang når reset trykkes (programstart): */ void setup() /* initialize the digital pin as an output.*/ pinmode(led, OUTPUT); /*the loop routine runs over and over again forever: */ void loop() for (int n = 1; n <= 20; n++) digitalwrite(led, HIGH); delay(n * 100); // venter i n * 100ms digitalwrite(led, LOW); delay(n * 100); // venter i n * 100ms

Start på Programmering Variable og variabeltyper 7

Variabeltyper De vigtigste variable til vores brug: Type Egenskab Mindste Værdi Største værdi long Heltal 2.147.483.648 2.147.483.647 int Heltal 32.768 32.767 float / double Real tal 3.4028235E+38 3.4028235E+38 boolean Logisk variabel false (0) true (1) 8

Variable Husk at heltal gemmes i heltal osv. (God stil) main() int a; float c; c = 3.14; a = c;.. Her taber man decimalerne. Vi får kun en advarsel ved oversættelse! Der er eksempler hvor det går helt galt! 9

C Navngivning Brug navne der siger fortæller noget. Det er meget enkelt. I stedet for f for frekvens, så skriv frekvens eller frekv I stedet for n så skriv antal. (n eller i er ok i en løkke.) osv. I bestemmer jo selv Husk I skal også forstå det om et år Det fylder ikke mere i processoren den ved det alligevel ikke. God navngivning gælder både for variable, konstanter og funktioner! 10

C - Navngivning Programmeringskursus, Kursusaften 2 Skal man bruge PI ( ᴫ) så brug navnet. Konstant som ikke kan ændres laves således: const float PI = 3,1415; (Tildeling skal ske med det samme!) Og så det er det formelle: Et navn skal begynde med et bogstav eller _ (understregning) Forskel på store og små bogstaver Må ikke bruge reserverede ord. (Dvs. f.eks. int, goto, continue) Det er kun de første otte bogstager der gælder! Nogle bøger foreslår at man lader forskellige variabeltyper begynde med et bestemt bogstav: F. eks. Heltal med i eller n, duble med d. 11

Start på Programmering VALG OG LØKKER 12

Valg og løkker Det er programdele af typen main(void) if (a > 7) lcd.setcursor (3,0); // Første linje, position 3 lcd.print ( Stort tal indlæst ); else lcd.setcursor (3,0); // Første linje, position 3 lcd.print ( Lille tal indlæst ); 13

Relationsoperatorer Følgende muligheder har vi for at sammenligne. Operator Betydning < Mindre end <= Mindre end eller lig med > Større end >= Større end eller lig med == Lig med!= Forskellig fra 14

Valg og løkker Der er følgende muligheder for valg og løkker if if.. else switch while do while for Dem tager vi en af gangen 15

Valg og løkker if Program eksempel main(void) if (a == 7) lcd.setcursor (3,0);; // Første linje, position 3 lcd.print ( Tallet er syv ); lcd.setcursor (3,0); lcd.print ( Dette udskrives altid );. 16

Valg og løkker if else Den har vi jo set tidligere (ændret lidt her) main(void) if (a == 7) lcd.setcursor (3,0); // Første linje, position 3 lcd.print ( Tallet er syv ); else llcd.setcursor (3,0); // Første linje, position 3 lcd.print ( Tallet er ikke syv ); En lille ændring og 17

Valg og løkker if else Hvis man skriver sådan: main(void) if (a = 7) // Bemærk et enkelt lighedstegn lcd.curcer (0,3); // Første linje, position 3 lcd.print ( Tallet er syv ); else lcd.curcer (0,3); // Første linje, position 3 lcd.print ( Tallet er ikke syv ); Skriver programmet altid Tallet er syv og tildeler variablen a værdien 7!!! 18

Valg og løkker switch Switch bruges hvis man har en række muligheder som man skal vælge mellem. int mulighed;... switch (mulighed) case 1: lcd.print ( Mulighed 1 ); break; case 2: lcd.print ( Mulighed 2 ); break; case 3: lcd.print ( Mulighed 2 ); break; default: lcd.print ( Ukendt mulighed ); Kan naturligvis også laves med nogle if- sætninger Bemærk : mulighed skal være en heltal type Husk break!! -- Default god ide! Vender tilbage til det fordi man kan lade variablen mulighed antage nogle værdier, der giver mere mening. 19

Valg og løkker switch Skal man lave flere ting i hvert tilfælde bliver konstruktionen: int mulighed; switch (mulighed) case 1: lcd.print ( Mulighed 1 ); // Her sker et eller andet break; case 2: lcd.print ( Mulighed 2 ); // Her kan der være mange linjer break; case 3: case 4: cd.print ( Mulighed 3 eller 4 ); // Her sker noget mere break; default: lcd.print ( Ukendt mulighed )

Valg og løkker while while sætning gør noget indtil et eller andet.. int n = 10; //Man kan godt tildele en værdi samtidig med definition af en variabel while (n > 0) //.her sker et eller andet n= n - 1; Løkken slutter aldrig hvis man kommer til at lægge sammen. Så bliver n ved at være større end 0!!!! 21

Valg og løkker do while Denne løkke ser således ud. do. // her sker et eller andet while (betingelse); do while løkken gennemløbes altid en gang Husk det sidste semikolon! Eksempel: int n =77;... do lcd.setcursor (3,0);; lcd.print ( Tallet er:,n ); n = n + 2; delay(2000); while ( n < 100);... 22

Valg og løkker for... Denne løkke har formen:. for (initialværdi, betingelse, iteration) // her gøres et eller andet. Et eksempel:. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n; Ved start af løkke er sum = 0. Derefter bliver sum : n 0, 1, 2, 3, 4 sum 0, 1, 3, 6, 10 Det kikker vi lige lidt mere på. 23

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) trin sum n trin sum n 0 - - 1 0 - sum = sum + n;. 24

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 1 0-2 0 0 25

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 1 0-2 0 0 3 0 0 26

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 1 0-2 0 0 3 0 0 4 0 1 27

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 1 0-2 0 0 4 0 0 4 0 1 5 1 1 28

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 1 0-2 0 0 3 0 0 4 0 1 5 1 1 6 1 2 29

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 7 3 2 1 0-2 0 0 3 0 0 4 0 1 5 1 1 6 1 2 30

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 7 3 2 1 0-8 3 3 2 0 0 3 0 0 4 0 1 5 1 1 6 1 2 31

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 7 3 2 1 0-8 3 3 2 0 0 9 6 3 3 0 0 4 0 1 5 1 1 6 1 2 32

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 7 3 2 1 0-8 3 3 2 0 0 9 6 3 3 0 0 10 6 4 4 0 1 5 1 1 6 1 2 33

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 7 3 2 1 0-8 3 3 2 0 0 9 6 3 3 0 0 10 6 4 4 0 1 11 10 4 5 1 1 6 1 2 34

Eksempel på Papir test.. int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n;. trin sum n trin sum n 0 - - 7 3 2 1 0-8 3 3 2 0 0 9 6 3 3 0 0 10 6 4 4 0 1 11 10 4 5 1 1 12 10 5 6 1 2 løkken slutter 35

Afslutning af en løkke Måder af afslutte løkker på. break - den har vi haft i switch- sætninger continue goto - Den kan være uheldig Punkterne uddybes evt. senere hvis der ikke er tid nu. 36

Brug af break Vi har set det brugt i case-sætninger. Kan bruges til at komme ud af en løkke. Eksempel: for (x = 0; x < 255; x ++) digitalwrite(pwmpin, x); sens = analogread(sensorpin); if (sens > threshold) // bail out on sensor detect x = 0; break; delay(50);

Brug af continue continue bruges til at komme ud af en løkke (do, for eller while) Eksempel (Hov jeg har ikke behandlet &&) for (x = 0; x < 255; x ++) if (x > 40 && x < 120) // create jump in values continue; digitalwrite(pwmpin, x); delay(50);

Brug af goto Brug af goto er meget omdiskuteret og jeg synes man skal undgå at bruge det. Nu findes det! Eksempel som er ok: for(byte r = 0; r < 255; r++) for(byte g = 255; g > -1; g= g 1) for(byte b = 0; b < 255; b++) if (analogread(0) > 250) goto bailout; // more statements... bailout:

Start på programmering

Start på programmering Her er skrevet noget program.

Test af programmer Man kan gøre følgende: Man kan bruge display og skrive testværdier ud Ulempe: Ødelægger det pæne layout man har lavet Dur ikke hvis man netop skal have display til at virke Dur ikke hvis der ikke er et display Man kan bruge seriel overvågning Det har den fordel at man kan gøre det på pc'en og gribe mindre ind i det program man nu har skrevet. En egentlig debugging funktion findes ikke i Arduino 42

Program som skal testes #include <LiquidCrystal.h> void setup() lcd.begin(16, 2); lcd.print("hello, world!");// Print a message to the LCD. void loop() int tid; lcd.setcursor(0, 1); tid = millis()/1000; lcd.print(millis()/1000); delay(2000);

Test ved hjælp af seriel overvågning #include <LiquidCrystal.h> void setup() Serial.begin(9600); // send and receive at 9600 baud lcd.begin(16, 2); lcd.print("hello, world!");// Print a message to the LCD. Serial.print("Hello world er skrevet til Display "); void loop() int tid; lcd.setcursor(0, 1); tid = millis()/1000; lcd.print(millis()/1000); Serial.print("Loop er slut. "); Serial.println( tid); delay(2000);

Test bruges ikke mere fjernes senere #include <LiquidCrystal.h> void setup() //Serial.begin(9600); // send and receive at 9600 baud lcd.begin(16, 2); // Print a message to the LCD. lcd.print("hello, world!"); //Serial.print("Hello world er skrevet til Display "); void loop() int tid = 10; lcd.setcursor(0, 1); tid = millis()/1000; lcd.print(millis()/1000); //Serial.print("Loop er slut. "); //Serial.println( tid); delay(2000);

Start på Programmering Fra kildetekst til mikroprocessor 49

Start på programmering Nu skal vi se hvordan vi kommet fra C til noget mikroprocessoren forstår. C-kode Oversæt Build Link Hex-fil Hex-fil 50

Start på Programmering Lidt mere om processen Preprocessor Henter funktioner uden for kildeteksten Kompileren Checker syntaks i kildekoden Output er objektfiler (en eller flere) Linker Fra en eller flere objektfiler laves en exe fil Exe filen sendes ned i mikroprocessoren og udføres der. 52

Start på Programmering Lidt mere om processen Preprocessor Henter funktioner uden for kildeteksten Kompileren Checker syntaks i kildekoden Output er objektfiler (en eller flere) Linker Fra en eller flere objektfiler laves en exe fil Exe filen sendes ned i mikroprocessoren og udføres der. 53

Programmering /Preprocessor Her er kendt C-kode: #include <LiquidCrystal.h> main(void) int a; if (a > 7) lcd.setcursor (1,3); lcd.print ( Stort tal indlæst ); else lcd.setcursor (1,3); lcd.print ( Lille tal indlæst ); #include <LiquidCrystal.h> sikre at alle funktioner er kendt. Her er det lcd.setcursor () lcd.print () som defineres. Vi udnytter altså noget kode som er lavet. Derefter kan syntaks test laves. Nu er alt kendt forhåbentlig. 54

Programmering /Kompiler Preprocessor Henter funktioner uden for kildeteksten Kompileren Checker syntaks i kildekoden Checker alle variable er kendt og bruges på den rigtig måde. Checker om løkker er lavet lovligt ikke om de gør som vi tror Checker om funktioner er kendt og om semikoloner er sat rimeligt Output er objektfiler (en eller flere) Linker Fra en eller flere objektfiler laves en exe fil 55

Programmering / linker Programmerings kursus Preprocessor Henter funktioner uden for kildeteksten Kompileren Checker syntaks i kildekoden Output er objektfiler (en eller flere) Linker Fra en eller flere objektfiler laves en exe fil HEX fil Her sikres f.eks. at funktioner virkelig har indhold At bruge #include <.> sikrer kun at funktionerne findes i en prototype. 56

Start på Arduino og programmering Planen for i aften var: Repetition af programstruktur --- Lidt mere om variable Løkker og papirtest Filtyper Fra kildetekst til mikroprocessor Start programmering 57

Projekter??? Kan vi måske nå meget mere end vi regnede med!!! Vi holder fast i at det er et begynderkursus Det er hel elmetærer emner der behandles Programmerne er simple I det mindste indtil andet besluttes Der er nogen her som har prøvet det før. Det kan måske udnyttes ved: De hjælper os andre med programmering De kan forberede dele af projekter som vi andre når Kan vi skitsere projekter som vi andre han bruge?

Start på Arduino Start på programmering efter en Pause 59

Gang i Arduino Nu skal vi programmerer! Først : Har alle startet Arduino fra deres Pc? Jeg har lavet en I gang med Arduino til udlevering. Vi kikker først på programmet Blink Så retter vi lidt i det Så laver vi en helt ny udgave med lidt mere programmering i

/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. // give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() // initialize the digital pin as an output. pinmode(led, OUTPUT); // the loop routine runs over and over again forever: void loop() digitalwrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalwrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second

/* Blink Turns on an LED on for one second, then off for one second, repeatedly. This example code is in the public domain. */ // Pin 13 has an LED connected on most Arduino boards. Give it a name: int led = 13; // the setup routine runs once when you press reset: void setup() pinmode(led, OUTPUT); // initialize the digital pin as an output. void loop() // the loop routine runs over and over again forever. digitalwrite(led, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalwrite(led, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second digitalwrite(led, HIGH); delay(3000); digitalwrite(led, LOW); delay(3000);

Blink med lidt mere programmering Jeg vil foreslå at I lave et program hvor: Dioden begynder med at blinke hurtigt og så langsommere indtil et vist punkt og så forfra igen. Bruge en for-løkke.

/* Blink2 Tænder og slukker en diode. Tænd og sluk tiden begynder med at være 100 msek og øges trinvis til 2 sekunder med en løkke. */ // Pin 13 er forbundet til en LED. Diode benet får et navn: int led = 13; void setup() pinmode(led, OUTPUT); void loop() for (int n = 1; n <= 20; n++) digitalwrite(led, HIGH); // tænder LED (HIGH er + 5 Voltl) delay(n * 100); // venter i n * 100 msek digitalwrite(led, LOW); // slukker LED ved at gøre spændingen LOW delay(n * 100); // venter i n * 100 msek

For løkke til display /* LiquidCrystal Library Forløkke til display */ #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); void setup() Serial.begin(9600); lcd.begin(16, 2); lcd.print("hello, world!"); delay(2000); void loop() lcd.clear(); delay(500); lcd.setcursor(2,0); lcd.print("n = "); lcd.setcursor(2,2); lcd.print("sum ="); int sum = 0; for (int n = 0; n< 5; n++) sum = sum + n; lcd.setcursor(8+n*2,0); lcd.print(n); lcd.setcursor(8+n*2,1); lcd.print(sum); delay(2000);

Program med for løkke

Programmering af Arduino Forslag Gem de ændrede programmer i jeres PC Lav andre udgaver - eksperimenter lidt!

Programmering af Arduino Arbejde på egen hånd

Arduino og programmering Til slut: Hvordan har det været i aften? Er der noget jeg skal lave anderledes i fremtiden? Hvis der noget I tumler med som I gerne vil have belyst så ring eller skriv en mail. Jeg vil forsøge at tage det op den følgende gang. 69

Arduino og programmering Tak for i aften På gensyn den mandag den 8. oktober Det er på mandag 70