ARDUINO STUDIELABEN PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER FRITZING. Roger Antonsen INF januar 2012
|
|
- Endre Jacobsen
- 6 år siden
- Visninger:
Transkript
1 ARDUINO PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER ÅPEN SONE FOR EKSPERIMENTELL INFORMATIKK STUDIELABEN FRITZING Roger Antonsen INF januar 2012
2 Arduino Cookbook, Michael Margolis Denne boken inneholder det meste man trenger å vite. Flere av illustrasjonene og eksemplene i denne forelesningen er tatt derfra. Making Things Talk, Tom Igoe En mer avansert, men veldig bra, bok!
3 PROGRAMMERING I ARDUINO
4 pinmode(pin, Mode) pin angir pinnen og Mode er INPUT eller OUTPUT digitalwrite(pin, verdi) verdi er HIGH eller LOW digitalread(pin) returnerer HIGH eller LOW analogwrite(pin, verdi) verdi er tall mellom 0 og 255 analogread(pin) returnerer et tall mellom 0 og 1023
5 Variable brukes til å lagre data. Noen viktige begreper er følgende. deklarasjon: å sette av plass i minnet int x; boolean y; tilordning: å sette en verdi x = 20; y = true; skop: der hvor variablene er synlige
6 int: 16-bits verdi mellom og int x = 32767; x++; // gjør at x blir unsigned int: 16-bits verdi mellom 0 og kun positive verdier long: 32-bits verdi mellom og usigned long: 32-bits verdi mellom 0 og float/double: 32-bits flyttall avrundede verdier; husk at dette kan medføre nøyaktigheter
7 byte: 8-bits verdi mellom 0 og 255 byte x = 130; byte x = B ; // samme resultat char: en byte som lagrer et tegn (egentlig bare en verdi mellom -128 og 127) char x = G ; char x = 71; // samme resultat boolean: true eller false array: en samling av indekserte variable
8 array: en samling av indekserte variable deklarasjon (og tilordning): int mittarray[6]; // kun deklarasjon int minetall[] = {3,7,1,2,8}; // automatisk int mineverdier[3] = {32,64,-8}; // både-og char beskjed[6] = "hello"; // strenger er arrayer av tegn (char) // siste tegn er et nulltegn som avslutter hente og sette inn verdier: mineverdier[0] returnerer 32. mineverdier[5] gir feilmelding. mineverdier[0] = 100; // erstatter første tall
9 type til returverdi (eller void hvis ingen type) navn på funksjonen type og navn på argumentene til funksjonen returverdi; må være av riktig type int multipliser(int x, int y) { int resultat; resultat = x * y; return resultat; } Viktig å huske på: skop semikolon klammeparenteser kommentarer deklarasjon av variabel tilordning av variabel
10 Aritmetikk: int y; y = 9 / 4; // y blir satt til 2 y = y + 3; // øker verdien til y med 3 y++; // samme som y = y + 1; y /= 2; // samme som y = y / 2; Sammenlikninger: x == y // x lik y x!= y // x ulik y x <= y // x mindre enn eller lik y Logiske operatorer: x > 0 && x < 5 // OG - sann hvis begge er sanne x > 0 x < 5 // ELLER - sann hvis en er sann!x < 0 // IKKE - sann hvis uttrykket er usant
11 if (x < 100) { // gjør A } if (x < 100) { // gjør A } else { // gjør B }
12 switch (x) { case 1: // hvis x er lik 1, gjør dette break; case 2: // hvis x er lik 2, gjør dette break; default: // hvis ingen matcher, gjør følgende // default er valgfritt }
13 switch (x) { case 1: // hvis x er lik 1, gjør dette break; case 2: // hvis x er lik 2, gjør dette break; default: // hvis ingen matcher, gjør følgende // default er valgfritt }
14 deklarere variabel sett startverdi test endre verdi kropp for (int x = 0; x < 100; x++) { Serial.println(x); } // skriver tallene fra 0 til 99
15 DIGITALE INNDATA
16 Arduinofunksjonen for å lese digital input heter digitalread og forteller om spenningen på en pinne er HIGH (5 volt) eller LOW (0 volt). Arduinofunksjonen for å fortelle at en pinne skal brukes til dette er pinmode(pin,input). I utgangspunktet er alle konfigurert som inputpinner, men det er god praksis å sette dem allikevel.
17
18
19 void loop() { digitalwrite(ledpin, digitalread(inputpin)); // turn LED ON if input pin is // HIGH, else turn OFF }
20
21 void loop() { int val = digitalread(inputpin); // read input value if (val == HIGH) // check if the input is HIGH { } digitalwrite(ledpin, LOW); } else { digitalwrite(ledpin, HIGH); } // turn LED OFF // turn LED ON
22 PÅLITELIG SJEKK AV BRYTERE Når en bryter slås på hender det som regel at verdiene går mellom høy og lav mange ganger veldig fort. Vi kan kompensere for dette i koden vår. Dette kalles på engelsk for debouncing.
23 const int buttonpin = 2; const int ledpin = 13; int ledstate = HIGH; int buttonstate; int lastbuttonstate = LOW; // the number of the pushbutton pin // the number of the LED pin // the current state of the output pin // the current reading from the input pin // the previous reading from the input pin long lastdebouncetime = 0; // the last time the output pin was toggled long debouncedelay = 50; // the debounce time; increase if the output flickers void setup() { pinmode(buttonpin, INPUT); pinmode(ledpin, OUTPUT); } void loop() { int reading = digitalread(buttonpin); if (reading!= lastbuttonstate) { lastdebouncetime = millis(); } if ((millis() - lastdebouncetime) > debouncedelay) { buttonstate = reading; } } digitalwrite(ledpin, buttonstate); lastbuttonstate = reading;
24 ANALOG INNDATA
25 ANALOG INPUT Arduinofunksjonen for å lese analog input heter analogread og forteller hvor høy spenningen er, fra 0 til 5 volt, ved å gi et tall mellom 0 og (Det er altså 10-bits analog-til-digital konvertering som skjer.)
26
27 int sensorpin = A0; // select the input pin for the potentiometer int ledpin = 13; // select the pin for the LED int sensorvalue = 0; // variable to store the value coming from the sensor void setup() { // declare the ledpin as an OUTPUT: pinmode(ledpin, OUTPUT); } void loop() { // read the value from the sensor: sensorvalue = analogread(sensorpin); // turn the ledpin on digitalwrite(ledpin, HIGH); // stop the program for <sensorvalue> milliseconds: delay(sensorvalue); // turn the ledpin off: digitalwrite(ledpin, LOW); // stop the program for for <sensorvalue> milliseconds: delay(sensorvalue); }
28 ENDRE REKKEVIDDEN Hvis vi trenger verdier mellom 0 og 100 i stedet for mellom 0 og 1023 kan vi bruke funksjonen map. map(verdi, fralav, frahøy, tillav, tilhøy) F.eks. vil map(verdi, 0, 1023, 0, 255) gjøre jobben.
29 DIGITALE UTDATA
30 DIGITAL UTDATA Alle pinner kan også brukes som digitale ut-pinner. Da må de settes med pinmode(pin,output). Deretter kan vi bruke digitalwrite(pin,output), hvor OUTPUT er enten HIGH eller LOW.
31 ANALOGE UTDATA
32 ANALOGE UTSIGNALER Analog betyr her at vi skal kunne variere spenningen fra 0 til 5 volt. Her kan vi bruke funksjonen analogwrite(pin,output), hvor OUTPUT er et tall fra 0 til 255. Dette kan kun gjøres på pinner 3, 5, 6, 9, 10 og 11. Metoden som ligger under kalles pulsbreddemodulasjon.
33 PULSBREDDEMODULASJON Pulse Width Modulation (PWM) Ved å slå av og på strøm veldig raskt, klarer Arduinokortet å simulere en spenning mellom 0 og 5 volt. Frekvensen er ca. 500 Hz.
34
35 LITT OM LYSDIODER
36 LYSDIODER En LED er en diode som kun slipper strøm gjennom i én retning. Den har to ben, anode (vanligvis litt lenger) og katode, og når spenningen fra anode til katode er høy nok, så slippes strøm gjennom og den lyser. Spenningen som skal til for at den lyser (forward voltage) er vanligvis på 1,8 volt.
37 LYSDIODER + MOTSTANDER Strømmen gjennom en lysdiode må begrenses med en motstand. Hver Arduinopinne kan gi opp til 40 ma. En lysdiode trenger typisk 20 ma for å lyse.
38
39 FRITZING
40 FRITZING Dette er programvare for å dokumentere prosjekter og lage design av kretskort. Det forenkler prosessen fra prototype til endelig design. Også åpen kildekode og i samme familie som Processing og Arduino. Se for mer informasjon!
41 AREF GND L 1 1 PWM 0 1 PWM DIGITAL PWM PWM PWM PWM TX RX TX RX Arduino PWR 1 PWR SEL USB EXT ICSP RESET 3V3 POWER ANALOG IN 5V Gnd 9V
42
SUPER DISCLAIMER. Vi endrer opplegget litt fra år til år, og vi hører på dere!
ARDUINO BASISKUNNSKAP ELEKTRISITET SIKKERHET PRAKSIS INSTALLASJON PROGRAMMERING GRUNNLEGGENDE TEORI ÅPEN SONE FOR EKSPERIMENTELL INFORMATIKK STUDIELABEN Roger Antonsen INF1510 23. januar 2012 SUPER DISCLAIMER
DetaljerARDUINO STUDIELABEN. Roger Antonsen INF februar 2012
ARDUINO SERIELL KOMMUNIKASJON ELEKTRONIKKSYMBOLER SPENNINGSDELERE PROGRAMMERINGSTIPS SERVOMOTORER MER OM LYSDIODER RESSURSER SONE NETTSTEDER / RESSURSER ÅPEN ÅPEN SONE FOR EKSPERIMENTELL INFORMATIKK ÅPEN
DetaljerARDUINO STUDIELABEN. Roger Antonsen INF februar 2012
ARDUINO SERIELL KOMMUNIKASJON ELEKTRONIKKSYMBOLER SPENNINGSDELERE PROGRAMMERINGSTIPS SERVOMOTORER MER OM LYSDIODER RESSURSER SONE NETTSTEDER / RESSURSER ÅPEN ÅPEN SONE FOR EKSPERIMENTELL INFORMATIKK ÅPEN
DetaljerPrototyping med Arduino del 3
Prototyping med Arduino del 3 Magnus Li magl@ifi.uio.no INF1510 06.02.2017 Arduinoundervisningen Forelesninger Siste i dag. Gjennomgang av grunnleggende temaer Teknisk verksted i dag, 13.02 & 20.02 Hjelp
DetaljerEmnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærere: Robert Roppestad. Hele oppgavesettet består av 8 oppgaver, samt 1 vedlegg.
EKSAMEN Emnekode: ITD13012 Dato: 10. mai 2017 Hjelpemidler: To A4-ark (fire sider) med egne notater Emnenavn: Datateknikk Eksamenstid: 3 timer Faglærere: Robert Roppestad Kalkulator som kan lånes av HIØ
DetaljerBruk av interrupt og Timer i Arduino-program.
1 Bruk av interrupt og Timer i Arduino-program. Når vi skal utføre handlinger som kan inntreffe tilfeldig (ikke forutsigbare hendelser), slik som å håndtere alarmer, at IO ønsker service etc kan vi benytte
DetaljerPrototyping med Arduino del 2
Prototyping med Arduino del 2 Magnus Li magl@ifi.uio.no INF1510 30.01.2017 Arduinoundervisningen Forelesninger Mandag 30.01 & 06.02 Gjennomgang av grunnleggende temaer Teknisk verksted Mandag 30.01, 06.02,
DetaljerWORKSHOP BRUK AV SENSORTEKNOLOGI
WORKSHOP BRUK AV SENSORTEKNOLOGI MIKROKONTROLLERE - ARDUINO KURS 27.08.16 ANALOG - DIGITAL FRA VARIASJONER AV STRØMSTYRKE TIL TALL ARDUINO BRUKES TIL Å UTFØRE SLIK KONVERTERING STRØM/TALL ELLER TALL/STRØM
DetaljerLitt mer om Arduino. Roger Antonsen Sten Solli INF1510 31. januar 2011
Litt mer om Arduino Roger Antonsen Sten Solli INF1510 31. januar 2011 ARDUINO Input (Data) Prosessering Output Arduino Man kan bruke de 3 elementene i varierende grad, og også kutte noen helt ut. Det finnes
Detaljer7-Segment Display. Introduksjon. Steg 1: Finn frem utstyr. Til denne oppgaven trenger du. Skrevet av: Martin Ertsås & Morten Minde Neergaard
7-Segment Display Skrevet av: Martin Ertsås & Morten Minde Neergaard Kurs: Arduino Tema: Elektronikk, Tekstbasert Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
Detaljer7-Segment Display Nybegynner Arduino Lærerveiledning
7-Segment Display Nybegynner Arduino Lærerveiledning Introduksjon La oss se på å få ett display til å telle. Steg 1: Finn frem utstyr Til denne oppgaven trenger du 1 Arduino Uno 1 breadboard 2 motstander
DetaljerProgrammeringsspråket C
Programmeringsspråket C Bakgrunn Implementasjon av Unix ved AT&Ts laboratorium i Palo Alto 1960 75. Navnet kommer fra BCPL B C. Opphavsmannnen heter Dennis Ritchie. ANSI standard i 1988; omtrent alle følger
DetaljerProgrammering og Arduino
2017.03.14 Programmering og Arduino Hans-Petter Halvorsen http://home.hit.no/~hansha/documents/lab/lab%20equipment/arduino.htm Ved hjelp av dette opplæringsheftet vil du lære grunnleggende bruk av datamaskiner,
DetaljerBruk av interrupt og Timer i Arduino-program.
1 Bruk av interrupt og Timer i Arduino-program. Når vi skal utføre handlinger som kan inntreffe tilfeldig (ikke forutsigbare hendelser), slik som å håndtere alarmer, at IO ønsker service etc kan vi benytte
DetaljerSteg 1: Installere programvaren
Blinkende lysdiode Skrevet av: Adrian Helle Kurs: Arduino Tema: Elektronikk, Tekstbasert Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon Arduino
DetaljerEKSAMEN (Del 2, våren 2015) Løsningsforslag
EKSAMEN (Del 2, våren 2015) Løsningsforslag Emnekode: ITD13012 Emne: Datateknikk Dato: 13.05.2015 Eksamenstid: kl 0900 til kl 1200 Hjelpemidler: to A4-ark (fire sider) med egne notater "ikke-kommuniserende"
DetaljerBlinkende lysdiode Introduksjon Arduino Lærerveiledning
Blinkende lysdiode Introduksjon Arduino Lærerveiledning Introduksjon Arduino er en mikrokontroller som kan programmeres til å styre elektroniske dingser og duppeditter. Ved hjelp av en Arduino kan du skru
DetaljerINF 1000 høsten 2011 Uke september
INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus 1 INF1000 undervisningen Forelesningene: Første
DetaljerDel 1 En oversikt over C-programmering
Del 1 En oversikt over C-programmering 1 RR 2016 Starten C ble utviklet mellom 1969 og 1973 for å re-implementere Unix operativsystemet. Er et strukturert programmeringsspråk, hvor program bygges opp av
DetaljerINF1000 undervisningen INF 1000 høsten 2011 Uke september
INF1000 undervisningen INF 1000 høsten 2011 Uke 2 30. september Grunnkurs i Objektorientert Programmering Institutt for Informatikk Universitetet i Oslo Siri Moe Jensen og Arne Maus Forelesningene: Første
DetaljerUltralydsensor. Introduksjon. Litt om ultralydsensorer. Arduino. Skrevet av: Martin Ertsås & Morten Minde Neergaard
Arduino Ultralydsensor Skrevet av: Martin Ertsås & Morten Minde Neergaard Kurs: Arduino Tema: Tekstbasert, Elektronikk Fag: Teknologi, Programmering, Naturfag Klassetrinn: 5.-7. klasse, 8.-10. klasse,
DetaljerHøgskoleni østfold EKSAMEN. Oppgavesettet består av 8 sider inklusiv denne forsiden og vedlegg.
Høgskoleni østfold EKSAMEN Emnekode:Emne: ITD13012Datateknikk Dato:Eksamenstid: 13. mai 2015kl. 09.00 til k1.12.00, 3 timer Hjelpemidler: to A4-ark (fire sider) med egne notater Ikke-kommuniserende kalkulator
DetaljerINF1510: Bruksorientert design
INF1510: Bruksorientert design Ukeoppgaver i Arduino - uke 2 Vår 2017 Innhold 1. Analoge signaler 1 1.1. Lese og skrive analoge signaler 1 1.2. Potensiometer og serial monitor 1 1.3. Pulserende lys 2 1.4.
DetaljerPlenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode
Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon
DetaljerINF1510: Bruksorientert design
INF1510: Bruksorientert design Ukeoppgaver i Arduino - uke 1 Vår 2017 Innhold 1. Elektrisitet 2 1.1. Kretsbygging 2 1.2. Komponenter 2 1.3. Dårlige kretser 3 1.4. Analoge og Digitale signaler 4 1.5. Likestrøm
DetaljerIN1060: Bruksorientert design
IN1060: Bruksorientert design Ukeoppgaver i Arduino - uke 2 Vår 2018 Innhold 1. Analoge signaler 2 1.1. Lese og skrive analoge signaler 2 1.2. Potensiometer og serial monitor 2 1.3. Pulserende lys 3 1.4.
DetaljerKapittel 1 En oversikt over C-språket
Kapittel 1 En oversikt over C-språket RR 2015 1 Skal se på hvordan man En innføring i C Skriver data til skjermen Lese data fra tastaturet Benytter de grunnleggende datatypene Foretar enkle matematiske
DetaljerDagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.
Dagens tema Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet
DetaljerINF1510: Bruksorientert design
INF1510: Bruksorientert design Individuell obligatorisk oppgave: Arduino 1 Publisert: 02.02.2017 Frist: 10.02.2017 kl 23:59 Arduino skal benyttes som prototypingsverktøy i INF1510, og i denne individuelle
DetaljerOversikt. Introduksjon Kildekode Kompilering Hello world Hello world med argumenter. 1 C programmering. 2 Funksjoner. 3 Datatyper. 4 Pekere og arrays
Oversikt C programmering 1 C programmering Introduksjon Kildekode Kompilering Hello world Hello world med argumenter 2 Funksjoner 3 Datatyper 4 Pekere og arrays 5 Kontrollstrukturer Lars Vidar Magnusson
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang
Detaljerbestår av 7 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.
Høgskolen i østfold EKSAMEN Emnekode: ITD13012 Dato: Emnenavn: Datateknikk Eksamenstid: 10.5.16 9.00 12.00, 3 timer Hjelpemidler: To A4-ark (fire sider) med egne notater Faglærer: Robert Roppestad "Ikke-kommuniserende"
DetaljerEKSAMEN. Informasjon om eksamen. Emnekode og -navn: ITD13012 Datateknikk. Dato og tid: timer. Fagansvarlig: Robert Roppestad
Informasjon om eksamen EKSAMEN Emnekode og -navn: ITD13012 Datateknikk Dato og tid: 13.5.19 3 timer Fagansvarlig: Robert Roppestad Hjelpemidler: - to A4-ark (fire sider) med egne notater - godkjent kalkulator
DetaljerVelkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel
Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang
DetaljerNybegynnerkurs i C. Øyvind Grønnesby. 14. oktober Introduksjon Typer Operatorer Kontrollstrukturer Pekere Makroer Lenker
Nybegynnerkurs i C Øyvind Grønnesby 14. oktober 2004 Introduksjon pass-by-value svakt typet portabel assembler siste ISO-standard er C99 Hello world #i n c l u d e < s t d l i b. h> #i n c l u d e
DetaljerProgrammering og Arduino
Programmering og Arduino Hans-Petter Halvorsen 2017.02.06 Programmering og Arduino http://home.hit.no/~hansha/?page=arduino Ved hjelp av dette opplæringsheftet vil du lære grunnleggende bruk av datamaskiner,
DetaljerTDT Øvingsforelesning 1. Tuesday, August 28, 12
TDT 4165 Øvingsforelesning 1 Øvingsforelesningene Eksempelbaserte Sikter på å være på et snillere nivå enn øvingene og forelesningene Interaktive - spørsmål og dialog oppfordres Matnyttige- vil ta for
DetaljerTre måter å lese fra terminal. Java 4. Eksempel. Formatert utskrift til skjerm
Mer om easyio Mer om forgreninger Løkker 7. september 2004 Ole Christian Lingjærde Gruppen for bioinformatikk Institutt for informatikk Universitetet i Oslo Java 4 1 Tre måter å lese fra terminal Først:
Detaljer1. Arduino Bluetooth 2 HC-05 modul
1. Arduino Bluetooth 2 HC-05 modul Bluetooth er en trådløs teknologi som lar to enheter kommunisere med hverandre. Bluetooth ble opprinnelig laget for mobiletelefoner av svenske Eriksson og har vært en
DetaljerMAT1030 Plenumsregning 1
MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte
DetaljerINF1000 (Uke 5) Mer om løkker, arrayer og metoder
INF1000 (Uke 5) Mer om løkker, arrayer og metoder Grunnkurs i programmering Institutt for Informatikk Universitetet i Oslo Anja Bråthen Kristoffersen og Are Magnus Bruaset Praktisk informasjon Når disse
DetaljerFORDYPNINGSEMNE 2012
FORDYPNINGSEMNE 2012 Marius Antonsen Digital medieproduksjon 5 te semester 2010 HØYSKOLEN I ØSTFOLD Enerett: Høyskolen i Øsfold cbnd 2012 Creative Commons Attribution - Noncommercial - No Derivative Works
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk
DetaljerVisuell Programmering: Kom i gang med Processing
Visuell Programmering: Kom i gang med Processing Et enkelt program: Syntaks introdusert: Kommentarer, print(), println(), size(). + Start opp processing + Skriv en åpningskommentar på toppen av programmet
DetaljerDagens tema: Sjekking
Dagens tema Dagens tema: Sjekking Navnebinding (obligatorisk oppgave 3) Biblioteket Logging Riktig bruk av navn (frivillig) Typesjekking (frivillig) Hele prosjektet Strukturen til kompilatoren vår f.pas
DetaljerINF1000 Metoder. Marit Nybakken marnybak@ifi.uio.no 16. februar 2004
INF1000 Metoder Marit Nybakken marnybak@ifi.uio.no 16. februar 2004 Motivasjon Når man begynner å skrive store programmer, vil man fort oppleve at programmene blir uoversiktlige. Det blir vanskeligere
DetaljerLæringsmål og pensum. Oversikt
1 2 Læringsmål og pensum TDT4105 Informasjonsteknologi grunnkurs: Uke 39 Betingede løkker og vektorisering Læringsmål Skal kunne forstå og programmere betingede løkker med while Skal kunne utnytte plassallokering
DetaljerAnalyseøving 8 - løsningsforslag
TTT4265 Elektronisk systemdesign og -analyse II Analyseøving 8 - løsningsforslag Innlevering tirsdag 3. November 8:00 Oppgave 1. Periodisitet, tidsskift, og tidsreversering (4p) Oppgave 2. Tidsskift (1p)
DetaljerINF1000 EKSTRATILBUD. Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen
INF1000 EKSTRATILBUD Stoff fra uke 1-5 (6) 3. oktober 2012 Siri Moe Jensen PLAN FOR DAGEN gjennomgå stoff fra uke 1-5(6), men med en litt annen tilnærming kun gjennomgått stoff, men vekt på konsepter og
Detaljeri=0 Repetisjon: arrayer Forelesning inf Java 4 Repetisjon: nesting av løkker Repetisjon: nesting av løkker 0*0 0*2 0*3 0*1 0*4
Forelesning inf - Java 4 Repetisjon: arrayer Tema: Løkker Arrayer Metoder Ole Christian Lingjærde,. september Deklarere og opprette array - eksempler: int[] a = new int[]; String[] a = new String[]; I
DetaljerForelesning inf Java 4
Forelesning inf1000 - Java 4 Tema: Løkker Arrayer Metoder Ole Christian Lingjærde, 12. september 2012 Ole Chr. Lingjærde Institutt for informatikk, 29. august 2012 1 Repetisjon: arrayer Deklarere og opprette
Detaljerif-tester Funksjoner, løkker og iftester Løkker og Informasjonsteknologi 2 Læreplansmål Gløer Olav Langslet Sandvika VGS
Løkker og if-tester Gløer Olav Langslet Sandvika VGS 29.08.2011 Informasjonsteknologi 2 Funksjoner, løkker og iftester Læreplansmål Eleven skal kunne programmere med enkle og indekserte variabler eller
DetaljerDel 2 Tabeller, arrays, strenger
Del 2 Tabeller, arrays, strenger 1 RR 2016 Tabeller Variabel som kan holde mange verdier. Styrer bruken med indeks. Det er ingen indekskontroll i C. int tab[5] = {2, 4, 6, 8, 10}; tab[4] = 12; int tab[100]
DetaljerMAT1030 Diskret matematikk
Oppgave 1.1 MAT1030 Diskret matematikk Plenumsregning 2: Ukeoppgaver fra kapittel 1 & 2 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 24. januar 2008 Modifiser algoritmen fra 1.2.1 slik at
DetaljerPlenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk
DetaljerI dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Tre måter å lese fra terminal.
I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Repetisjon easyio Enkle if-setninger Mer om forgrening While-løkker Are Magnus
DetaljerINF1000. Marit Nybakken 10. februar 2004
INF1000 Løkker Marit Nybakken marnybak@ifi.uio.no 10. februar 2004 Motivasjon En ting datamaskinen er veldig flink til er å gjøre den samme tingen mange mange ganger på rad. Oppgaver som skal utføres innebærer
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Plenumsregning 2: Ukeoppgaver fra kapittel 1 & 2 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 24. januar 2008 Oppgave 1.1 Modifiser algoritmen fra 1.2.1 slik at
DetaljerOversikt. INF1000 Uke 1 time 2. Repetisjon - Introduksjon. Repetisjon - Program
Oversikt INF1000 Uke 1 time 2 Variable, enkle datatyper og tilordning Litt repetisjon Datamaskinen Programmeringsspråk Kompilering og kjøring av programmer Variabler, deklarasjoner og typer Tilordning
DetaljerDel 4 Noen spesielle C-elementer
Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include
DetaljerØvingsforelesning 1 Python (TDT4110)
Øvingsforelesning 1 Python (TDT4110) Introduksjon, Kalkulasjoner Ole-Magnus Pedersen Oversikt Praktisk Info Repetisjon fra sist Oppgaver for øving 2 2 Praktisk Info Last opp øvinger på Blackboard før godkjenning
DetaljerLitt om Javas håndtering av tall MAT-INF 1100 høsten 2004
Litt om Javas håndtering av tall MAT-INF 1100 høsten 2004 13. september 2004 En viktig del av den første obligatoriske oppgaven er å få erfaring med hvordan Java håndterer tall. Til å begynne med kan dette
DetaljerUke 8 Eksamenseksempler + Ilan Villanger om studiestrategier. 11. okt Siri Moe Jensen Inst. for informatikk, UiO
Uke 8 Eksamenseksempler + Ilan Villanger om studiestrategier 11. okt. 2011 Siri Moe Jensen Inst. for informatikk, UiO 1 Innhold Eksamen INF1000 Høst 2011: Oppgave 4-7 Tekstmanipulering Metoder med og uten
DetaljerINF1000 (Uke 4) Mer om forgreninger, While-løkker
INF1000 (Uke 4) Mer om forgreninger, While-løkker Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Are Magnus Bruaset og Anja B. Kristoffersen I dag Repetisjon easyio Enkle if-setninger
DetaljerI dag INF1000 (Uke 4) Mer om forgreninger, While-løkker. Tre måter å lese fra terminal. Repetisjon. Mer om forgrening While-løkker
I dag INF1000 (Uke 4) Mer om forgreninger, While-løkker Grunnkurs i programmering Institutt for Informatikk Universitet i Oslo Repetisjon easyio Enkle if-setninger Mer om forgrening While-løkker Are Magnus
DetaljerVerden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide
Verden Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Velkommen
DetaljerTDT4110 IT Grunnkurs Høst 2016
TDT4110 IT Grunnkurs Høst 2016 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforslag til Auditorieøving 1 1 Teori 1. Hvilket tall kan IKKE lagres
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
Detaljerpublic static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren
Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en
DetaljerVerden. Steg 1: Vinduet. Introduksjon
Verden Introduksjon Processing Introduksjon Velkommen til verdensspillet! Her skal vi lage begynnelsen av et spill hvor man skal gjette hvilke verdensdeler som er hvor. Så kan du utvide oppgava til å heller
Detaljer2 Om statiske variable/konstanter og statiske metoder.
Litt om datastrukturer i Java Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo 1 Innledning Dette notatet beskriver noe av det som foregår i primærlageret når et Javaprogram utføres.
DetaljerProgrammering i C++ Løsningsforslag Eksamen høsten 2005
Programmering i C++ Eksamen høsten 2005 Simen Hagen Høgskolen i Oslo, Avdeling for Ingeniørutdanning 7. desember 2005 Generelt Denne eksamensoppgaven består av tre oppgaver, pluss en ekstraoppgave. Det
DetaljerKort om meg. INF1000 Uke 2. Oversikt. Repetisjon - Introduksjon
Kort om meg INF1000 Uke 2 Variable, enkle datatyper og tilordning Fredrik Sørensen Kontor: Rom 4311-NR, Informatikkbygget Brukernavn/e-post: fredrso@ifi.uio.no Utdanning: Dataingeniør, 2000 Cand.Scient,
DetaljerProgrammeringsspråket C Del 2. Hans Petter Taugbøl Kragset
Programmeringsspråket C Del 2 Hans Petter Taugbøl Kragset Repetisjon I C er ikke array en egen type, men variabler kan være arrayer! 28.08.17 Hans Petter Taugbøl Kragset 2 Arrays Java int[] arr1 = {1,
DetaljerPraktisk informasjon. Repetisjon: While-løkker. I dag. INF1000 (Uke 5) Mer om løkker, arrayer og metoder. Oblig 2 er lagt ut
Praktisk informasjon INF (Uke 5) Mer om løkker, arrayer og metoder Oblig er lagt ut Frist 8. februar Kan løses etter denne forelesningen Grunnkurs i programmering Institutt for Informatikk Universitetet
DetaljerVerden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro
Verden - Del 2 Nybegynner Processing Intro Denne oppgaven bygger på oppgaven med samme navn som ligger på introduksjonsnivå her i Processingoppgavene. Klikk her for å gå til introduksjonsoppgaven av verden.
DetaljerPython: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur:
DetaljerHash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand
Hash-funksjoner Skrevet av: Martin Strand Kurs: Python Tema: Tekstbasert, Kryptografi Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Tidligere har vi sett hvordan
DetaljerEn to-timers oppskrift for å bygge og programmere en Arduino-drevet strikk-
Arduinobasert Strikk-kanon En to-timers oppskrift for å bygge og programmere en Arduino-drevet strikk- Joachim Haagen Skeie 1. Arduino Strikk kanon? Med Arduino strikk kanon kan du ved hjelp av en joystick
DetaljerMER OM ARRAYER. INF1000: Forelesning 4. Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene:
INF1000: Forelesning 4 Mer om arrayer Metoder MER OM ARRAYER 2 Array som en samling verdier Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: String[] studenter = new String[500];
DetaljerDel 3: Evaluere uttrykk
Del 3: Evaluere uttrykk Hva skal vi gjøre? Hvordan lagre Asp-verdier Hvilke operasjoner må jeg implementere? Er operasjonen lovlig? Utføre operasjonen Strukturen til interpreten vår f.asp 3&4 Interpret
DetaljerProgrammering Høst 2017
Programmering Høst 2017 Tommy Abelsen Ingeniørfag - Data Innledning Dette er et dokument med litt informasjon og eksempler om kontrollstrukturer, samt oppgaver til forskjellige kontrollstrukturer. Spør
DetaljerKanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen
Kanter, kanter, mange mangekanter Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole
DetaljerTDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum
1 TDT4110 Informasjonsteknologi grunnkurs: Kapittel 7 Filer og unntak ( exceptions ) Professor Alf Inge Wang Stipendiat Lars Bungum 2 Læringsmål Mål Introduksjon til filer (som inndata og utdata) Å bruke
DetaljerLeksjon 3. Kontrollstrukturer
6108 Programmering i Java Leksjon 3 Kontrollstrukturer Del 1: Valg Roy M. Istad 2015 Utfør av et program Programflyt så langt: start setning setning setning setning slutt Sekvensielt: Alle setninger utføres,
DetaljerINF1000: Forelesning 4. Mer om arrayer Metoder
INF1000: Forelesning 4 Mer om arrayer Metoder MER OM ARRAYER 2 Array som en samling verdier Anta at vi ønsker å lagre en liste med navnene på alle INF1000-studentene: String[] studenter = new String[500];
DetaljerEksamensoppgaven: Hele oppgavesettet består av 8 oppgaver. Hver oppgave har en %-angivelse som angir hvor mye den teller ved sensurering.
Informasjon om eksamen EKSAMEN Emnekode og -navn: ITD13012 Datateknikk, deleksamen 2 Dato og tid: 15. mai 2018, 3 timer (fra 09:00 til 12:00) Faglærer: Robert Roppestad Tillatte hjelpemidler: To A4-ark
DetaljerBegynner kurs i Arduino og C++ Geir Soland Skogmo Videregående skole
Begynner kurs i Arduino og C++ Geir Soland Skogmo Videregående skole Nettverkstilgang SSID Navn: VG3Data Passord: admin:1234 Konseptet - Arduino Består av et lite mikroprosessorkort Arduino Uno med en
DetaljerINF225 høsten 2003 Prosjekt del 4: kodegenerering
INF225 høsten 2003 Prosjekt del 4: kodegenerering Thomas Ågotnes 19. november 2003 1 Introduksjon I denne delen av prosjektet skal C- -parseren fra del 3 utvides til å generere maskinkode. Maskinkoden
DetaljerINF2810: Funksjonell Programmering
INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens
DetaljerTDT4110 IT Grunnkurs Høst 2015
TDT4110 IT Grunnkurs Høst 2015 Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Løsningsforlag Auditorieøving 1 1 Teori Løsning er skrevet med uthevet tekst
DetaljerPython: Variable og beregninger, input og utskrift. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Variable og beregninger, input og utskrift TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål for denne uka: Vite litt om design av programmer (2.1, 2.2, 2.4) Kunne skrive ut
DetaljerLæringsmål og pensum. if (be): else (not_to_be):
1 TDT4110 Informasjonsteknologi grunnkurs: Tema: Betingelser og logiske uttrykk - 3rd edition: Kapittel 3 Professor Alf Inge Wang 2 if (be): else (not_to_be): 3 Læringsmål og pensum Mål Lære å bruke og
DetaljerDagens tema. C-programmering. Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes.
Dagens tema C-programmering Nøkkelen til å forstå C-programmering ligger i å forstå hvordan minnet brukes. Adresser og pekere Parametre Vektorer (array-er) Tekster (string-er) Hvordan ser minnet ut? Variabler,
Detaljerlage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen mellom globale og lokale variabler
42 Funksjoner Kapittel 4 Funksjoner Etter dette kapitlet skal du kunne lage og bruke enkle funksjoner lage og bruke funksjoner som tar argumenter lage og bruke funksjoner med returverdier forklare forskjellen
DetaljerINF1000 : Forelesning 3
INF1000 : Forelesning 3 Programeksempler Løkker Arrayer Ole Christian Lingjærde Biomedisinsk forskningsgruppe Institutt for informatikk Universitetet i Oslo 1 Body Mass Index (BMI) Vi skal lage et program
DetaljerOversikt. INF1000 Uke 3. Repetisjon Program. Repetisjon Program. Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner
Oversikt INF1000 Uke 3 Innlesing fra terminal, formatert utskrift og forgreininger Litt repetisjon Program Variabler og Uttrykk Presedens Matematiske funksjoner Innlesing Formatert utskrift Repetisjon
DetaljerINF2810: Funksjonell Programmering
INF2810: Funksjonell Programmering Høyereordens prosedyrer, lambda og lokale variabler Stephan Oepen Universitetet i Oslo 9. februar 2015 Tema 2 Forrige uke Lister og listerekursjon quote Høyereordens
DetaljerForelesning inf Java 5
Ole Chr. Lingjærde 1 Forelesning inf1000 - Java 5 Tema: Mer om metoder 2D-arrayer String Ole Christian Lingjærde, 26. september 2013 Ole Chr. Lingjærde Institutt for informatikk, 26. september 2013 1 Strukturen
DetaljerKanter, kanter, mange mangekanter
Kanter, kanter, mange mangekanter Nybegynner Processing PDF Introduksjon: Her skal vi se på litt mer avansert opptegning og bevegelse. Vi skal ta utgangspunkt i oppgaven om den sprettende ballen, men bytte
Detaljer