7-Segment Display. Introduksjon. Steg 1: Finn frem utstyr. Til denne oppgaven trenger du. Skrevet av: Martin Ertsås & Morten Minde Neergaard

Like dokumenter
7-Segment Display Nybegynner Arduino Lærerveiledning

Steg 1: Installere programvaren

Blinkende lysdiode Introduksjon Arduino Lærerveiledning

Ultralydsensor. Introduksjon. Litt om ultralydsensorer. Arduino. Skrevet av: Martin Ertsås & Morten Minde Neergaard

Prototyping med Arduino del 2

INF1510: Bruksorientert design

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Steg 1: Piler og knappetrykk

PXT: Tikkende bombe. Introduksjon. Steg 1: Vi starter spillet. Skrevet av: Kolbjørn Engeland

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

Sprettende ball. Introduksjon: Steg 1: Vindu. Sjekkliste. Skrevet av: Sigmund Hansen

PXT: Komponer en melodi

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

Prototyping med Arduino del 3

Uendelig bakke. Introduksjon. Skrevet av: Kine Gjerstad Eide

PXT: Micro:bit repeater

PXT: Bjelleklang. Introduksjon. Skrevet av: Kolbjørn Engeland, Julie Revdahl

Bygge en pyramide. Introduksjon. Steg 1: Lage en ny mod. Sjekkliste. Skrevet av: Pål G. Solheim

Litt mer om Arduino. Roger Antonsen Sten Solli INF januar 2011

Verden. Introduksjon. Skrevet av: Kine Gjerstad Eide og Ruben Gjerstad Eide

Python: Input og output

Tell sekunder. Introduksjon. Skrevet av: Teodor Heggelund. I denne oppgaven skal vi lage vårt eget spill!

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

PXT: Flasketuten peker på

Steg 1: Få noe på skjermen

Ping pong. Introdusjon: Steg 1: Sprettende ball. Sjekkliste. Skrevet av: Torbjørn Vik Lunde

Steg 1: Lag bildedeklarasjon

Kan micro:biten vår brukes som et termometer? Ja, den har faktisk en temperatursensor!

Steg 0: Installere Pygame Zero

PXT: Det regnar mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes. Oversatt av: Stein Olav Romslo

PXT: Spå fremtiden med bilder

Bygge en kube. Introduksjon. Steg 1: Lage en ny mod. Skrevet av: Pål G. Solheim

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

WORKSHOP BRUK AV SENSORTEKNOLOGI

Bygg et Hus. Introduksjon. Steg 1: Prøv selv først. Skrevet av: Geir Arne Hjelle

Steg 1: Animasjons-attributtet

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Bruk av interrupt og Timer i Arduino-program.

Steg 1: Rest etter divisjon

Breakout. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle og Martin Lie

Kanter, kanter, mange mangekanter

Steg 1: Hvordan styre figurer med piltastene

Det 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.

SUPER DISCLAIMER. Vi endrer opplegget litt fra år til år, og vi hører på dere!

INF1510: Bruksorientert design

Sprettende ball Introduksjon Processing PDF

Denne oppgaven innfører funksjoner, og viser hvordan vi kan skrive og teste funksjoner i Ellie.

Hash-funksjoner. Introduksjon. Steg 1: Strekkoder. Eksempel. Skrevet av: Martin Strand

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

Hvor gammel er du? Hvor gammel er du? Del 1: Skrive ut til skjerm. Gjøre selv. Skrevet av: Sindre O. Rasmussen, Kodeklubben Trondheim

Denne oppgaven viser hvordan vi kan bruke musen til å kontrollere elm-programmene våre.

Farger. Introduksjon. Skrevet av: Sigmund Hansen

Verden - Del 2. Intro. Skrevet av: Kine Gjerstad Eide

