Arduino: Forskelle mellem versioner

Fra HTX Arduino
Spring til navigation Spring til søgning
htx_>Bar
No edit summary
 
m (1 version importeret)
 
(2 mellemliggende versioner af 2 andre brugere ikke vist)
Linje 1: Linje 1:
{|
#redirect [[:kategori:arduino]]
|-
|valign="top"|[[Fil:arduino-UNO.jpg|Thumb|right|300px|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 [http://fablab.ruc.dk/basic-programming-patterns/ 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ø.
 
__TOC__
|width='50px'|
|width='250px'|{{#categorytree:Arduino|mode=pages}}
|}
==Installation af PC-software==
Programmet kan downloades fra Arduinos egen hjemmeside http://arduino.cc/en/Main/Software.<ref>[http://arduino.cc/en/Main/Software Arduino PC-software Download page]</ref>
 
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 [[Arduino Seriel|seriel port]] ad den vej.
 
Programmet installerer en del drivere, så Arduinoen kan optræde som en [[Seriel port|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.
 
[[Fil:Arduino_usb.jpg|700px|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 levere 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 [http://htx-elev.ucholstebro.dk/el/komponent/CD4050.pdf CD4050], eller med en serie-modstand og en clamping-diode af f.x. typen [http://htx-elev.ucholstebro.dk/el/komponent/BAT85.pdf BAT85].
 
[[Fil:Arduino_ekstern.jpg|700px|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_port#Direkte_seriel_port|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<ref>[http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf Diagram over Arduino UNO Rev. 3]</ref>. Der er forsyninger, og de forskellige porte.
 
{|class="wikitable"
|-
!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 benet til stel
|-
|AREF ||[[Analog reference]] ||Mulighed for at ændre det analoge konverteringsområde
|-
|A0-A5 ||[[Analog indgang]]e ||6 indgange, der kan måle analoge spændinger med en 10 bit ADC (0-1023). Som standard 0-5V måling.
Kan også anvendes som digitale I/O - A4 og A5 fungerer som SDA og SCL til [[I2C]]
|-
|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<ref>[http://forum.arduino.cc/index.php/topic,146315.0.html Oversigt over forskellige Arduino versioner]</ref>, 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.
 
[[fil:ARDUINO_V2.png]]
 
===Mangel på I/O-ben===
Det umiddelbare valg kunne være at gå op i en større processor med flere ben, men det vil normalt være en dyrere løsning.
 
Hvis man kodemæssigt kan holde sig i en Arduino, så vil det være en fordel at anvende en [[Arduino IO Expander]], der kan give 8 eller 16 ekstra digitale I/O-ben ved at bruge [[I2C]]. Det kan relativt smertefrit give 50-60 ekstra ben.
 
Et alternativ, hvis koden også volder problemer, er at gå op i en [[MEGA2560]], der har 54 digitale I/O og 16 analoge input, samt 256kB programhukommelse.
 
==Referencer==
<references/>
[[Kategori:Kategori]]

Nuværende version fra 25. okt. 2022, 21:07

Omdiriger til: