Articles

alt hvad du behøver at vide om Arduino CodeBlog Postcircuito teamMarch 11, 2018

siden lanceringen af Arduino open source-platformen har mærket etableret sig i centrum for et ekspansivt open source-samfund. Arduino-økosystemet består af en mangfoldig kombination af udstyr og programmer. Arduinos alsidighed og dens enkle grænseflade gør det til et førende valg for en bred vifte af brugere over hele verden fra hobbyister, designere og kunstnere til produktprototyper.

Arduino-kortet er tilsluttet en computer via USB, hvor det forbinder med Arduino-udviklingsmiljøet (IDE). Brugeren skriver Arduino-koden i IDE, uploader den derefter til mikrocontrolleren, der udfører koden, interagerer med indgange og udgange såsom sensorer, motorer og lys.

både begyndere og eksperter har adgang til et væld af gratis ressourcer og materialer til at støtte dem. Brugere kan finde oplysninger om, hvordan man opretter deres bord eller endda hvordan man koder på Arduino. Open source bag Arduino har gjort det særligt venligt for nye og erfarne brugere. Der er tusindvis af Arduino kode eksempler tilgængelige online. I dette indlæg tager vi dig gennem nogle grundlæggende principper for kodning for Arduino.

Planlæg dit næste Arduino-Projekt >>

Arduino-Kodningsmiljø og grundlæggende værktøjer

hvilket sprog er Arduino?

Arduino kode er skrevet i C++ med en tilføjelse af særlige metoder og funktioner, som vi vil nævne senere. C++ er et menneskeligt læsbart programmeringssprog. Når du opretter en ‘skitse’ (navnet givet til Arduino kode filer), det behandles og kompileres til maskinsprog.

Arduino IDE

Arduino Integrated Development Environment (IDE) er det vigtigste tekstredigeringsprogram, der bruges til Arduino-programmering. Det er her, du skriver din kode, før du uploader den til det bord, du vil programmere. Arduino kode kaldes skitser.

Bemærk: Det er vigtigt at bruge den nyeste version af Arduino IDE. Fra tid til anden, se efter opdateringer her.

Arduino-kodeeksempel

som du kan se, har IDE et minimalistisk design. Der er kun 5 overskrifter på menulinjen, samt en række knapper nedenunder, som giver dig mulighed for at verificere og uploade dine skitser. I det væsentlige oversætter og kompilerer IDE dine skitser til kode, som Arduino kan forstå. Når din Arduino-kode er kompileret, uploades den derefter til bestyrelsens hukommelse.

alt, hvad brugeren skal gøre for at begynde at kompilere deres skitse, er at trykke på en knap (en guide til dette kan findes nedenfor).

Hvis der er fejl i Arduino-koden, vil en advarselsmeddelelse markere op, der beder brugeren om at foretage ændringer. De fleste nye brugere oplever ofte problemer med at kompilere på grund af Arduinos strenge syntakskrav. Hvis du laver fejl i din tegnsætning, når du bruger Arduino, kompileres koden ikke, og du bliver mødt med en fejlmeddelelse.

seriel skærm og seriel Plotter

Arduino seriel skærm kan åbnes ved at klikke på forstørrelsesglasikonet øverst til højre på IDE eller under Værktøjer. Den serielle skærm bruges primært til at interagere med Arduino bord ved hjælp af computeren, og er et fantastisk værktøj til real-time overvågning og debugging. For at bruge skærmen skal du bruge Serieklassen.

den kode, du henter fra circuito.io har et testafsnit, der hjælper dig med at teste hver komponent ved hjælp af den serielle skærm, som du kan se på skærmbilledet nedenfor:

Arduino seriel plotter er en anden komponent i Arduino IDE, som giver dig mulighed for at generere en realtidsgraf over dine serielle data. Den serielle plotter gør det meget lettere for dig at analysere dine data gennem et visuelt display. Du er i stand til at oprette grafer, grafer med negativ værdi og udføre bølgeformanalyse.

Debugging Arduino kode og udstyr

I modsætning til andre programmeringsplatforme har Arduino ikke en onboard debugger. Brugere kan enten bruge tredjepartsprogrammer, eller de kan bruge den serielle skærm til at udskrive Arduinos aktive processer til overvågning og fejlfinding.

ved at bruge seriel klassen kan du udskrive til seriel skærm, debugging kommentarer og værdier af variabler. På de fleste Arduino-modeller bruger dette serielle stifter 0 og 1, der er tilsluttet USB-porten.

Kodestruktur

biblioteker