Start et nytt PXT-prosjekt, for eksempel ved å gå til makecode.microbit.org (

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:

Steg 1: Regneoperasjoner på en klokke

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Steg 1: Bli kjent med spillet

"Hjerneteppe!" er en huskelek hvor du skal huske stadig lengre rekker med bokstaver!

I denne oppgaven skal vi repetere litt Python-syntaks, det er en god blanding av alle tingene du har lært i Python til nå.

Kom i gang med Learn To Mod

Hvor i All Verden? Del 3. Introduksjon. Steg 0: Forrige gang. Sjekkliste. Skrevet av: Geir Arne Hjelle

Steg 1: Tekst på flere linjer

Steg 1: Opprette spillskjerm

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

ARDUINO STUDIELABEN PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER FRITZING. Roger Antonsen INF januar 2012

Soloball. Introduksjon. Steg 1: En roterende katt. Sjekkliste. Skrevet av: Geir Arne Hjelle

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

Sprettball. Introduksjon. Skrevet av: Geir Arne Hjelle

Steg 1: Lag bakken og få den til følge med

La oss begynne enkelt. Vi vil først se hvordan vi kan flytte og snurre på en figur.

Steg 1: Hvordan fungerer spillet?

Verden. Steg 1: Vinduet. Introduksjon

Først må vi få datamaskinen til å velge et tilfeldig ord, så la oss begynne. Lagre programmet ditt og kjør det. Hvilket ord skrives ut?

Steg 1: Klargjør og importerer bilioteker

"Dette skjer når jeg trykker på denne knappen" "Når jeg skriver i dette feltet, ser jeg at det andre forandrer seg"

Snøballkrig. Introduksjon. Steg 1: En snøballkaster. Skrevet av: Geir Arne Hjelle

Modell, meldinger og oppdatering

Lærerveiledning - Flagg

Pseudonym presenterer TEKNISK RAPPORT. Medlemmer: Camilla Christensen, Emma Tvinnereim, Hedda Dyngeland og Maren Berge

En to-timers oppskrift for å bygge og programmere en Arduino-drevet strikk-

Hva er maskinvaren Arduino

Skrevet av: Oversatt fra microbit-micropython.readthedocs.io (

Mattespill Nybegynner Python PDF

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen

Steg 1: Husker du skilpadden?

2. La det bli lys Ditt første Arduino program

Kryptering med vigenere-metoden

Steg 1: Vi starter fra toppen

I denne oppgaven skal vi gi en enkel innføring til klasser og objekter (ordene forklares senere i teksten).

Arduino bilen er en selvgående liten robot. Roboten består av:

Asteroids. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

Arduino med Atmel studio 6.x (6.1)

I denne oppgaven skal vi gjøre enkle operasjoner på tekst, som å endre størrelsen på bokstavene og telle ord.

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

Tell sekunder. Steg 0: Hva er forskjellig fra før? Introduksjon. I denne oppgaven skal vi lage vårt eget spill!

Skilpaddekunst. Introduksjon. Skrevet av: Geir Arne Hjelle

Transkript:

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 Introduksjon La oss se på å få et display til å telle. Steg 1: Finn frem utstyr Til denne oppgaven trenger du 1 Arduino Uno 1 breadboard 2 motstander 1k Ohm (Fargekode: brun-svart-rød-gull) 11 ledninger 1 7-segment display

Steg 2: Utforskning Før vi får displayet til å vise tall, er det nyttig å utforske displayet for å se hvilke pinner som lyser opp hvilken del av displayet. Sjekkliste Motstand fra de to midterste pinnene på displayet. Ledning fra andre enden av motstandene til ground. Ledning fra pin 13 på Arduino til pinnen nederst til høyre på displayet.

int pin = 13; void setup() { pinmode(pin, OUTPUT); void loop() { pinmode(pin, HIGH); pinmode(pin, LOW); Flytt så rundt på ledningen som står i breadboardet for å se hvilke pinner på displayet som får hvilken del av segmentet til å blinke. Steg 3: Få displayet til å telle oppover Før vi skriver kode for å få displayet til å telle oppover, er vi nødt til å lage den fulle kretsen.

Sjekkliste Motstand fra de to midterste pinnene på displayet. Ledning fra andre enden av motstandene til ground. Koble resten av ledningene som vist på bildet over. Skriv kode

void blank_ut_display() { for (int led = 6; led <= 13; ++led) { digitalwrite(led, LOW); void tegn_0() { blank_ut_display(); digitalwrite(7, HIGH); digitalwrite(8, HIGH); digitalwrite(9, HIGH); digitalwrite(12, HIGH); digitalwrite(11, HIGH); digitalwrite(10, HIGH); void tegn_1() { blank_ut_display(); digitalwrite(9, HIGH); digitalwrite(12, HIGH); void tegn_2() { blank_ut_display(); digitalwrite(8, HIGH); digitalwrite(9, HIGH); digitalwrite(6, HIGH); digitalwrite(10, HIGH); digitalwrite(11, HIGH); void tegn_3() { blank_ut_display(); digitalwrite(8, HIGH); digitalwrite(9, HIGH); digitalwrite(6, HIGH); digitalwrite(12, HIGH); digitalwrite(11, HIGH); void setup() { for (int led = 6; led <= 13; ++led) { pinmode(led, OUTPUT); blank_ut_display(); void loop() {

tegn_0(); tegn_1(); tegn_2(); tegn_3(); Om funksjoner I denne oppgaven har vi introdusert void blank_ut_display(), void tegn_0(), void tegn_1(), void tegn_2() og void tegn_3(). Disse kaller vi funksjoner, og er en måte å gruppere kode på. Når vi i void loop() sier tegn_0(); gjør vi et funksjonskall til void tegn_0(), og koden inni den funksjonen kjøres. Hvis du ser på void setup() og void loop() er dette også funksjoner, hvor void setup() kalles ved oppstart av programmet, og void loop() kalles på nytt og på nytt. Utfordringer Klarer du å få displayet til å telle fra 0 til 9? Klarer du å få punktumet til å blinke mens vi teller? Klarer du å få punktumet til å blinke dobbelt så fort som vi teller? Steg 4: Bruk en knapp for å telle oppover Til denne delen trenger du i tillegg

2 ledninger. 1 trykkknapp. Koble opp som vist på bildet over. Eneste forskjellen her er knappen. Endre kode

... int tall = 0; int knapp = 4; void setup() { for (int led = 6; led <= 13; ++led) { pinmode(led, OUTPUT); pinmode(knapp, INPUT_PULLUP); tegn_0(); void loop() { if (digitalread(knapp) == LOW) { tall += 1; switch (tall) { case 1: tegn_1(); break; case 2: tegn_2(); break; case 3: tegn_3(); break; default: tall = 0; tegn_0(); break; delay(300); Om switch La oss introdusere begrepet switch: Denne kan minne om en if, hvor switch (tall) sjekker verdien av tall, og finner riktig verdi i case kallene under. Så når tallet er 2 vil vi gå til case 2: og eksekvere koden under dette. break vil si at vi er ferdige med casen. Dersom en case mangler break, vil koden som er under kjøre. Altså neste case. Dette kalles å falle gjennom, eller fall through på engelsk. Dette er en ganske vanlig feil, så om man faktisk mener at neste case skal kjøres, legger man

ofte på en kommentar: switch (tall) { case 0: kode_her(); // fall gjennom case 1: mer_kode_her(); break; default:... Dersom tall == 0 vil koden i både case 0 og case 1 kjøres, altså faller den gjennom fra case 0 til case 1. Dersom tall == 1 kjøres kun koden i case 1. Dersom tall!= 0 && tall!= 1 kjøres koden i default. Hvis verdien av tall ikke matcher noen case linjene vil vi eksekvere koden i default. Så i vår kode, når tall er 4 vil vi treffe default, sette tall til 0 og så tegne 0. Dette er grunnen til at vi begynner på igjen på 0 etter vi har telt til 3. Utfordringer Klarer du å utvide til å telle til '9'? Klarer du å hindre at vi "går rundt" i tellingen, slik at å trykke på knappen når du allerede er på '9' ikke gjør noe? Klarer du å få punktumet til å lyse når du trykker inn knappen? Klarer du å legge til en ekstra knapp som teller nedover, så én knapp teller oppover, og den andre nedover?

Lisens: CC BY-SA 4.0 (http://creativecommons.org/licenses/by-sa/4.0/deed)