Introduksjon til Arduino
Hva er en mikrokontroller?
Du er omgitt av dusinvis av mikrokontrollere: de fins innebygd i for eksempel timere, termostater, leker, fjernkontroller, mikrobølgeovner og tannbørster. De utfører bare én spesifikk oppgave, og om du knapt legger merke til dem, er det fordi de gjør jobben bra. Og det gjør de veldig ofte!
Mikrokontrollere er små datamaskiner som er programmert til å registrere og kontrollere aktivitet ved hjelp av sensorer og aktuatorer. De mottar signaler fra omverdenen gjennom sensorer, behandler dataene og aktiverer deretter de tilkopla arbeidsenhetene sine, aktuatorene.
Hva gjør sensorer og aktuatorer?
Sensorer lytter til den fysiske verden. De omdanner energi som du avgir når du trykker på knapper eller vifter med armene eller roper, til elektriske signaler. Det fins mange ulike typer sensorer.
Aktuatorer tar grep i den fysiske verden. De konverterer elektrisk energi tilbake til fysisk energi, for eksempel til lys, varme eller bevegelse.
Mikrokontrollere lytter til sensorer og snakker med aktuatorer. Hva nøyaktig mikrokontrolleren skal gjøre, bestemmer du gjennom programmet du skriver.
Du trenger ingen forhåndskunnskaper
Denne øvingsrekka skal være kortfatta og oversiktlig. Derfor har vi valgt å holde bakgrunnsmaterialet om programmering og elektronikk på et minimum.
Du trenger ingen spesielle programmeringskunnskaper for å kunne gjennomføre prosjektene i øvingsrekka, men du må bruke ferdigheter du sannsynligvis allerede har, for å gi prosjektene litt "kjøtt på beinet". I ett av prosjektene vi foreslår, skal du for eksempel lage en måler for å fortelle folk om du er opptatt eller ikke. Da skal du lage ei pil, feste den til en motor og legge pil og motor i en boks med en knott. I et annet prosjekt setter du noen lys og en vippebryter på ei pappramme for å lage et timeglass.
Arduino kan gjøre prosjektene dine responsive og fungerende, men bare du kan gjøre dem vakre. Vi kommer med noen forslag underveis til hvordan du kan få til ekstra flotte produkter. Hvis du gjerne vil vite mer om programmering og komponenter, finner du mye godt fagstoff på NDLA og på Arduino sine hjemmesider.
Bli kjent med komponentene

En Arduino er kun hjernen i et system. Den kan ikke utføre noen funksjoner uten at den har sensorer og aktuatorer tilkopla, på samme måten som vi mennesker har våre egne sensorer, nemlig øyne, ører, nese osv., som sender signaler til hjernen. I hjernen blir signalene bearbeida og får våre aktuatorer, for eksempel hender, fingre, munn eller bein, til å gjøre noe. Vi skal nå se på de viktigste komponentene som du vil bruke i denne øvingsrekka.
Arduino Uno
Arduino Uno er utviklingskortet som vil være kjernen i prosjektene dine. Den er en enkel datamaskin, men den trenger både programvare og tilkopla komponenter for å kunne utføre et arbeid. Du kommer til å bygge kretser og grensesnitt for interaksjon og fortelle mikrokontrolleren hvordan den skal kommunisere med andre komponenter.
Breadboard (koplingsbrett)
Breadboard eller koplingsbrett bruker du til å bygge elektroniske kretser. Brettet er et patchpanel med hullrader som lar deg kople sammen ledninger og komponenter. Det fins versjoner som krever lodding, men i denne øvingsrekka benytter vi den loddefrie typen.
Batteritilkopling
Du kan gi Arduinoen spenning ved at du kopler et 9V-batteri til strømkabler som du så kopler til koplingsbrettet eller til Arduinoen.
Kondensator
Kondensatorer lagrer og frigjør elektrisk energi i en krets. Når spenninga i kretsen er høyere enn spenninga i kondensatoren, tar kondensatoren opp strøm og lagrer den. Når spenninga i kretsen er lavere enn spenninga i kondensatoren, frigjøres den lagra ladninga gradvis. Kondensatorer plasseres ofte over (= mellom) strømførende ledning og jord nær en sensor eller motor for å jevne ut spenningssvingninger.
En kondensator fungerer altså akkurat som et batteri: Den lagrer energi som den kan slippe ut senere. Men mens batterier slipper ut lagra energi sakte og over lang tid, kan en kondensator frigjøre energien sin svært raskt. Dette gjør den ideell for bruk i situasjoner der du trenger en kort, kraftig strøm.
DC-motor
En DC-motor omdanner elektrisk energi til mekanisk energi når ledningene får tilført elektrisitet. Inne i motoren er det spoler av ledning som blir magnetisert når strømmen flyter gjennom dem. Disse magnetfelta tiltrekker og frastøter magneter og får akselen til å spinne. Hvis retninga på elektrisiteten blir reversert, snurrer motoren i motsatt retning.
Dioder

