Bruk av interrupt og Timer i Arduino-program.
|
|
- Lillian Sivertsen
- 6 år siden
- Visninger:
Transkript
1 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 Polling som et prinsipp eller vi kan mer effektivt benytte Interrupt. Hva er Polling? Polling betyr at CPU en sjekker ved jevne mellomrom om noen trenger å bli betjent. CPU en bruker følgelig masse tid på å spørre enhetene om de trenger oppmerksomhet. Noe som de normalt ikke trenger. Bortkastet tid. Polling er enkelt å programmere, da det kun består i å «spørre» enheter om de trenger å bli betjent. Hvis svaret er «ja» kjøres en rutine som betjener enheten. Kan for eksempel gjøre dette med digitalread() i loop()-funksjonen. Interrupt (avbrudd). Betyr at CPU en sjekker ved jevne mellomrom om noen trenger å bli betjent. CPU en sjekker om et avbruddssignal er signalert etter utførelsen av hver instruksjon. Det betyr at det vil gå svært liten tid fra avbrudd er signalert til det blir oppdaget av CPU en. Avbrudd er mer effektiv metode enn polling. CPU en utfører sine oppgaver som normalt, og vil kun avbrytes hvis det kommer et avbruddsignal (interrupt) som varsler en «unormal» hendelse. Ved interrupt vil normalt kjørende program bli avbrutt for at en avbruddsrutine (ISR Interrupt Service Routine) skal kjøres for å betjene enheten som har signalert avbrudd. Etter at avbruddet er betjent fortsetter CPU en med oppgaven den utførte før avbruddet inntraff. CPU er har en egen avbruddslinje (fysisk linje) som brukes for å varsle interrupt (INTR) fra eksterne enheter.
2 2 Figur som viser at kjørende program blir avbrutt ved interrupt. Tilgjengelige Interrupt på Atmega 328 i prioritert orden. 1 Reset 2 External Interrupt Request 0 (pin D2) (INT0_vect) 3 External Interrupt Request 1 (pin D3) (INT1_vect) 4 Pin Change Interrupt Request 0 (pins D8 to D13) (PCINT0_vect) 5 Pin Change Interrupt Request 1 (pins A0 to A5) (PCINT1_vect) 6 Pin Change Interrupt Request 2 (pins D0 to D7) (PCINT2_vect) 7 Watchdog Time-out Interrupt (WDT_vect) 8 Timer/Counter2 Compare Match A (TIMER2_COMPA_vect) 9 Timer/Counter2 Compare Match B (TIMER2_COMPB_vect) 10 Timer/Counter2 Overflow (TIMER2_OVF_vect) 11 Timer/Counter1 Capture Event (TIMER1_CAPT_vect) 12 Timer/Counter1 Compare Match A (TIMER1_COMPA_vect) 13 Timer/Counter1 Compare Match B (TIMER1_COMPB_vect) 14 Timer/Counter1 Overflow (TIMER1_OVF_vect) 15 Timer/Counter0 Compare Match A (TIMER0_COMPA_vect) 16 Timer/Counter0 Compare Match B (TIMER0_COMPB_vect) 17 Timer/Counter0 Overflow (TIMER0_OVF_vect) 18 SPI Serial Transfer Complete (SPI_STC_vect) 19 USART Rx Complete (USART_RX_vect) 20 USART, Data Register Empty (USART_UDRE_vect) 21 USART, Tx Complete (USART_TX_vect) 22 ADC Conversion Complete (ADC_vect) 23 EEPROM Ready (EE_READY_vect) 24 Analog Comparator (ANALOG_COMP_vect) 25 2-wire Serial Interface (I2C) (TWI_vect) 26 Store Program Memory Ready (SPM_READY_vect) Arduino Uno gir oss mulighet til å benytte pinne 2 og 3 til egne Interrupt.
3 3 Hvordan sette opp Interrupt på Arduino Uno.? Vi benytter funksjonen: attachinterrupt(). Den kobler et fysisk avbrudd på digital IO-pinne 2 eller 3 til en avbruddsrutine. attachinterrupt() har 3 parametre som vist i følgende kode. attachinterrupt (BUTTON_INT, navn på avbruddsrutine, type avbruddspuls ); BUTTON_INT skal være enten 0 eller 1 med Arduino Uno. Dette angir henholdsvis at digital inngang pinne 2 eller 3 skal detektere interrupt. ( Kun 2 innganger til interrupt på Uno.) Avbruddsrutine navn på funksjonen som utgjør avbruddsrutina Avbruddsrutine er en funksjon som ikke skal ha paramtere og heller ikke noen returverdi. Type avbruddspuls. Må være en av følgende 4 valg. RISING angir at interrupt skal detekteres på en puls som går fra lav til høy (stigende flanke). FALLING. - Puls som går fra Høy til Lav. Fallende flanke. CHANGE Interrupt når signalet endrer seg fra lav/høy eller motsatt. LOW Intterupt hvis signaler er lavt. Eksempel 1. const int BUTTON_INT=0; // Interrupt 0 (pin 2 på Arduino Uno) // Interrupt 1 (pin 3 på Arduino Uno) // Set up interrupt attachinterrupt(button_int, tempalarm, RISING); void tempalarm() // Interrupt function... Kode som håndterer interrupt-kilden Kan ikke inneholde delay() Bør være hurtig, og lite kode....
4 4 Eksempel 2. const int ledpin = 13; const int interruptpin = 2; // Interrupt kobles til Dig.IO pin 2 volatile int state = LOW; void setup() pinmode(ledpin, OUTPUT); pinmode(interruptpin, INPUT_PULLUP); attachinterrupt(digitalpintointerrupt(interruptpin), blink, CHANGE); void loop() digitalwrite(ledpin, state); void blink() // Interrupt-rutina state =!state; digitalpintointerrupt(interruptpin)- er en funksjon som kobler interruptpin til riktig Interrupt på mikrokontrolleren. - Pinne 2 er Interrupt 0. - Pinne 3 er Interrupt 1.
5 5 Timer. En Timer benyttes for å tidsstyre kjøring av rutiner. Vi kan sette en Timer-tid fra mikrosekunder opp til minutter/timer. For eksempel kan vi sette opp en rutine til å kjøre periodisk hvert 100 msek. Vi kan dermed enkelt lage rutiner som går periodisk, for eksempel styring, måling, regulering, sampling. Hvordan sette opp en Timer? Atmega 328 mikrokontroller har 3 timere innebygd. De kan være forholdsvis knotete å sette opp fra bunn av. En enkel måte å sette opp timere på er å benytte et bibliotek som noen har utviklet. Et enkelt bibliotek er: TimerOne Søk etter TimerOne. Last ned zip-fila og pakk ut innholdet. zip-fila ligger også på hjemmesiden under tidsplan. Pakk ut zip-fila. Og du skal se følgende filer: Innholdet i zip-fila.
6 6 Kopier disse filene til en katalog du kaller TimerOne som må ligge under Libraries under Arduino katalogene som vist på figuren under. Vi kan benytte Timer-funksjonen på følgende vis: #include <TimerOne.h> // Må være med // Initiere og sette opp en timer Timer1.initialize(500000); // mikrosek = 0.5 sekund Timer1.attachInterrupt(changePitch); // Kjører "changepitch" hvert 0.5 sek Timer1.initialize(tid) Timer1.attachInterrupt(timer_rutine) angir periodetiden i mikrosekunder angir navnet på funksjonen som skal kjøres periodisk
7 7 Eksempel med timer. /* Enkel test av Timer. Lar timer-rutina styre Led 11. Tid oppgis i mikrosekunder. loop() styrer en frekvens som benyttes av tone() RR mars 2018 Fil: timer1.io */ #include <TimerOne.h> const int LED=11; const int tonepin = 8; int frekvens = 50; void setup() Serial.begin(9600); pinmode(led, OUTPUT); Timer1.initialize( ); // periodetid for timer 2 sekunder Timer1.attachInterrupt(blinkLed); // blinkled er timerfunksjonen som blir utført void loop() tone(tonepin, frekvens,400); frekvens += 50; // Generer frekvens på tonepin if (frekvens >= 4000) frekvens = 100; Serial.print("Frekvensen er: "); Serial.println(frekvens); delay(500);
8 8 //Timer funksjonen void blinkled() static bool ledonoff = 0; ledonoff =!ledonoff; digitalwrite(led, ledonoff); Serial.print("Led er: "); Serial.println(ledOnOff); // Toggle LED State Eksempel som benytter både interrupt og timer. /* Enkel test av Timer og Interrupt. Lar timer-rutina styre Blå Led pinne 11. Interrupt-rutina slår rødt lys på pinne 12 av/på. loop() styrer en frekvens på lyden mellom 100 og 4000 Hz. RR mars 2018 Fil: test_timer_interrupt_enekel_ver_mars2018 */ //Using Timer Interrupts with the Arduino #include <TimerOne.h> const int blueled=11; const int redled=12; const int tonepin = 8; int frekvens = 50; const int INT_BUTTON = 0; // Interrupt0 er koblet til pinne 2 på Uno. void setup() Serial.begin(9600); pinmode(blueled, OUTPUT); pinmode(redled, OUTPUT); Timer1.initialize( ); // set a timer of length microseconds (1.5 second) Timer1.attachInterrupt(blinkLed); //Runs "blinkled" on each timer interrupt // Setter opp interrupt-rutina, // Benytter IO-pinne 2 som utgjør Int 0. Rising angir puls fra lav til høy. attachinterrupt(int_button, intrutine, RISING );
9 9 void loop() tone(tonepin, frekvens,800); frekvens += 50; if (frekvens >= 3000) frekvens = 100; Serial.print("Frekvensen er: "); Serial.println(frekvens); delay(800); //Timer interrupt function void blinkled() static boolean ledonoff = 0; ledonoff =!ledonoff; digitalwrite(blueled, ledonoff); //Toggle blueled On/Off Serial.println(""); Serial.println("Timer-rutine blir utfoert."); Serial.print("blueLed er: "); Serial.println(ledOnOff); // Interrupt-rutine som switcher Rød Led på pinne 12 av/på void intrutine(void) static boolean ledonoff = 0; ledonoff =!ledonoff; Serial.println(""); Serial.println("int_routine blir utfoert."); Serial.print("RedLed er: "); Serial.println(ledOnOff); digitalwrite(redled, ledonoff); //Toggle redled State
10 10 Sjekker monitoren.
11 11 Program som skal hinder prelling når en bryter trykkes /* Test av prelling, og styring av Led med PWM. RR mars Fil: bounce_test_1.io */ const int BLUELED = 9; const int BUTTON = 12; int ledverdi = 0; boolean lastbuttonstate = false; boolean ledon = false; void setup() pinmode(blueled, OUTPUT); pinmode(button, INPUT); void loop() bool currentbutton = buttononoff(); if ( lastbuttonstate == LOW && currentbutton == HIGH) ledon =!ledon; lastbuttonstate = currentbutton; // Bruke PWM på led bruker analogwrite() // BLUELED kjøres fra 0 -> Max lys. // Hvis bryter er trykket starter den fra 0 igjen. if ( ledon == true) analogwrite(blueled, ledverdi); ledverdi++; if (ledverdi == 255) ledverdi = 0; else ledverdi = 0; analogwrite(blueled, ledverdi); delay(10);
12 12 // Sjekker tilstand på bryter. Leser 2 ganger. Unngår prelling. boolean buttononoff(void) boolean current = digitalread(button); if ( current!= lastbuttonstate) delay(5); // delay for å unngå prelling på bryter current = digitalread(button); // Leser 1 gang til for å være sikker på verdien return current; Eksempel 2. Hindre prelling. Venter x antall msek etter endring. /* Hindre prelling p bryter Fil: test_prelling_15mars2018.ino */ int inpin = 2; int outpin = 11; // the number of the input pin // the number of the output pin int counter = 0; int reading; int current_state = LOW; // how many times we have seen new value // the current value read from the input pin // the debounced input value // the following variable is a long because the time, measured in milliseconds, // will quickly become a bigger number than can be stored in an int. long time = 0; // the last time the output pin was sampled int debounce_count = 10; // number of millis/samples to consider before declaring a debounced input
13 void setup() Serial.begin(9600); pinmode(inpin, INPUT); pinmode(outpin, OUTPUT); digitalwrite(outpin, current_state); // setup the Output LED for initial state 13 void loop() // If we have gone on to the next millisecond if(millis()!= time) reading = digitalread(inpin); if(reading == current_state && counter > 0) // Skal sikre at det går 10 msek etter siste prelling. Serial.println(" counter-- "); counter--; if(reading!= current_state) // Teller opp, fordi det er en endring i tilstand Serial.println(" counter++ "); counter++; // If the Input has shown the same value for long enough let's switch it if(counter >= debounce_count) counter = 0; current_state = reading; digitalwrite(outpin, current_state); Serial.println(" counter > 10 "); time = millis(); // Leser av tiden for å sikre at det går 1 ms mellom hver sjekk
14 14 Sjekker monitoren.
Bruk 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,
DetaljerARDUINO STUDIELABEN PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER FRITZING. Roger Antonsen INF januar 2012
ARDUINO PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER ÅPEN SONE FOR EKSPERIMENTELL INFORMATIKK STUDIELABEN FRITZING Roger Antonsen INF1510 30. januar 2012 Arduino Cookbook, Michael Margolis Denne
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
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
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"
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
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)
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
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
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,
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
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
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
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
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
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Ø
DetaljerSUPER 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
DetaljerE K S A M E N FAKULTET FOR TEKNOLGI OG REALFAG. Emnekode: ELE217 Emnenavn: Mikrokontrollere og styresystemer.
FAKULTET FOR TEKNOLGI OG REALFAG E K S A M E N Emnekode: ELE217 Emnenavn: Mikrokontrollere og styresystemer. Dato: 9. desember 2016 Varighet: 0900-1200 Antall sider inkl. forside: 22 Tillatte hjelpemidler:
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
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi
HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Norsk Eksamensdato: 20. mai 2014 Varighet/eksamenstid: 0900-1400 Emnekode: Emnenavn: TELE3010-A 14V Mikroprosessorsystemer Klasse(r): 2EE 2EI Studiepoeng:
DetaljerFag ITD Datateknikk. Laboppgave 7. Programmering av Arduino med Ethernet shield. Kort løsningsforslag.
Fag ITD 13002 Datateknikk Laboppgave 7. Programmering av Arduino med Ethernet shield. Kort løsningsforslag. lab_datatek7_losning_21april2017.docx RR 25052016 Løsning: Lab-oppgave 7 side 2 Oppgave. I denne
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
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
DetaljerDM6814/DM5814 User s Manual
(Real Time Devices) Table 1-1 Factory Settings Switch/ Jumper Function Controlled Factory Settings (Jumpers Installed) P4 Connects a P14 jumper selectable interrupt source to an interrupt
DetaljerC:\My Documents\Fagprove\Flashlite V25+\LED_Link.pas Printed at 16:06 on 17 Feb 2000 Page 1 of 6
C\My Documents\Fagprove\Flashlite V25+\LED_Link.pas Printed at 1606 on 17 Feb 2000 Page 1 of 6 { ===================================================================================== L E D - L I N K P
Detaljer1: { 2: Display functions 3: ============================================================= 4: Instruction DB5 DB4 DB3 DB2 DB1 DB0 5:
C:\My Documents\prosjekter\dybdesensor\DYBDE.PAS Page 1 1: { 2: Display functions 3: ============================================================= 4: Instruction DB5 DB4 DB3 DB2 DB1 DB0 5: -------------------------------------------------------------
DetaljerDynamic Programming Longest Common Subsequence. Class 27
Dynamic Programming Longest Common Subsequence Class 27 Protein a protein is a complex molecule composed of long single-strand chains of amino acid molecules there are 20 amino acids that make up proteins
DetaljerHva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; }
Hva er verdien til variabelen j etter at følgende kode er utført? int i, j; i = 5; j = 10; while ( i < j ) { i = i + 2; j = j - 1; Hva skrives ut på skjermen når følgende kode utføres? int [] tallene =
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.
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.
DetaljerErik Grindheim - fagprøve Kildekode til mikrokontroller << led_ctrl.asm >> side 1/6.
Skrevet av: Erik Grindheim, IFJF - UiB * Dato: 15. februar 2000 * Revisjon 1.12 * Språk: MPASM (Microchip) * Processor: PIC16F84 * Watchdog timer: off * Code protect: off * Programmet starter opp med å
DetaljerC:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1
C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1 { F A G P R Ø V E N V Å R E N 1 9 9 9 Universitetet i Bergen Institutt for den Faste Jords Fysikk A D - K O R T P R O G R
DetaljerRapport Øving 2 TDT4258 Mikrokontroller Systemdesign
Rapport Øving 2 TDT4258 Mikrokontroller Systemdesign Thomas L Falch Torgeir Alstad 19. mars 2010 1 Sammendrag Oppgaven i denne øvingen var å skrive et program for å generere lyd på et utviklingskort [4].
DetaljerArduino med Atmel studio 6.x (6.1)
Arduino med Atmel studio 6.x (6.1) Etter å ha sett meg grenseløs lei av Arduinos IDE har jeg i lenge tid brukt Atmels eget AS6.1 Tenkte derfor lage en liten hvordan sette den opp til å virke med arduino.
DetaljerDu må håndtere disse hendelsene ved å implementere funksjonene init(), changeh(), changev() og escape(), som beskrevet nedenfor.
6-13 July 2013 Brisbane, Australia Norwegian 1.0 Brisbane har blitt tatt over av store, muterte wombater, og du må lede folket i sikkerhet. Veiene i Brisbane danner et stort rutenett. Det finnes R horisontale
DetaljerLabVIEW seriekommunikasjon med mikrokontroller
KYBERNETIKKLABORATORIET FAG: Industriell IT DATO: 08.15 OPPG.NR.: LV3 LabVIEW seriekommunikasjon med mikrokontroller Oppgave Denne oppgaven går ut på å lage et LabVIEW-program som kan kommunisere med en
DetaljerExercise 1: Phase Splitter DC Operation
Exercise 1: DC Operation When you have completed this exercise, you will be able to measure dc operating voltages and currents by using a typical transistor phase splitter circuit. You will verify your
DetaljerOPPGAVE 1 OBLIGATORISKE OPPGAVER (OBLIG 1) (1) Uten å selv implementere og kjøre koden under, hva skriver koden ut til konsollen?
OPPGAVESETT 4 PROSEDYRER Oppgavesett 4 i Programmering: prosedyrer. I dette oppgavesettet blir du introdusert til programmering av prosedyrer i Java. Prosedyrer er også kjent som funksjoner eller subrutiner.
DetaljerØvingsforelesning 5 Python (TDT4110)
Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med
DetaljerIN2010: Algoritmer og Datastrukturer Series 2
Universitetet i Oslo Institutt for Informatikk S.M. Storleer, S. Kittilsen IN2010: Algoritmer og Datastrukturer Series 2 Tema: Grafteori 1 Publisert: 02. 09. 2019 Utvalgte løsningsforslag Oppgave 1 (Fra
DetaljerTittel: Design av FSK-demodulator. Forfattere: Torstein Mellingen Langan. Versjon: 1.0 Dato: Innledning 1
Designnotat Innhold Tittel: Design av FSK-demodulator Forfattere: Torstein Mellingen Langan Versjon: 1.0 Dato: 13.11.17 1 Innledning 1 2 Prinsipiell løsning 2 2.1 Analyse av inngangssignal.............................
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
DetaljerKYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: 08.14 OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120
KYBERNETIKKLABORATORIET FAG: Industriell IT DATO: 08.14 OPPG.NR.: LV4. LabVIEW LabVIEW Temperaturmålinger BNC-2120 Lampe/sensor-system u y I denne oppgaven skal vi teste et lampe/sensor-system som vist
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
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
DetaljerØvingsforelesning 5 Python (TDT4110)
Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med
DetaljerOppgave 1a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet.
TDT445 Øving 4 Oppgave a Definer følgende begreper: Nøkkel, supernøkkel og funksjonell avhengighet. Nøkkel: Supernøkkel: Funksjonell avhengighet: Data i en database som kan unikt identifisere (et sett
DetaljerAVDELING FOR TEKNOLOGI
AVDELING FOR TEKNOLOGI PROGRAM FOR ELEKTRO- OG DATATEKNIKK Eksamensdato: 10. mai 2011 Varighet: 0900 1400 Fagnr. / navn: EDT205T MIKROPROSESSORSYSTEMER Klasse(r): 2EE Faglærer(e): Rolf Kristian Snilsberg,
DetaljerBruksanvisning - hovedpunkter Floalarm K 4
Bruksanvisning - hovedpunkter Floalarm K 4 Elektrisk tilkobling Bruk 1,5 mm 2 kabel. Monter 2A sikring før inngang til alarmenheten Koble innganger Bruk to-leder kabel 0,25 eller 0,5 mm 2 kabel Koble utganger
DetaljerVi skal se på lambda-uttrykk. Følgende er definerte og vil bli brukt gjennom oppgaven
SLI 230 - side 2 av 8 EKSAMENSOPPGAVE - SLI 230 - VÅR 2000 Nedenfor følger eksamensoppgaver i SLI 230. Først om oppgavene Bakerst følger to sider med hjelp slik det er avtalt - liste over primitiver fra
DetaljerLøsningsforslag til slutteksamen i SESM3401 Styring av mekatroniske systemer
Høgskolen i Buskerud Løsningsforslag til slutteksamen i SESM3401 Styring av mekatroniske systemer Utarbeidet av Finn Haugen, emnets lærer. Eksamensdato: Mandag 11. desember 2006. Varighet: 4 timer. Vekt
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
DetaljerHØGSKOLEN I SØR-TRØNDELAG
HØGSKOLEN I SØR-TRØNDELAG Avdeling for informatikk og e-læring - AITeL Kandidatnr: Eksamensdato: 15.desember 2004 Varighet: Fagnummer: Fagnavn: Klasse(r): 3 timer LO116D Programmering i Visual Basic FU
DetaljerHØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi
HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Norsk Eksamensdato: 07. mai 2013 Varighet/eksamenstid: 0900-1400 Emnekode: Emnenavn: EDT205T / EDT213T Klasse(r): 2EE 2EI Studiepoeng: Mikroprosessorsystemer
DetaljerI oppgave 1 skal det prøves ut en binærteller i en integrert krets (IC). Telleren som skal brukes er SN74HC393N, hvor
Lab 8 Datakonvertering Oppgave 1: Binærteller I oppgave 1 skal det prøves ut en binærteller i en integrert krets (IC). Telleren som skal brukes er SN74HC393N, hvor SN står for fabrikant: Texas Instruments.
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
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
DetaljerFlowcharts and State-Machines. IEC Ladder Logic Statement Lists Function Block Diagrams. G. Hovland /10
MAS113 Digital Control Day 2 Flowcharts and State-Machines MAS1 1 3 Dig it al Con t rol, Sem est er 1, 2 0 0 9. Pag e: 1 IEC 61131-3 Ladder Logic Statement Lists Function Block Diagrams G. Hovland - 2009/10
DetaljerTDT4100 Objektorientert programmering
Eksamensoppgave i TDT4100 Objektorientert programmering Torsdag 12. august 2010, kl. 09:00-13:00 Oppgaven er utarbeidet av faglærer Hallvard Trætteberg og kvalitetssikret av Svein Erik Bratsberg. Kontaktperson
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
DetaljerTest av USB IO-enhet. Regulering og HMI.
Høgskolen i Østfold Avdeling for informasjonsteknologi Lab Industriell IT Fag ITD 30005 Industriell IT Laboppgave 3. Gruppe-oppgave Test av USB IO-enhet. Regulering og HMI. Skal gjennomføres i løpet av
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
Detaljer1. Arduino Bluetooth 4.0 Low Energy (BLE)
Dokumentet er et foreløpig utkast 1. Arduino Bluetooth 4.0 Low Energy (BLE) Bluetooth er en trådløs teknologi som lar to enheter kommunisere med hverandre. I motsetning til WLAN (trådløst nettverk), støtter
DetaljerTips! OMRON ELECTRONICS NORWAY AS
Dette dokumentet er ment som et supplement til de originale manualene for produktene. Benytt derfor dette som en hjelp til å bli kjent med produktet, og ikke som en oppskrift for en ferdig installasjon.
DetaljerLøsning av temperatur- regulering med USB Lager et C#-program for å teste. Se prosjekt NI_DAQ_Control_1
1 Løsning av temperatur- regulering med USB-6008. Lager et C#-program for å teste. Se prosjekt NI_DAQ_Control_1 Benytter DAQ-klassen samt en klasse for PID-reg. Timeren styrer samplingstiden. Verdier som
DetaljerTell sekunder. Introduksjon. Skrevet av: Teodor Heggelund. I denne oppgaven skal vi lage vårt eget spill!
Tell sekunder Skrevet av: Teodor Heggelund Kurs: Elm Tema: Tekstbasert, Nettside, Spill Fag: Programmering, Teknologi Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon I denne oppgaven skal vi
DetaljerHONSEL process monitoring
6 DMSD has stood for process monitoring in fastening technology for more than 25 years. HONSEL re- rivet processing back in 990. DMSD 2G has been continuously improved and optimised since this time. All
DetaljerTDT4102 Prosedyre og Objektorientert programmering Vår 2014
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap TDT4102 Prosedyre og Objektorientert programmering Vår 2014 Løsningsforslag øving 2 Frist: DD.MM.YYYY Mål
DetaljerAntall vedlegg O Tillatte hjelpemidler:
~ Emne: Mekatronikk Emnekode. SO504M Faglig ansvarlig Gruppe(r): 3MM pato: 16.12.03 Eksamenstid 0900-1400 Eksamensoppgaven består av Anta]] sider: 5 Antall oppgaver: 4 Antall vedlegg O Tillatte hjelpemidler:
Detaljerprogrameksempel Et større En større problemstilling Plan for forelesingen Problemstillingen (en tekstfil) inneholdt ordet "TGA"
Et større programeksempel Hvordan løse et reelt problem med en objektorientert fremgangsmåte En større problemstilling I uke 4 skrev vi et program for å sjekke om et gen (en tekstfil) inneholdt ordet "TGA"
DetaljerGUI («Graphical User Interface») del 2
GUI («Graphical User Interface») del 2 Interaksjon med brukeren Hendelsesdrevet programmering Tråder i GUI Et spill basert på klikkbare ruter Se også på Infoskrivet https://www.uio.no/studier/emner/matnat/
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
DetaljerVedlegg 2 Dokumentasjon fra TVM leverandør
(Step 7) Payment selection or date modification state This screen is displayed after validation of a date in the calendar screen. The customer can: - Modify again the date by pressing the Validity begin:
DetaljerScheduling og prosesshåndtering
Scheduling og prosesshåndtering Håndtering av prosesser i et OS OS må kontrollere og holde oversikt over alle prosessene som kjører på systemet samtidig Prosesshåndteringen må være: Korrekt Robust Feiltolerant
DetaljerElektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening.
Elektronisk termostat med spareprogram. Lysende LCD display øverst på ovnen for enkel betjening. 27.5 LCD Electronic thermostat with program setting. Bright LCD display placed at the top of the heater
DetaljerINF2270. Input / Output (I/O)
INF2270 Input / Output (I/O) Hovedpunkter Innledning til Input / Output Ulike typer I/O I/O internt i datamaskinen I/O eksternt Omid Mirmotahari 3 Input / Output En datamaskin kommuniserer med omverdenen
Detaljer<?php. count tar en array som argument, og returnerer et tall som uttrykker antallet innførsler i arrayen.
Hver gang funksjonen printhallo kalles utføres instruksjonene spesifisert i den. [Kurssidene] [ ABI - fagsider bibin ] Webprogrammering høsten 2015 //funksjonskall printhallo(); //enda en gang printhallo();
DetaljerTilstandsmaskiner med UML og Java
Tilstandsmaskiner med UML og Java DAT2160 DAT2160 Høst Høst 2002 2002 Tilstandsmaskiner Tilstandsmaskiner med med UML UML og og Java Java Hva er en (endelig) tilstandsmaskin? En tilstandsmaskin kan sees
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,
DetaljerDebugging. Tore Berg Hansen, TISIP
Debugging Tore Berg Hansen, TISIP Innhold Innledning... 1 Å kompilere og bygge et program for debugging... 1 Når debugger er i gang... 2 Symbolene i verktøylinjen... 3 Start på nytt... 3 Stopp debugging...
DetaljerNeural Network. Sensors Sorter
CSC 302 1.5 Neural Networks Simple Neural Nets for Pattern Recognition 1 Apple-Banana Sorter Neural Network Sensors Sorter Apples Bananas 2 Prototype Vectors Measurement vector p = [shape, texture, weight]
DetaljerOversikt over SMS kommandoer for Holars 2020G
Oversikt over SMS kommandoer for Holars 2020G Det er to ulike menyer for å programmere / styre sentralen. 1. Bruker SMS Her kan brukeren styre alarmen Av/På samt styre utgangsmoduler og Waveman moduler.
DetaljerMarine Propulsion Control Systems 9000 Series Processor Feilsøking
Marine Propulsion Control Systems 9000 Series Processor Feilsøking System Components Sections B1-2 & B3 Processor(er) Kontroll Spak(er) Push-Pull kabler Elektriske kabler og kontakter Spenning De sju spørsmålene
DetaljerINF2810: Funksjonell Programmering. Kommentarer til prøveeksamen
INF2810: Funksjonell programmering INF2810: Funksjonell Programmering Kommentarer til prøveeksamen Erik Velldal Universitetet i Oslo 1: Grunnleggende (6 poeng)? (define foo '(a b))? (define bar foo)? (set!
DetaljerEmneevaluering GEOV272 V17
Emneevaluering GEOV272 V17 Studentenes evaluering av kurset Svarprosent: 36 % (5 av 14 studenter) Hvilket semester er du på? Hva er ditt kjønn? Er du...? Er du...? - Annet PhD Candidate Samsvaret mellom
Detaljerstatic int skrivetidsfrist = 0; // antall overskredet tid når skrive
// Dette eksempelet viser en ReaderWriterLock beskytte en delt // ressurs som kan leses samtidig av mange tråder, men kun // skrives til av en tråd om gangen. #include "stdafx.h" using namespace System;
Detaljer1 Innledning. 2 Virkemåte for kortet. Bli kjent med USB I/O kort K8055. NB! Ta med multimeter og lite skrujern!
D:\Per\Fag\Styresys\Oppgavebok\K8055LV_12\Øving 1\K8055_LV2012_SANN1_2014.wpd Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 1 SANNTID MED LABVIEW Bli kjent med USB I/O kort K8055. NB! Ta med multimeter
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
DetaljerElektronisk innlevering/electronic solution for submission:
VIKINGTIDSMUSEET Plan- og designkonkurranse/design competition Elektronisk innlevering/electronic solution for submission: Det benyttes en egen elektronisk løsning for innlevering (Byggeweb Anbud). Dette
DetaljerZelio Soft grunnkurs. Zelio Logic reléerstatter programmering
Zelio Soft grunnkurs Zelio Logic reléerstatter programmering Zelio Soft programvare for programmering av Zelio Logic reléerstatter Grunnkurset forutsetter at Zelio Soft er installert på PC Skjermbilder
DetaljerFra Python til Java. En introduksjon til programmeringsspråkenes verden. Dag Langmyhr
Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et eksempel Klasser
DetaljerSlope-Intercept Formula
LESSON 7 Slope Intercept Formula LESSON 7 Slope-Intercept Formula Here are two new words that describe lines slope and intercept. The slope is given by m (a mountain has slope and starts with m), and intercept
DetaljerTilstandsmaskiner (FSM) Kapittel 5
Tilstandsmaskiner (FSM) Kapittel 5 1) Sette opp tilstandsdiagram Tradisjonell konstruksjonsmetode 2) Sette opp tilstandstabell ut fra tilstandsdiagrammet Nåværende tilstand (PS) og input Neste tilstand
DetaljerPython: Input og output
Python: Input og output Skrevet av: Oversatt fra microbit-micropython.readthedocs.io (https://microbitmicropython.readthedocs.io/en/latest/tutorials/io.html) Oversatt av: Øistein Søvik Kurs: Microbit Tema:
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
DetaljerDagens tema Kapittel 8: Objekter og klasser
Dagens tema Kapittel 8: Objekter og klasser Hva er objekter og klasser? Programmering med objekter Klassedeklarasjoner Generering av objekter Tilgang til elementer i objektene Objekt- og klassevariable
DetaljerA-NO ER OVERSETTELSE AV INSTRUKSJONSBOKEN
200000592-A-NO-300914-ER OVERSETTELSE AV INSTRUKSJONSBOKEN Sist oppdatert: 25.1.2013 INNHOLD 1. Inngangs-/utgangsprioriteter 2. Menystruktur 3. Skjermknapp 4. Oppsettmeny for operatør 5. Oppsettmeny for
DetaljerIN1010. Fra Python til Java. En introduksjon til programmeringsspråkenes verden Dag Langmyhr
IN1010 Fra Python til Java En introduksjon til programmeringsspråkenes verden dag@ifi.uio.no Oversikt Introduksjon Python Java Noe er likt Noe bare ser anderledes ut Noe er helt forskjellig Et par eksempler
Detaljer