Intro til Atmel Studio Bits&bytes
|
|
- Bjørg Askeland
- 6 år siden
- Visninger:
Transkript
1 Intro til Atmel Studio Bits&bytes Vi har nå vært igjennom et bittelite prosjekt med en LED og en knapp, husker du at vi måtte gjøre noe spessielt med PORTB i loopen vår så den skulle fortsette å være pulled-up mens vi blinket LED av og på? vel det er jo litt teit å måtte gå å huske på alle disse tingene hver gang man skal forandre på en port? ikkesant? Så i denne artiklen vil jeg fortelle litt om andre måter å gjøre ting som dette på, vi var jo såhvidt innom litt maskering på slutten av forrige prosjekt så vi kan fortsette litt derifra. Maskere betyr jo i utgangspunktet å legge noe over det vi ikke er interesert i og vi skal her bruke det en god del. 1. Byte En byte består av 8 bit, disse gies oftest nummer fra 0 til 7. (litt viktig å huske på når vi teller) En byte kan inneholde 256 forskjellige kombinasjoner. (0-255) 2. Bit En bit er en bit er en bit, den kan være høy eller lav. 3. Bit operasjoner C har flere funksjoner for å gjøre morsomme ting med bits, i forrige prosjekt var vi såhvidt innom bitvis AND operasjonen (&) vi har flere operasjoner for å leke med bits og de vil jeg kose litt med her: 3.1 & AND (OG) Flott operasjon for å maskere ut brytere med ikkesant? enkelt forklart så fungere den på dette viset: 1 & 1 = 1 0 & 1 = 0 1 & 0 = 0 0 & 0 = 0 Vi ser derfor at den eneste måten vi får 1 på er hvis begge argumentene er 1, hvis vi da flytter dette over til en byte: & = Ser du hva vi har gjort her? Da vet du hvordan & fungerer! Kunne vi brukt dette i vårt forrige prosjekt til å slå LED av?
2 JAaa, det kunne vi gjort ved å AND'e PORTB med en byte hvor den bitten vi ønsker å slå av er den eneste som er lav, slik: PORTB = PORTB & 0b ; Hvis du ser av først eksempelet over så vil alle bittene holde seg slik de var utenom den 5 bitten (PORTB5) som må bli lav! 3.2 OR (ELLER) ELLER operasjonen er ikke det motsatte av OG! så er det sagt, det er en annen operasjon som vil gi høy dersom den ene eller den andre er høy. Eller fungerer på dette viset: 1 1 = = = = 0 Og her ser vi at alle resultatene utenom dersom begge er lave blir høy, og hvis vi flytter dette over til en byte: = Så ser vi at vi nå med den andre byten har tvunget de 4 siste bitene høye, uavhengig om de var høye eller lave fra før, dette kunne vi brukt til å slå på LED i forrige prosjekt uten å måtte huske på å holde pull-up høy hele tiden ikkesant? slik kunne vi skrevet da: PORTB = PORTB 0b ; Et lite triks her er at dette også kan skrives slik :"PORTB = 0b ;" i C så finnes det mange finurligheter for å skrive det samme på forskjellige måter, jeg vil fortsette å bruke den lange varianten her for at ting skal være enkelt å forstå. 3.3 ~ NOT (IKKE) Denne er litt spesiel, det eneste denne gjør er å gjøre om ALLE bitene til det motsatte, denne trenger bare 1 argument slik: ~ = Ser du hva den gjør? bra, siden vi liker å bruke 1 til å indikere hvilken bit vi jobber med (jeg gjør hvertfall det ) så kan vi jo bruke denne til å finpusse litt på hvordan vi slo av LED i forrige prosjekt, der vi brukte 0 til å maskere LED. Så vi gjør om den da til: PORTB = PORTB & ~0b ; Ble pent ikkesant? I C så blir dette gjort mest for at det skal være lett for andre å forstå DITT program, så hvordan du ønsker å gjøre ting er opp til deg, men om andre også skal forstå ditt program så er det lurt å gjøre ting på en standard måte.
3 3.4 ^ XOR (XELLER) Eksklusiv ELLER er en avart av OR (ELLER) hvor den gir høy KUN dersom BARE den ene eller den andre er høy, sannhetstabellen ser slik ut: 1 ^ 1 = 0 0 ^ 1 = 1 1 ^ 0 = 1 0 ^ 0 = 0 Og her blir resultatet på byte testen vår : ^ = Men hva skjer her da? her ser vi at dersom vi tester mot 0 så skjer det ingenting, men mot 1 så snur vi ting opp ned! På fagspråket heter det at vi Flipper bittene. Hmm, dette kan jo sikkert være til nytte i vårt forrige prosjekt... JAAA vi kan jo faktisk korte ned halve loop en vår med denne. Til nå så har vi forandret litt på programmet vårt og det burde se sånn ca slik ut: #define F_CPU 16e6 #include <avr/io.h> #include <util/delay.h> int main(void) DDRB = 0b ; PORTB = 0b ; while(1) if(!(pinb & 0b )) //PORTB = 0b ; PORTB = PORTB 0b ; //PORTB = 0b ; PORTB = PORTB & ~0b ; Så tenker vi oss litt om hvordan vi kan bruke denne flip operasjonen, vi tar en ole brumm tenkestund, og kommer frem til: PORTB = PORTB ^ 0b ;
4 Denne vil slukke LED om den er høy og tenne LED om den er lav, så vi skriver om programmet vårt slik: Hehey! Dette begynner å bli avansert! eller? 3.5 << LEFT SHIFT (VENSTRE SKIFT) Venstre shift eller flytt er en hendig liten operasjon som ganske enkelt flytter alle bitter i en byte mot venstre x antall steg slik: Eller #define F_CPU 16e6 #include <avr/io.h> #include <util/delay.h> int main(void) DDRB = 0b ; PORTB = 0b ; while(1) if(!(pinb & 0b )) //PORTB = 0b ; //PORTB = PORTB 0b ; PORTB = PORTB ^ 0b ; //PORTB = 0b ; //PORTB = PORTB & ~0b ; // << 1 = << 4 = Dette kan brukes både til å faktisk flytte en bit i en byte, men det kan også brukes for å tydeliggjøre programmet ditt slik: Her skal vi gjøre akkurat det samme som i XOR eksempelet, vi tar PORTB = PORTB ^ 0b ; Og gjør den om til: PORTB = PORTB ^ (1 << 5); For det var jo den 5te bitten vi jobbet med ikkesant? Vi kunne likegjerne nå gi denne et navn : #define LED 5 PORTB = PORTB ^ (1 << LED); Og vi kunne brukt den korte varianten: #define LED 5 PORTB ^= (1 << LED);
5 Nå begynner ting å bli avansert nå! Neida, disse tingene her er absolutt barnemat, kansje litt mye å forstå i begynnelsen men dette er melk og brød i programmeringsverden. 3.6 >> RIGHT SHIFT (HØYRE SKIFT) Motsatt av LEFT SHIFT, flytter bittene x antall plasser mot høyre slik: >> 3 = Enkelt ikkesant! Legg merke til en ting som gjelder for både LEFT og RIGHT SHIFT er at det flytter IKKE det som faller ut på siden over til andre siden, de bare faller ut og blir borte i det tomme intet!! 4. MACRO Frem til nå har vi gjort ting veldig avansert, Nå skal vi prøve å gjøre ting enklere. Vi har nå lært hvordan vi manipulerer bits og bytes slik vi vil med å bruke AND, OR, XOR, NOT, LEFT SHIFT og RIGHT SHIFT. Vi skal nå lage oss et par makroer i C, makroer er ganske enkelt en slags funksjon som kan gjøre ting vi vil den skal gjøre, dette kan være avansert men vi skal ta det små steg av gangen. Den første macroen vi skal lage er en som skal sette den bitten vi vil høy. Vi tenker tilbake på bitmanipulasjonen og husker OR operasjonen. Eller: Byte Byte Byte (1<<BIT) En makro lages med #define uttrykket i førsten av programmet vårt sammen med andre #define, Når vi lager en slik makro i C er det standard at navnet vi gir den er i STOR SKRIFT, så vi kaller den SETBIT og sier ifra at den skal motta 2 variabler BYTEN og BITTEN. Deretter må vi fortelle hva vi vil at den skal gjøre med de, og slik blir det: #define SETBIT(BYTEN, BIT) (BYTEN = (1<<BIT)) Vi lager samtidig en CLRBIT macro : #define CLRBIT(BYTEN, BIT) (BYTEN &= ~(1<<BIT)) Du husker hvordan vi gjorde dette ikkesant? Og siden vi er så godt i gang så lager vi FLPBIT. #define FLPBIT(BYTEN, BIT) (BYTEN ^= (1<<BIT))
6 Da har vi noen flotte verktøy til å sette en bit høy elle lav, eller bare flippe den fra den ene til den andre uavhengig. Men hadde det ikke vært fint med en måte å sjekke en bit på også da? Vi kaster oss over CHKBIT. #define CHKBIT(BYTEN, BIT) (BYTEN & (1<<BIT)) Her ser du at vi bare AND er det er ikke noe = i den linjen ;) Så, nå har vi laget verktøyene, la oss bruke et par av de: #define F_CPU 16e6 #define SETBIT(BYTEN, BIT) (BYTEN = (1<<BIT)) #define CLRBIT(BYTEN, BIT) (BYTEN &= ~(1<<BIT)) #define FLPBIT(BYTEN, BIT) (BYTEN ^= (1<<BIT)) #define CHKBIT(BYTEN, BIT) (BYTEN & (1<<BIT)) #include <avr/io.h> #include <util/delay.h> int main(void) DDRB = 0b ; PORTB = 0b ; while(1) if(!(chkbit(pinb,4))) //////PORTB = 0b ; ////PORTB = PORTB 0b ; // Set //PORTB = PORTB ^ 0b ; // Flip FLPBIT(PORTB,5); //////PORTB = 0b ; ////PORTB = PORTB & ~0b ;// Clear // Nå har vi vært igjennom hvordan man manipulerer bits og bytes, hvordan man bygger en enkel macro og hvordan man kan bruke de. Nå skal vi bygge om hele vårt lille blinke med knappen program til å bruke alle hjelpemidler AVR studio har å hjelpe oss med. Og slik blir da hele programmet vårt seende ut :
7 #define F_CPU 16e6 ////////////////////////////////////////////////////////////////////////// #define SETBIT(BYTEN, BIT) (BYTEN = (1<<BIT)) #define CLRBIT(BYTEN, BIT) (BYTEN &= ~(1<<BIT)) #define FLPBIT(BYTEN, BIT) (BYTEN ^= (1<<BIT)) #define CHKBIT(BYTEN, BIT) (BYTEN & (1<<BIT)) ////////////////////////////////////////////////////////////////////////// #define LED PORTB5 #define KNAPP PORTB4 #define ER_KNAPP_LAV!CHKBIT(PINB,4) ////////////////////////////////////////////////////////////////////////// #include <avr/io.h> #include <util/delay.h> int main(void) SETBIT(DDRB,LED); SETBIT(PINB,KNAPP); while(1) if(er_knapp_lav) FLPBIT(PORTB,PORTB5); //LED = PORTB5 som utgang //KNAPP = PORTB4 slå på pull-up Nå ser det ganske så anderledes ut hva?, jeg har laget et par macroer til bare sånn for å vise at det går, ser du ER_KNAPP_LAV macroen, genial hva. La også inn noen // linjer for å skille ting litt fra hverandre. Ok tingen er den at i Atmel Studio som i arduino IDE så er det en MASSE ferdige definisjoner, ting som DDRB, PORTB virker jo ganske åpenlyst ikkesant, men det er faktisk definisjoner for bit også som du ser så definerer jeg LED som PORTB5, jeg kunne selvfølgelig bare skrevet 5 men da hadde jo hele poenget mitt her vært borte. Vi kommer mye mer tilbake til alle definisjoner når vi kommer til analog converter og andre mer avanserte ting senere.
8 5. Avslutning Da godtfolk har jeg kommet til enden av dagens lektyre, jeg har her sammenfattet barnelærdommen av bits & bytes og manipulasjon av disse, jeg har i det hele forsøkt å holde meg til vårt første eksempel og arbeidet ut ifra dette, det har nok gitt av eksempelet at det er noen ting som da ikke kommer med som burde ha vært med. 5.1 Sette flere navngitte bits samtidig Dette er noe som veldig ofte brukes når flere bit skal settes samtidig, gjerne i et register men kan også brukes fritt til andre ting. La oss gjøre et tenkt eksempel, vi ønsker oss bit 0,1,2 og 3 i PORTB som utganger og trenger da å skrive de høye, selvfølgelig går det fint å gjøre dette på 4 linjer med SETBIT, men som proffe programmerere vi skal bli (host) så gjøres dette oftere slik: DDRB &= (1<<PORTB0) (1<<PORTB1) (1<<PORTB2) (1<<PORTB3); Kan også se slik ut : DDRB &= (1<<PORTB0) (1<<PORTB1) (1<<PORTB2) (1<<PORTB3);
Arduino 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.
DetaljerRobotinvasjon Introduksjon ComputerCraft PDF
Robotinvasjon Introduksjon ComputerCraft PDF Introduksjon Vi har sett enkle datamaskiner. Nå skal vi leke oss med roboter, og finne ut hvordan vi kan få dem til å gjøre forskjellige ting for oss. Steg
DetaljerSprettball Erfaren ComputerCraft PDF
Sprettball Erfaren ComputerCraft PDF Introduksjon Nå skal vi lære hvordan vi kan koble en skjerm til datamaskinen. Med en ekstra skjerm kan vi bruke datamaskinen til å kommunisere med verden rundt oss.
DetaljerBygg et Hus. Steg 1: Prøv selv først. Sjekkliste. Introduksjon. Prøv selv
Bygg et Hus Introduksjon I denne leksjonen vil vi se litt på hvordan vi kan få en robot til å bygge et hus for oss. Underveis vil vi lære hvordan vi kan bruke løkker og funksjoner for å gjenta ting som
DetaljerDonkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle
Donkey Kong Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill, Animasjon Fag: Naturfag, Programmering, Engelsk, Kunst og håndverk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon
DetaljerBygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim
Bygge en kube Skrevet av: Pål G. Solheim Kurs: Learntomod Tema: Blokkbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal bygge en
DetaljerBygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle
Bygg et Hus Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon I denne leksjonen
DetaljerKan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!
Microbit PXT: Terning Skrevet av: Geir Arne Hjelle Kurs: Microbit Språk: Norsk bokmål Introduksjon Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt! Steg 1: Vi rister løs Vi
DetaljerHusk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.
Skilpaddeskolen Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Bjørn Einar Bjartnes Kurs: Python Tema: Tekstbasert Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse
DetaljerBygge en kube. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon
Bygge en kube Introduksjon Learn To Mod Introduksjon Vi skal bygge en kube i minecraft og lære endel viktige klosser i Learn To Mod. Oppgaven er forklart i detalj og egner seg som den første oppgaven du
DetaljerToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide
ToPlayer Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon: Nå skal vi
DetaljerOm du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.
Pingviner på tur Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Velkommen til Scratch. Vi skal
DetaljerToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:
ToPlayer Introduksjon Processing Introduksjon: Nå skal vi lage et spill som to personer kan spille mot hverandre. Vi har kalt det ToPlayer, men du kan kalle det hva du vil. Målet er å dytte en figur, eller
DetaljerSkilpaddekunst. Steg 1: Møt skilpadden. Sjekkliste. Introduksjon. Turtles
Skilpaddekunst Introduksjon Skilpadder (turtles på engelsk) er en form for roboter som har vært i bruk innen programmering i lang tid. Vi vil bruke skilpadde-biblioteket i Python til å utforske flere programmeringskonsepter
DetaljerSoloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle
Soloball Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal nå lære hvordan vi
DetaljerHannametoden en finfin nybegynnermetode for å løse Rubik's kube, en såkalt "layer-by-layer" metode og deretter en metode for viderekommende.
Hannametoden en finfin nybegynnermetode for å løse Rubik's kube, en såkalt "layer-by-layer" metode og deretter en metode for viderekommende. Olve Maudal (oma@pvv.org) Februar, 2012 Her er notasjonen som
DetaljerHusk at du skal ha to vinduer åpne. Det ene er 'Python Shell' og det andre er for å skrive kode i.
Skilpaddeskolen Steg 1: Flere firkanter Nybegynner Python Åpne IDLE-editoren, og åpne en ny fil ved å trykke File > New File, og la oss begynne. Husk at du skal ha to vinduer åpne. Det ene er 'Python Shell'
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
DetaljerHer skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.
PXT: Stein, saks, papir Skrevet av: Bjørn Hamre Kurs: Microbit Introduksjon Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den. Steg 1: Velge tilfeldig
DetaljerHvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle
Hvor i All Verden? Del 2 Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering, Samfunnsfag Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon
DetaljerVi har sett enkle datamaskiner. Nå skal vi leke oss med roboter, og finne ut hvordan vi kan få dem til å gjøre forskjellige ting for oss.
Robotinvasjon Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon Vi har
DetaljerHvor i All Verden? Del 2 Erfaren Scratch PDF
Hvor i All Verden? Del 2 Erfaren Scratch PDF Introduksjon Hvor i All Verden? er et reise- og geografispill hvor man raskest mulig skal fly innom reisemål spredt rundt i Europa. Dette er den andre leksjonen
DetaljerSkilpaddekunst. Introduksjon. Skrevet av: Geir Arne Hjelle
Skilpaddekunst Skrevet av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert Fag: Matematikk, Programmering, Kunst og håndverk Klassetrinn: 5.-7. klasse, 8.-10. klasse Introduksjon Skilpadder (turtles på
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.
DetaljerPXT: Flasketuten peker på
PXT: Flasketuten peker på Skrevet av: Kolbjørn Engeland, Julie Christina Revdahl Kurs: Microbit Tema: Blokkbasert, Elektronikk, Animasjon, Spill Fag: Programmering Klassetrinn: 5.-7. klasse, 8.-1. klasse,
DetaljerBli Kjent med Datamaskinen Introduksjon ComputerCraft PDF
Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF Introduksjon Vi begynner med å bygge en enkel datamaskin. Etter å ha brukt litt tid på å bli kjent med hvordan datamaskinen virker, bruker vi den
DetaljerSoloball. Steg 1: En roterende katt. Sjekkliste. Test prosjektet. Introduksjon. Vi begynner med å se på hvordan vi kan få kattefiguren til å rotere.
Soloball Introduksjon Scratch Introduksjon Vi skal nå lære hvordan vi kan lage et enkelt ballspill med Scratch. I soloball skal du styre katten som kontrollerer ballen, slik at ballen ikke går i nettet.
DetaljerDet du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.
Tetris Introduksjon Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å
Detaljer1. Rullende navn, s 3 2. Smilefjes, s 5 3. Skritteller, s 7 4. Orakel, s 9 5. Stein, saks og papir, s Kompass, s 14
Kom i gang med 2 I dette heftet skal vi gjøre oss kjent med micro:bit og lære å programmere med blokk-kode. Heftet inneholder seks ulike prosjektoppgaver med differensiert innhold og tema. 1. Rullende
DetaljerMattespill Nybegynner Python PDF
Mattespill Nybegynner Python PDF Introduksjon I denne leksjonen vil vi se litt nærmere på hvordan Python jobber med tall, og vi vil lage et enkelt mattespill. Vi vil også se hvordan vi kan gjøre ting tilfeldige.
DetaljerBygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim
Bygge en pyramide Skrevet av: Pål G. Solheim Kurs: Learntomod Tema: Blokkbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon La oss gjøre
DetaljerTetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!
Tetris Skrevet av: Kine Gjerstad Eide Kurs: Processing Introduksjon Lag starten på ditt eget tetris spill! Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett
DetaljerSprettende ball Introduksjon Processing PDF
Sprettende ball Introduksjon Processing PDF Introduksjon: I denne modulen skal vi lære et programmeringsspråk som heter Processing. Det ble laget for å gjøre programmering lett for designere og andre som
DetaljerPXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl
PXT: Himmelfall Skrevet av: Helene Isnes og Julie Revdahl Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Programmering, Matematikk Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
DetaljerSteg 1: Piler og knappetrykk
PXT: Er du rask nok? Skrevet av: Julie Christina Revdahl Kurs: Microbit Tema: Blokkbasert, Spill, Elektronikk Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole
DetaljerMesteparten av kodingen av Donkey Kong skal du gjøre selv. Underveis vil du lære hvordan du lager et enkelt plattform-spill i Scratch.
Donkey Kong Ekspert Scratch Introduksjon Donkey Kong var det første virkelig plattform-spillet da det ble gitt ut i 1981. I tillegg til Donkey Kong var det også her vi første gang ble kjent med Super Mario
DetaljerMIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk.
Stavanger, 25. januar 2012 Det teknisknaturvitenskapelige fakultet MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Vi skal i denne øvinga se litt på brytere, lysdioder og
DetaljerSteg 1: Bli kjent med spillet
Krabbeangrep! Remiks Skrevet av: Gudbrand Tandberg Kurs: Scratch Tema: Blokkbasert, Spill, Animasjon Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Denne uken skal
DetaljerSprettball. Introduksjon. Skrevet av: Geir Arne Hjelle
Sprettball Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon Nå skal vi
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,
DetaljerDagens tema. Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene
Dagens tema Dagens tema Cs preprosessor Separat kompilering av C-funksjoner C og minnet Oversikt over operatorene Inkludering av filer Cs preprosessor Før selve kompileringen går C-kompilatoren gjennom
DetaljerSprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen
Sprettende ball Skrevet av: Sigmund Hansen Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Matematikk, Naturfag, Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon:
DetaljerKapittel 3. The fun starts
Kapittel 3 The fun starts Introduksjon I dette kapittelet vil jeg prøve å gjøre ting på en annen måte. Siden vi nå skal begynne å faktisk lage noe, tenkte jeg at jeg vil gjøre det slik at kapittelet blir
Detaljer4 Matriser TMA4110 høsten 2018
Matriser TMA høsten 8 Nå har vi fått erfaring med å bruke matriser i et par forskjellige sammenhenger Vi har lært å løse et lineært likningssystem ved å sette opp totalmatrisen til systemet og gausseliminere
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 å
DetaljerLøsnings forslag i java In115, Våren 1996
Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra
DetaljerSteg 1: Hvordan styre figurer med piltastene
Labyrint Skrevet av: Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon I dette spillet vil vi kontrollere en
DetaljerJS: Grunnleggende JavaScript Nybegynner
JS: Grunnleggende JavaScript Nybegynner Web Introduksjon I denne oppgaven skal du lære helt enkle og grunnleggende elementer av JavaScript. Du vil lære om variabler, if-setninger, funksjoner og løkker.
DetaljerSteg 1: Vår første datamaskin
Bli Kjent med Datamaskinen Skrevet av: Geir Arne Hjelle Kurs: Computercraft Tema: Tekstbasert, Minecraft Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregåe skole Introduksjon
Detaljer3 SMARTE SOVEPENGER PASSIVE INNTEKTSKILDER SOM VIRKER OG ALLE KAN KLARE!
3 SMARTE SOVEPENGER PASSIVE INNTEKTSKILDER SOM VIRKER OG ALLE KAN KLARE! Xxxxxx TJEN PENGER MENS DU SOVER ELLER Hva har du lyst å gjøre mens du tjener penger? Mer tid til? Mer frihet? Er du klar for og
Detaljer3D-Flakser, Del 1 Ekspert Scratch PDF
3D-Flakser, Del 1 Ekspert Scratch PDF Introduksjon I dette prosjektet skal vi lage en versjon av Flaksefugl (som er en kopi av Flappy Bird) i tre dimensjoner! Spillet går ut på at du styrer en flyvende
DetaljerJS: Grunnleggende JavaScript
JS: Grunnleggende JavaScript Skrevet av: Lars Klingenberg Kurs: Web Tema: Tekstbasert, Nettside Fag: Matematikk, Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon
DetaljerBygge en pyramide. Steg 1: Lage en ny mod. Sjekkliste. Introduksjon
Bygge en pyramide Introduksjon Learn To Mod Introduksjon La oss gjøre som Egypterne og bygge en pyramide! Denne oppgaven har ikke så detaljerte instruksjoner som "Bygge en kube", den passer fint som oppgave
DetaljerEnkle generiske klasser i Java
Enkle generiske klasser i Java Oslo, 7/1-13 Av Stein Gjessing, Institutt for informatikk, Universitetet i Oslo Del 1: Enkle pekere Før vi tar fatt på det som er nytt i dette notatet, skal vi repetere litt
DetaljerTre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang. Sjekkliste. Introduksjon
Tre på rad mot datamaskinen Erfaren Python Introduksjon I dag skal vi prøve å skrive kode slik at datamaskinen kan spille tre på rad mot oss. Datamaskinen vil ikke spille så bra i begynnelsen, men etterhvert
DetaljerTre på rad mot datamaskinen. Steg 1: Vi fortsetter fra forrige gang
Tre på rad mot datamaskinen Skrevet av: Oversatt fra Code Club UK (//codeclub.org.uk) Oversatt av: Geir Arne Hjelle Kurs: Python Tema: Tekstbasert, Spill Fag: Programmering Klassetrinn: 8.-10. klasse Introduksjon
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
DetaljerBesøk 1, 7. klasse Ungdom med MOT November/desember/januar
Kan ikke kopieres Besøk 1, 7. klasse Ungdom med MOT November/desember/januar VÆR GODT FORBEREDT, ha en lek eller to i bakhånd Lær manus Tenk ut egne eksempler Sjekk at utstyr er på plass Ta dere en tur
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
Detaljer1. Programmering: Hva og hvorfor? Scratch fra scratch Enkel programmering for nybegynnere
1. Programmering: Hva og hvorfor? 1. Programmering: Hva og hvorfor? Du har nå valgt å lære deg å programmere. Gratulerer med et flott valg! Programmering er en allsidig og nyttig aktivitet, og det er et
DetaljerSteg 1: Lag bildedeklarasjon
Bildepresentasjon Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide Kurs: Processing Tema: Tekstbasert, Animasjon Fag: Programmering, Kunst og håndverk Klassetrinn: 8.-10. klasse, Videregående skole
DetaljerSkilpaddefraktaler Erfaren Python PDF
Skilpaddefraktaler Erfaren Python PDF Introduksjon Vi vil nå jobbe videre med skilpaddekunsten fra tidligere. Denne gangen skal vi tegne forskjellige figurer som kalles fraktaler. Fraktaler er figurer
DetaljerIN 147 Program og maskinvare
Dagens tema Mer om C Cs preprosessor Allokering av variable Separat kompilering Programmet make Pekere i C Operasjoner på pekere Pekere og vektorer Referanseparametre Pekere til «alt» og «ingenting» Dynamisk
Detaljer3. Introduksjon til prosjektet Hringr. Scratch fra scratch Enkel programmering for nybegynnere
3. Introduksjon til prosjektet Hringr 29 Sammenlikninger hvis og hvis-ellers Vi mennesker bruker sammenlikninger hundrevis av ganger hver eneste dag. Når vi utfører oppgaver, når vi tenker og når vi jobber.
DetaljerSkriftlig innlevering
2011 Skriftlig innlevering Spørre undersøkelse VG2 sosiologi Vi valgte temaet kantinebruk og ville finne ut hvem som handlet oftest i kantinen av første-, andre- og tredje klasse. Dette var en problem
DetaljerRepetisjon digital-teknikk. teknikk,, INF2270
Repetisjon digital-teknikk teknikk,, INF227 Grovt sett kan digital-teknikk-delen fordeles i tre: Boolsk algebra og digitale kretser Arkitektur (Von Neuman, etc.) Ytelse (Pipelineling, cache, hukommelse,
DetaljerLaget av Atle Hybertsen Høst 2017
101 Innholdsfortegnelse 1- Laste ned programmet 2- Oppstart 3- Betydninger basic 4- Basic program og funksjoner 5- Forklaringer av ord og forkortelser 6- Analog inn og ut oppsett 7- Betydninger avansert
DetaljerSnake Expert Scratch PDF
Snake Expert Scratch PDF Introduksjon En eller annen variant av Snake har eksistert på nesten alle personlige datamaskiner helt siden slutten av 1970-tallet. Ekstra populært ble spillet da det dukket opp
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
DetaljerSUBTRAKSJON FRA A TIL Å
SUBTRAKSJON FRA A TIL Å VEILEDER FOR FORELDRE MED BARN I 5. 7. KLASSE EMNER Side 1 Innledning til subtraksjon S - 2 2 Grunnleggende om subtraksjon S - 2 3 Ulike fremgangsmåter S - 2 3.1 Tallene under hverandre
DetaljerHER STÅR SKREVET ORD DU MÅ LÆRE, SPRÅK ER VIKTIG OM VI I VERDEN SKAL VÆRE.
Kategori: Fantasiverden Vanskelighetsgrad: 1 Tidsbruk: Varierende. Fungerer som introduksjonsscenario for fremmedspråk, så den enkelte veileder må definere sin tidsbruk selv. Det anbefales å legge litt
DetaljerPXT: Spå fremtiden med bilder
PXT: Spå fremtiden med bilder Skrevet av: Helene Isnes Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Kunst og håndverk, Matematikk, Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående
DetaljerRapport Øving 1 TDT4258 Mikrokontroller Systemdesign
Rapport Øving 1 TDT4258 Mikrokontroller Systemdesign Thomas L Falch Torgeir Alstad 21. februar 2010 1 Sammendrag Oppgaven i denne øvingen var å skrive et assemblyprogramm for å få knappene til å styre
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
DetaljerOversikt over det kinesiske restteoremet
Oversikt over det kinesiske restteoremet Richard Williamson 3. desember 2014 Oppgave 1 Finn et heltall x slik at: (1) x 2 (mod 6); (2) x 3 (mod 11). Hvordan vet jeg at vi bør benytte det kinesiske restteoremet?
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
DetaljerPXT: Bjelleklang. Introduksjon. Skrevet av: Kolbjørn Engeland, Julie Revdahl
PXT: Bjelleklang Skrevet av: Kolbjørn Engeland, Julie Revdahl Kurs: Microbit Tema: Blokkbasert, Elektronikk, Lyd, Animasjon Fag: Programmering, Musikk Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående
DetaljerHer er et eksempel på hvordan en konteringsmal brukes, under registrering av en telefonregning fra Telenor (Innkjøp > Leverandørfaktura):
Konteringsmaler Konteringsmaler kan benyttes under bilagsregistrering og under registrering av leverandørfakturaer. De brukes for å forenkle konteringen av bilagene. Når du bruker en konteringsmal trenger
DetaljerForenklet bridge (f-bridge)
Forenklet bridge (f-bridge) Marianne Harding og Sven-Olai Høyland 14. mai 2007 Dette ble først skrevet i forbindelse med bridgekurs for barn i alderen 9 13 år, men vi tror deg egner seg som en introduksjon
DetaljerSteg 1: Katten og fotballbanen
Straffespark Skrevet av: Erik Kalstad og Geir Arne Hjelle Kurs: Scratch Tema: Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon Vi skal
DetaljerLøsningsforslag til eksamen i INF2270
Løsningsforslag til eksamen i INF227 Oppgave 9 Omid Mirmotahari Oppgave 6 Dag Langmyhr. juni 24 Eksamen INF227 Sensorveiledning Oppgave 2 Kretsforenkling Hva er funksjonsuttrykket for Output gitt av A
DetaljerSteg 1: Regneoperasjoner på en klokke
Diffie-Hellman nøkkelutveksling Skrevet av: Martin Strand Kurs: Python Tema: Tekstbasert, Kryptografi Fag: Matematikk, Programmering Klassetrinn: 8.-10. klasse, Videregående skole Introduksjon Du har tidligere
DetaljerPXT: Snake. Introduksjon. Skrevet av: Håvard Nygård Jakobsen
PXT: Snake Skrevet av: Håvard Nygård Jakobsen Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Programmering Klassetrinn: 1.-4. klasse, 5.-7. klasse, 8.-10. klasse Introduksjon En eller annen
DetaljerHjemmeeksamen 1 i INF3110/4110
Hjemmeeksamen i INF30/40 Innleveringsfrist: fredag 24. oktober kl. 500 Innlevering Hele besvarelsen skal leveres skriftlig på papir i IFI-ekspedisjonen innen fredag 24. oktober kl. 500. Merk besvarelsen
DetaljerEVALUERINGSSKJEMA «Æ E MÆ» 7.KLASSE. Skoleåret
EVALUERINGSSKJEMA «Æ E MÆ» 7.KLASSE. Skoleåret 2012-13. Høsten 2012: Sortland barneskole: 7A: 25 stk, 7B: 25 stk Lamarka skole: 7A: 19 stk, 7B: 20 stk Sigerfjord skole: 16 stk Våren 2013: Holand skole:
DetaljerProgrammeringsspråket C Del 3. Hans Petter Taugbøl Kragset
Programmeringsspråket C Del 3 Hans Petter Taugbøl Kragset Repetisjon I C er ikke array en egen type, men variabler kan være arrayer! Pekere C-strenger Veldig likt Java på mange måter Programmering er fortsatt
DetaljerHvorfor er det slik?
Vi er en klasse med 26 smarte, engasjerte og kule elever. Vi har vært med på nysgjerrigperprosjektet for første gang, og vi har hatt det kjempegøy! Vi har lært masse, og hatt det morsomt sammen alle sammen.
DetaljerLineære ligningssystemer og gausseliminasjon
Kapittel Lineære ligningssystemer og gausseliminasjon Vi skal lære en metode for å finne og beskrive alle løsninger av systemer av m lineære ligninger med n ukjente. Oppvarming Her er et eksempel på et
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
DetaljerForelesning Instruksjonstyper Kap 5.5
TDT4160 Datamaskiner Grunnkurs Forelesning 22.11 Instruksjonstyper Kap 5.5 Dagens tema Instruksjonstyper (5.5) Datatransport Datamanipulering Betingede hoppinstruksjoner Prosedyrekall Løkker I/O Eksempler
DetaljerINF1400 Kap4rest Kombinatorisk Logikk
INF4 Kap4rest Kombinatorisk Logikk Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU FIFO Stack En minimal RISC - CPU Komparator Komparator sammenligner to tall A og B 3
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:
DetaljerPXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes
PXT: Det regner mat! Skrevet av: Helene Isnes Kurs: Microbit Tema: Elektronikk, Blokkbasert, Spill Fag: Matematikk, Programmering Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon
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
DetaljerSkilpadder hele veien ned
Level 1 Skilpadder hele veien ned All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your
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
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
DetaljerMatematisk induksjon
Matematisk induksjon 1 Innledning Dette er et nytt forsøk på å forklare induksjon. Strategien min i forelesning var å prøve å unngå å få det til å se ut som magi, ved å forklare prinsippet fort ved hjelp
DetaljerDEL 2 REGELBOK 2P + 2P-Y
DEL 2 REGELBOK 2P + 2P-Y ZAIN MUSHTAQ 2017 Innhold TRYKK PÅ ET DELKAPITTEL FOR Å GÅ DIT 1 FUNKSJONER... 3 HVORDAN LESE / SE EN FUNKSJONSOPPGAVE?... 3 FINNE X-VERDI NÅR DU VET Y-VERDI... 3 FINNE Y-VERDI
DetaljerStraffespark Introduksjon Scratch Lærerveiledning
Straffespark Introduksjon Scratch Lærerveiledning Introduksjon Vi skal lage et enkelt fotballspill, hvor du skal prøve å score på så mange straffespark som mulig. Steg 1: Katten og fotballbanen Vi begynner
Detaljer