Maskinvare (hardware) til Arduino
I denne artikkelen skal vi bruke en Arduino UNO R3 som eksempel. Dette er den vanligste Arduinomodellen, og den er basert på mikrokontrolleren ATmega328P.
Arduino UNO R3 har 14 digitale input/output-pinner. Seks av disse pinnene kan styre ulike sensorer og aktuatorer. De kan for eksempel styre om en servomoter skal bevege seg, om lysdioder skal tenne eller om en summer (en buzzer) skal gi lyd.
Arduinoen har i tillegg seks analoge innganger, samt strøm og jording som kan brukes til å drive kretser vi skal kople.
Arduinoen opererer på 5 volt og kan drives ved at vi kopler den til pc-en via USB. Det er også mulig å kople Arduinoen til en DC-adapter eller til et batteri via DC-plugg, eller via Vin- og GND-pins. Anbefalt spenning er mellom 8 og 12 volt.
Arduinoen programmeres ved at vi kopler den til pc-en via USB og programmerer gjennom en IDE, et programmeringsverktøy tilpassa de enkelte mikrokontrollerne. For Arduino benyttes verktøyet Arduino IDE.
Når du jobber med prototyping og bygging av elektroniske prosjekter, må du nærmest forvente at ett eller annet kommer til å gå galt. Men skulle du være uheldig, har du mulighet til å bytte ut enkeltkomponenter på mikrokontrolleren. Disse kan koste fra et par titalls kroner og oppover om du kjøper dem på nettet.
De ulike komponentene
En mikrokontroller består av ei printplate der mange elektroniske komponenter er montert i en bestemt struktur. Vi beskriver her de viktigste komponentene.
Sentral prosessorenhet (CPU)
Dette er "hjernen" til mikrokontrolleren. Den utfører beregninger og styrer operasjonene til enheten. CPU-en kan være basert på forskjellige typer arkitektur, for eksempel ARM, AVR eller PIC. Med ulik arkitektur mener vi at komponentene og datasignalene i CPU-en er strukturert ulikt.
Minne
Mikrokontrolleren har tre typer minne:
Programmerbart minne (Flash eller EEPROM) er stedet der programkoden lagres. Denne koden kan programmeres eller endres av brukeren.
RAM (Random Access Memory, arbeidsminne) brukes for midlertidig lagring av data og variabler under kjøretid. Data i RAM slettes vanligvis når strømmen slås av.
Registre er små minnelokasjoner i CPU-en som gir rask tilgang til data og instruksjoner.
Inngangs- og utgangsporter (I/O-porter)
Disse portene kopler mikrokontrolleren til omverdenen ved å tillate inngang fra sensorer og utgang til aktuatorer. Innganger og utganger kan være digitale eller analoge.
Klokkegenerator
Klokkegeneratoren produserer en tidsbase (et klokkesignal) som synkroniserer operasjonene til mikrokontrolleren. Dette er nødvendig for å kontrollere timing og utførelse av instruksjoner.
Seriekommunikasjonsgrensesnitt
Dette grensesnittet gir mikrokontrolleren muligheten til å kommunisere med andre enheter via serielle protokoller som UART (seriell kommunikasjon), SPI (seriell perifer kommunikasjon) eller I2C (Inter-Integrated Circuit).
Analog-digital-omformer (ADC) og digital-analog-omformer (DAC)
En ADC lar mikrokontrolleren lese analoge sensorverdier som temperatur, lysstyrke etc. Signalene omformes til les- og skrivbare signaler som mikrokontrolleren kan behandle i programmet og kommunisere til omverdenen.
En DAC lar mikrokontrolleren generere analoge utgangssignaler.
Energistyring
Energistyring skjer gjennom spenningsregulatorer som sørger for at mikrokontrolleren og tilkopla utstyr får riktig spenning, og gjennom strømsparingsmekanismer som optimaliserer strømforbruket når enheten er i hvilemodus.
Kontrollenheter og periferienheter
Til denne typen enheter hører timere, tellere, PWM-kontrollere (pulsbreddemodulasjons-kontrollere), motorstyringsenheter og andre spesialiserte kretser som gir ekstra funksjonalitet til mikrokontrolleren.
En Arduino kan komme i mange forskjellige typer og størrelser. To eksempler er Arduino Nano og Arduino Mega 2560.
Arduino Nano bruker den samme prosessoren som Arduino UNO. Den eneste forskjellen er at Arduino Nano er mindre i størrelse og har færre tilkoblinger og mindre minnekapasitet.
Arduino Mega 2560 er designa for å brukes på større og mer komplekse prosjekter. Denne Arduino-modellen har hele 54 digitale og 16 analoge pinner, samt større lagringskapasitet.
En Arduino kan ikke gjøre så mye uten at du kopler til andre komponenter som gir den informasjon, eller som utfører arbeidsoperasjoner etter instruks fra den.
Breadboard (koplingsbrettt)
Breadboard er det engelske ordet for koplingsbrett. Orda brukes om hverandre av fagfolk. Det fins mange ulike typer koplingsbrett, men de mest vanlige har rader med koplingspunkter som er spesialtilpassa til ferdiglaga ledninger.
I tillegg har brettet rader for spenning og jording merka med og
Ledninger
For å kople til eksterne enheter på en Arduino eller kople den mot et koplingsbrett er det best å bruke spesialtilpassa ledninger.
Disse ledningene har ulike lengder og farger, og de har spesialtilpassa koplingsstifter på hver ende. De kommer ofte sammenlimt, men det er enkelt å ta dem fra hverandre.
Sensorer
Komponenter som gir informasjon til en mikrokontroller, kalles sensorer. Sensorer kan for eksempel gi mikrokontrolleren beskjed om hva temperaturen er, hvor fuktig det er, hvor høy lyd det er i omgivelsene, eller hvor lyst det er. Sensorer kan også registrere bevegelse.
Ordet sensor henger sammen med det latinske ordet sensus, som betyr "følelse, sanseinntrykk". Sensorene er så å si følerne til mikrokontrolleren.
Aktuatorer
Komponenter som gjennomfører en arbeidsoperasjon etter instruks fra mikrokontrolleren, kalles aktuatorer. Aktuatorer kan for eksempel være enkle LED-dioder, motorer, høyttalere, skjermer og displayer.
Begrepet aktuator er avleda av det engelske verbet to actuate, som betyr "å aktivere, å sette i gang". Og actuate henger sammen med latinsk actio, "handling".
Resistorer
En mikrokontroller kan skades hvis det oppstår kortslutning i ledninger, kontaktpunkter eller tilkopla komponenter. I tillegg skal mikrokontrolleren ofte registrere veldig svake strømsignaler, og da kan det lett bli feilregistreringer hvis der er strømlekkasje i en komponent eller på koplingsbrettet. For å sikre at mikrokontrolleren ikke tar skade eller får feilavlesninger, benytter vi resistorer (motstander) i strømkretsen.
Resistorene leveres med mange ulike nivåer av elektrisk motstand, men for bruk på slike koplingsbrett sammen med en mikrokontroller er resistorer med en motstand mellom 100 og 1000 (1k) Ohm mest vanlig, og motstander på 220 og 330 Ohm vil være godt egna.
Resistorene har fargemerking som angir deres elektriske motstand.