i Arduino, ligesom andre førende programmeringsplatforme, er der indbyggede biblioteker, der giver grundlæggende funktionalitet. Derudover er det muligt at importere andre biblioteker og udvide Arduino board kapaciteter og funktioner. Disse biblioteker er groft opdelt i biblioteker, der interagerer med en bestemt komponent eller dem, der implementerer nye funktioner.

for at importere et nyt bibliotek skal du gå til Sketch > Importer bibliotek

derudover øverst på din .ino-fil, skal du bruge ‘# include ‘ til at inkludere eksterne biblioteker. Du kan også oprette brugerdefinerede biblioteker til brug i isolerede skitser.

Pin-definitioner

for at bruge Arduino-stifterne skal du definere, hvilken pin der bruges og dens funktionalitet. En bekvem måde at definere de anvendte stifter på er ved at bruge:

‘#Definer pinName pinNumber’.

funktionaliteten er enten input eller output og defineres ved hjælp af pinMode () – metoden i afsnittet Opsætning.

erklæringer

variabler

Når du bruger Arduino, skal du erklære globale variabler og forekomster, der skal bruges senere. I en nøddeskal giver en variabel dig mulighed for at navngive og gemme en værdi, der skal bruges i fremtiden. For eksempel gemmer du data, der er erhvervet fra en sensor, for at kunne bruge dem senere. For at erklære en variabel definerer du blot dens type, navn og indledende værdi.

det er værd at nævne, at erklære globale variabler ikke er en absolut nødvendighed. Det er dog tilrådeligt, at du erklærer dine variabler for at gøre det nemt at udnytte dine værdier længere nede på linjen.

instanser

i programmeringsprogrammet er en klasse en samling af funktioner og variabler, der holdes sammen et sted. Hver klasse har en særlig funktion kendt som en konstruktør, som bruges til at oprette en forekomst af klassen. For at kunne bruge klassens funktioner skal vi erklære et eksempel på det.

opsætning ()

hver Arduino-skitse skal have en installationsfunktion. Denne funktion definerer den oprindelige tilstand af Arduino ved opstart og kører kun en gang.

Her definerer vi følgende:

  1. Pin-funktionalitet ved hjælp af pinMode-funktionen
  2. Initialiser klasser
  3. Initialiser variabler
  4. Kodelogik

Loop ()

loop-funktionen er også et must for hver Arduino-skitse og udføres, når opsætningen() er afsluttet. Det er den vigtigste funktion, og som navnet antyder, det kører i en løkke igen og igen. Sløjfen beskriver hovedlogikken i dit kredsløb.

for eksempel:

Bemærk: brugen af udtrykket’ void ‘ betyder, at funktionen ikke returnerer nogen værdier.

Sådan programmeres Arduino

den grundlæggende Arduino-kodelogik er en “If – then” – struktur og kan opdeles i 4 blokke:

opsætning-vil normalt blive skrevet i opsætningsafsnittet i Arduino-koden og udfører ting, der kun skal gøres en gang, såsom sensorkalibrering.

Input-i begyndelsen af sløjfen skal du læse indgangene. Disse værdier vil blive brugt som betingelser (“hvis”) såsom omgivende lysaflæsning fra en LDR ved hjælp af analogRead ().

manipulere Data – dette afsnit bruges til at omdanne dataene til en mere bekvem form eller udføre beregninger. For eksempel giver AnalogRead() en læsning på 0-1023, som kan kortlægges til et interval på 0-255, der skal bruges til PVM.(se analogskriv ())

Output – dette afsnit definerer det endelige resultat af logikken (“derefter”) i henhold til de data, der er beregnet i det foregående trin. Når vi ser på vores eksempel på LDR og PVM, skal du kun tænde en LED, når det omgivende lysniveau går under en bestemt tærskel.

Arduino-kodebiblioteker

Biblioteksstruktur

et bibliotek er en mappe bestående af filer med C++ (.CPP) kode filer og C++ (.h) header filer.

den .H fil beskriver strukturen af biblioteket og erklærer alle dens variabler og funktioner.

den .CPP fil holder funktionen implementering.

import af biblioteker

det første du skal gøre er at finde det Bibliotek, du vil bruge, ud af de mange biblioteker, der er tilgængelige online. Når du har hentet den til din computer, skal du bare åbne Arduino IDE og klikke på Sketch > Inkluder Bibliotek > Administrer biblioteker. Du kan derefter vælge det Bibliotek, du vil importere til IDE. Når processen er afsluttet, vil biblioteket være tilgængeligt i sketch-menuen.

i koden leveret af circuito.io i stedet for at tilføje eksterne biblioteker som nævnt før, giver vi dem mappen. I dette tilfælde ved IDE, hvordan man finder dem, når man bruger #include.der er meget at sige om Arduinos muligheder, men det er vigtigt at huske, at platformen består af både programmer og udstyr. De to arbejder sammen for at køre et komplekst operativsystem.

