Arduino

Fra Kommunikation-IT Holstebro HTX
Skift til: navigering, søgning
Arduino UNO Board Rev. 3

Arduinoen er et italiensk/amerikansk udviklet produkt, som består af et stykke software til PC'en, som stiller et udviklingsmiljø til rådighed med en masse gode programeksempler, kombineret med flere forskellige processor-boards, hvor man kan afvikle den kode man har skrevet.

I denne wiki anvendes primært Arduino UNO Rev. 3, der er et board med en ATMEGA328 processor fra Atmel.

Arduino har mange gode eksempler, men på hjemmesiden fablab.ruc.dk/basic-programming-patterns/ kan man finde mange gode eksempler på standard løsninger på typiske problemer med støder i når man programmerer i arduinos miljø.

Installation af PC-software

Programmet kan downloades fra Arduinos egen hjemmeside http://arduino.cc/en/Main/Software.[1]

Hvis man downloader windows-installeren, så bliver der installeret drivere og selve softwaren i en omgang. Man kan også downloade en version der kan køres lokalt i en mappe uden at installere - det giver nogle ulemper med standard biblioteker, og kan give problemer med derivere til serielporten.

Arduino UNO tilsluttes en USB-port på PC'en, så den får både forsyning, download af programmer og en seriel port ad den vej.

Programmet installerer en del drivere, så Arduinoen kan optræde som en COM-port, men til nogle udgaver af Arduinoen skal der installeres en speciel Arduino Driver.

Opkobling af hardware

Arduino-boardet kobles til PC'ens USB-port med et USB-A-B kabel fra Arduino UNO versionens vedkommende. Andre typer af Arduino kan bruge USB mini tilslutning, men grundlæggende set vil de opføre sig ens, og blive tilsluttet på samme måde.

Når man anvender USB-porten til at programmere med, så kan man samtidigt forsyne Arduino-boardet via USB-porten, der normalt vil kunne levere 5V 0,5A. Dette vil selvfølgelig begrænse hvor meget strøm man kan trække ud af Arduino-boardet, men det vil normalt kunne lade sig gøre at køre en forsøgsopstilling via Arduini-boardets forsyning.

Arduino forsynet via USB-porten

3,3V forsyning

På Arduino-boardet sidder der en lille 3,3V regulator, der burde kunne levere ca. 150 mA, men ifølge specifikationer kun kan levere 50 mA. Denne forsyning kan anvendes til at levet strøm til kredsløb der kun kan arbejde på 3,3V, men selvfølgelig med den begrænsning at der ikke trækkes mere end de 50 mA.

Til digitale signaler tilbage til Arduinoen vil der nomalt ikke være problemer i at levere signaler fra et 3,3V forsynet kredsløb. Her vil niveauerne blive accepteret som høje og lave uden problemer.

Det er anderledes med signaler fra Arduinoen, der arbejder på 5V og dermed leverer signaler på 0/5V. Her vil det være nødvendigt at tilpasse signalerne, enten med en signaltilpasning med en buffer som en CD4050, eller med en serie-modstand og en clamping-diode af f.x. typen BAT85.

Arduino forsynet via en ekstern forsyning

Ekstern forsyning

Når man har færdig-udviklet sit produkt, så kan man få Arduinoen til at fungere som stand-alone, hvor man ikke behøver at forsyne den via USB-porten, men man kan i stedet forsyne den fra f.x. en 9V Adapter, så arduinoen kan fungere uafhængigt af PC'en.

Den regulator der sætter spændingen ned til 5V kan håndtere op til 1A, men på grund af effekten der afsættes i regulatoren, så vil det ikke være muligt at trække meget mere end 250 mA kontinuert, da regulatoren ellers bliver for varm, hvilket kan få den til at lukke termisk ned.

Det eneste man mister i den forbindelse er at man ikke kan monitorere på den serielle port via USB-porten, med mindre man kobler den til via en seriel adapter til de digitale ben 0 og 1.

Tilslutning af Hardware

På Arduinoen er der en række stik, der giver adgang til at tilslutte eksterne kredsløb til arduinoen[2]. Der er forsyninger, og de forskellige porte.

Markering Funktion Beskrivelse
GND Stel-forbindelse Den 0V som alle andre spændinger forholder sig til (3 stikforbindelse)
5V Forsyning Den forsyning der er forbundet til PIC'en - kommer fra USB-porten, hvis der ikke tilsluttes en ekstern forsyning
IOREF Forsyning Forbundet direkte til +5V
Vin Ekstern forsyning 9-12V ureguleret forsyning, så arduinoen kan fungere uden USB-porten tilsluttet - kan trækkes ud på dette stik
3,3V Ekstra forsyning 3,3V forsyning der kan anvendes til kredsløb der ikke tåler 5V
Reset Reset Mulighed for eksternt at resette (nulstille) arduinoen ved at koble benete til stel
AREF Analog reference Mulighed for at ændre det analoge konverteringområde
A0-A5 Analog indgange 6 indgange, der kan måle analoge spændinger med en 10 bit ADC (0-1023). Som standard 0-5V måling
0-1 Digital IO To specielle IO, der normalt anvendes til den serielle port (kommer typisk fra USB-porten)
2-13 Digitale IO Generelle IO-ben, hvor 3, 5, 6, 9, 10 og 11 kan anvendes som PWM output
SDA Seriel Data Seriel forbindelse sammen med SCL, der kan arbejde med 2-wire seriel. anvender samme ben som A4 og A5
SCL Seriel Clock Seriel forbindelse sammen med SDA

Fra Arduino forumet stammer denne oversigt[3], der også kan være med til at give et godt overblik, både over Arduinoen, og over ATMega328 kredsen, der er mikrocontrolleren der udfører arbejdet i Arduinoen.

ARDUINO V2.png

Referencer

  1. Arduino PC-software Download page
  2. Diagram over Arduino UNO Rev. 3
  3. Oversigt over forskellige Arduino versioner