Dioder sikrer at elektrisitet bare flyter i éi retning. Dette er nyttig når du har en motor eller annen høy strøm- eller spenningsbelastning i kretsen. Fordi dioder er polariserte, er retninga som de er plassert i, vesentlig. Plassert én vei lar de strømmen passere gjennom, plassert den andre veien blokkerer de den.
Anodesida koples vanligvis til punktet med høyere energi i kretsen, mens katoden vanligvis koples til punktet med lavere energi eller til jord. Katoden bruker å være merka med et band på den ene sida av komponentkroppen.
Lysfilter (rødt, grønt, blått)
Lysfiltere filtrerer ut forskjellige bølgelengder av lys. Når de brukes sammen med fotomotstander, sørger de for at sensoren bare reagerer på lysmengden i den filtrerte fargen.
Lysdioder (LED)
Lysdioder lyser når elektrisitet passerer gjennom dem. Som ved alle dioder strømmer elektrisitet i bare éi retning. Du er sannsynligvis kjent med lysdioder som indikatorer på ei rekke elektroniske enheter. Det er anoden som vanligvis koples til strøm. Anoden bruker å være det lengste beinet, mens katoden er det korteste beinet. Det fins lysdioder som avgir én spesifikk farge, og lysdioder som kan lage alle mulige farger (såkalte RGB-lysdioder).

H-bru (H-bridge, motorkontroller)
Ei H-bru er en krets som lar deg kontrollere polariteten til spenninga som påføres en last (vanligvis en motor). H-brua du skal bruke i denne øvingsrekka, er bygd inn i en integrert krets (IC), men H-bruer kan også settes sammen av separate komponenter.
Jumper-ledninger
Jumper-ledninger bruker du til å kople komponenter til hverandre på koplingsbrettet og til Arduinoen.
LCD-skjerm
En LCD-skjerm (engelsk navn: Liquid Crystal Display) er en type alfanumerisk eller grafisk skjerm basert på flytende krystaller. LCD-skjermer er tilgjengelige i mange størrelser, former og stiler. Displayet du skal bruke i denne øvingsrekka, har 2 rader med 16 tegn hver. Derfor kalles det et 16 x 2-display.
Hann-koplingsstifter
Denne typen stifter eller pinner passer inn i hunn-stikkontakter, for eksempel de som fins på et koplingsbrett. De gjør det enklere å kople sammen komponenter og ledninger.
Optokopler
En optokopler er, enkelt forklart, et lysstyrt relé. Den lar deg kople til to kretser som ikke deler ei felles strømforsyning. Internt er det en liten LED som, når den lyser, får en fotoreseptor inni til å lukke en intern bryter. Når du legger spenning på pluss-pinnen, lyser LED-en, og den interne bryteren lukkes. De to utgangene erstatter en bryter i den andre kretsen.
Piezo
En piezo er en elektrisk komponent som kan brukes til å oppdage vibrasjoner, trykk og bevegelser, og til å skape støy. Den fungerer altså både som en høyttaler og som en mikrofon.
Piezoelektriske komponenter kan også fungere som lydgeneratorer. Når ei elektrisk spenning påføres, deformeres materialet, og denne mekaniske bevegelsen kan produsere lyd. Dette prinsippet brukes i piezoelektriske buzzere, som skaper lyd når de blir drevet av et elektrisk signal.
Fotoresistor (fotomotstand)
En fotoresistor er en variabel resistor som endrer motstandsstyrke basert på mengden lys som faller på sensoren. Andre navn for fotoresistor er fotocelle og lysavhengig motstand.
Potensiometer