kode , der skal kompileres, skal uploades, der skal køres

i kernen af Arduino, er evnen til at kompilere og køre koden.

efter at have skrevet koden i IDE skal du uploade den til Arduino. Ved at klikke på knappen Upload (højre pilikon), kompilerer koden og uploader den, hvis den bestod kompilering. Når din upload er afsluttet, begynder programmet at køre automatisk.

Du kan også gøre dette trin for trin:

  1. først kompilere koden. For at gøre dette skal du blot klikke på ikonet check (eller klik på sketch > Bekræft / kompilere i menulinjen.

som du kan se, er checkikonet placeret øverst til venstre under “File” – mærket i menusektionen.

Når du har gjort dette, vil Arduino begynde at kompilere. Når den er færdig, modtager du en færdiggørelsesmeddelelse, der ser sådan ud:

som du kan se, fortæller den grønne linje nederst på siden dig, at du er “færdig med at kompilere”. Hvis din kode ikke kører, får du besked i samme afsnit, og den problematiske kode fremhæves til redigering.

når du har samlet din skitse, er det tid til at uploade den.

  1. Vælg den serielle port, som din Arduino i øjeblikket er tilsluttet. For at gøre dette skal du klikke på Værktøjer > seriel port i menuen for at udpege din valgte serielle port (som vist tidligere ovenfor). Du kan derefter uploade den kompilerede skitse.
  2. for at uploade skitsen skal du klikke på upload-ikonet ved siden af krydset. Alternativt kan du gå i menuen og klikke på File> upload. Dine Arduino LED ‘ er vil flimre, når dataene overføres.

Når du er færdig, vil du blive mødt med en færdiggørelsesmeddelelse, der fortæller dig, at Arduino er færdig med at uploade.

opsætning af din IDE

for at tilslutte et Arduino-kort til din computer skal du bruge et USB-kabel. Når du bruger Arduino UNO, overfører USB dataene i programmet direkte til dit bord. USB-kablet bruges til at drive din arduino. Du kan også køre din Arduino gennem en ekstern strømkilde.

før du kan uploade koden, er der nogle indstillinger, du skal konfigurere.

Vælg dit Bord-Du skal angive, hvilket Arduino-bord du skal bruge. Gør dette ved at klikke på Værktøjer >Board> dit bord.

vælg din processor-der er visse kort (for eksempel Arduino pro-mini), som du skal angive, hvilken processormodel du har. Under Værktøjer >processor> vælg den model, du har.

vælg din port-for at vælge den port, som dit bord er tilsluttet, skal du gå til værktøjer > Port > COMS Arduino (dette er Arduinos serielle port).NodeMCU)

nogle kortmodeller er ikke forudinstalleret i Arduino IDE, derfor skal du installere dem, før du kan uploade kode.

for at installere et ikke-indbygget kort som NodeMCU skal du:

  1. Klik på Værktøjer > Boards > Boards Manager
  2. Søg efter det bord, du vil tilføje i søgefeltet, og klik på “Installer”.

nogle bestyrelser kan ikke findes gennem bestyrelsen Manager. I dette tilfælde skal du tilføje dem manuelt. For at gøre dette:

  1. Klik på Filer> Preferences
  2. indsæt URL ‘ en til installationspakken på dit bord i feltet Yderligere Boards Manager. For eksempel, for nodeMCU, tilføj følgende URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Klik på OK
  4. gå til værktøjer > Boards > Boards Manager
  5. Søg efter det bord, du vil tilføje i søgefeltet, og klik på “Installer”.

når du har gennemført dette trin, vil du se de installerede tavler på tavlernes liste under Værktøjer.

Bemærk: processen kan variere lidt for forskellige tavler.

Arduino: en ekstremt alsidig Platform

Arduino er langt mere end bare en simpel mikrocontroller. Med en ekspansiv IDE og et stort udvalg af udstyrskonfigurationer er Arduino virkelig en forskelligartet platform. Mangfoldigheden af dets biblioteker og dets intuitive design gør det til en favorit for både nye brugere og erfarne producenter. Der er tusindvis af ressourcer til at hjælpe dig med at komme i gang med både udstyr og programmer.

Når du fremmer dine færdigheder, kan du stå over for problemer, der kræver fejlfinding, hvilket er et svagt punkt i Arduino IDE. Heldigvis er der flere værktøjer og metoder til at debugge Arduino. I den næste artikel skal vi se på, hvordan man debugger Arduino (og hvordan man tester Arduino-kode) samt hvordan man bruger simulatorer og emulatorer.