Et potensiometer er en variabel motstand med tre pinner. To av pinnene er kopla til endene av en fast motstand. Midtpinnen (glideren) beveger seg over motstanden og deler den i to halvdeler.
Når de ytre sidene av potensiometeret er kopla til spenning og jord, vil det midterste beinet gi forskjellen i spenning når du dreier på knappen.
Komponenten omtales også ofte som pot-meter.
Trykknapp
Trykknapper er fjærbelasta brytere som benyttes for å gi på/av-signaler. De slutter kretsen når du trykker dem inn, og bryter kretsen når du slipper dem.
Resistor (Motstand)
Resistorer reduserer strømmen av elektrisk energi i en krets og endrer på denne måten spenninga og strømmen (Ohms lov). Motstandsverdier måles i ohm (symbol for ohm: det greske omega-tegnet Ω). Motstander er påført farga striper som indikerer motstandsevnen deres.
Servomotor

En servomotor er en type girmotor som kan brukes som en aktuator for en mikrokontroller.
Servomotoren kan bare rotere 180 grader, og den styres gjennom elektriske pulser fra Arduinoen. Disse pulsene forteller motoren hvilken posisjon mellom 0 og 180 grader den skal bevege seg til.
Temperatursensor
Temperatursensorer endrer spenningsutgangen når temperaturen i komponentkroppen endrer seg. De ytre beina koples til strøm og jord, og spenninga på senterpinnen endres alt etter om det blir varmere eller kjøligere.
Tiltsensor
En tiltsensor er en type bryter som vil åpne eller lukke, avhengig av orienteringa. Vanligvis er tiltsensore hule sylindre med ei metallkule inni som vil lage en forbindelse over to ledninger når den vippes i riktig retning.
Transistor
En transistor er en trebeint elektronikkomponent som kan fungere som en elektronisk bryter (relé). Transistorer kan brukes til å kontrollere høystrøm- eller høyspentkomponenter, for eksempel motorer.
En av pinnene koples til jord, en koples til komponenten som kontrolleres. Den tredje koples til Arduinoen. Når transistoren mottar spenning på pinnen som er kopla til en Arduino, lukker den kretsen mellom jord og den andre komponenten.
USB-kabel
En USB-kabel lar deg kople din Arduino Uno til datamaskinen slik at du kan få programmert den. Kabelen gir også strøm til Arduinoen for de fleste prosjektene i settet.
De viktigste komponentene til en Arduino
En Arduino-mikroprosessor er satt sammen av mange komponenter og er en liten datamaskin. Vi forklarer her de ti viktigste komponentene du trenger å kjenne til når du jobber med denne øvingsrekka.
Illustrasjonen under viser hvor på Arduino-brettet de ulike komponentene er plassert. Tallmarkeringene i illustrasjonen viser til rekkefølgen komponentene presenteres i.
1: Strømkontakt
Arduinoen får strøm via strømkontakten når den ikke er kopla til en USB-port for strøm. Kontakten bruker spenninger mellom 7 og 12 volt.
2: USB-port
USB-porten bruker du til å gi strøm til Arduinoen, laste opp skissene til Arduinoen og kommunisere med Arduino-programmet via kommandoen Serial.println() osv.
3: TX- og RX-lysdioder
Disse lysdiodene indikerer kommunikasjon mellom Arduinoen og datamaskinen. De skal flimre raskt under programopplasting og seriell kommunikasjon og er nyttige ved feilsøking.
4: Tilbakestillknapp (Reset-knapp)
Denne knappen tilbakestiller mikrokontrolleren og starter den på nytt.
5: Digitale pinner
Disse pinnene brukes med kommandoene digitalRead(), digitalWrite() og analogWrite(). Det er viktig å vite at kommandoen analogWrite() bare fungerer på pinnene med PWM-symbolet.
6: Pin 13 LED
Dette er den eneste innebygde aktuatoren i en Arduino Uno. I tillegg til å være et praktisk mål for første blinkskisse er denne LED-en veldig nyttig ved feilsøking.
7: ATMega mikrokontroller
Denne mikrokontrolleren er hjernen til din Arduino Uno.
8: Power LED
Når denne LED-en lyser, indikerer det at Arduinoen er kopla til spenning. Denne funksjonen er nyttig for feilsøking.
9: Analog inn
Dette er pinner som du bruker ved hjelp av kommandoen analogRead(). Pinnene leser variable verdier, altså ikke bare verdiene av og på.
10: GND- og 5V-pinner
Disse pinnene bruker du til å gi +5V-strøm og jord til kretsene dine.
Annet nødvendig utstyr
I tillegg til Arduino, koplingsbrett, sensorer og aktuatorer kan det være nødvendig med vanlig elektroutstyr og oppbevaringsbokser om du skal få mest mulig ut av denne øvingsrekka. Eksempler på utstyr kan være
9V-batteri
liten lyskilde som fungerer som lommelykt
ledende materiale, for eksempel aluminiumfolie eller kobbernett
papirsaks
en gammel CD eller DVD
en boks du kan lage hull i
grunnleggende verktøy, for eksempel en skrutrekker
9V-batteridrevet komponent (enhver batteridrevet elektronisk enhet med minst én bryter eller trykknapp som du er villig til å demontere, vil gjøre jobben).
loddebolt og loddetinn (kun nødvendig i prosjekt 15)
Programvare
Før du kan begynne å kontrollere verden rundt deg, må du laste ned programvaren Arduino IDE slik at du kan overføre programmet ditt fra datamaskinen til mikrokontrolleren.
Arduino IDE lar deg skrive programmer og laste dem opp til din Arduino. Du kan laste ned den nyeste versjonen av IDE fra nettstedet til Arduino.
Ved nedlasting må du ha Arduino-kortet og USB-kabelen i nærheten av datamaskinen og følge de riktige prosedyrene for Windows og Mac OS X.
Kommunikasjon med Arduinoen
Når du har installert Arduino IDE og sørga for at datamaskinen din kan snakke med brettet, er neste trinn å sørge for at du kan laste opp et program.
Dobbeltklikk på Arduino-applikasjonen for å åpne den. Hvis IDE-en laster på feil språk, kan du endre dette i applikasjonsinnstillingene. Se etter "Language Support" på denne sida med detaljinformasjon om hvordan en Arduino fungerer.
Naviger til LED-blink-eksempelskissa (Arduino-programmer kalles skisser). Den ligger under File > Examples > 01.Basics > Blink
Et vindu med litt tekst i skal da ha åpna seg. La vinduet være foreløpig, og velg tavla di under Tools > Board-menyen.
Velg serieporten som Arduinoen din er kopla til, fra menyen Tools > Port. På Windows er det sannsynligvis kommunikasjonsporten (COM) med det høyeste tallet. Gjetter du feil, kan du bare prøve neste serieport. Du kan også kople fra Arduino-kortet ditt og åpne menyen på nytt; oppføringa som da har forsvunnet, bør være Arduino-brettet. Kople da til kortet igjen og velg denne serielle porten. Bruker du mac, bør porten ha et navn med sekvensen /dev/tty.usbmodem i seg. Det er vanligvis to slike porter; velg én av dem.
For å laste opp Blink-skissa til din Arduino trykker du på UPLOAD-bryteren øverst til venstre i vinduet.
Du bør se en stolpe som indikerer framdriften for opplastinga nær det nedre venstre hjørnet av Arduino IDE, og lysa merka TX og RX på Arduino-kortet vil blinke. Hvis opplastinga er vellykka, vil IDE vise meldinga "DONE UPLOADING".
Noen sekunder etter at opplastinga er fullført, skal du se at den gule LED-en med en L ved siden av begynner å blinke. I så fall: Gratulerer! Du har programmert Arduinoen til å blinke med innebygd LED.
Noen ganger er en helt ny Arduino allerede programmert med Blink-skissa. Da endrer du forsinkelsestida ved å endre tallet i parentes til 100. Så laster du opp Blink-skissa på nytt. Nå skal lysdioden blinke mye raskere, og du vet at du har kontroll.
Du trenger forresten ikke lagre endringene du har gjort.















