Articles

allt du behöver veta om Arduino CodeBlog Postcircuito teamMarch 11, 2018

sedan lanseringen av Arduino open source-plattformen har varumärket etablerat sig i mitten av en expansiv öppen källkodsgemenskap. Arduino ekosystemet består av en mångsidig kombination av hårdvara och mjukvara. Arduino mångsidighet och dess enkla gränssnitt gör det till ett ledande val för ett brett spektrum av användare runt om i världen från hobbyister, designers och artister till produktprototyper.

Arduino-kortet är anslutet till en dator via USB, där den ansluter till Arduino development environment (IDE). Användaren skriver Arduino-koden i IDE och laddar sedan upp den till mikrokontroller som kör koden, interagerar med ingångar och utgångar som sensorer, motorer och lampor.både nybörjare och experter har tillgång till en mängd gratis resurser och material för att stödja dem. Användare kan leta upp information om hur man ställer in sin styrelse eller ens hur man kodar på Arduino. Den öppna källan bakom Arduino har gjort den särskilt vänlig för nya och erfarna användare. Det finns tusentals Arduino kodexempel tillgängliga online. I det här inlägget tar vi dig igenom några grundläggande principer för kodning för Arduino.

planera ditt nästa Arduino-Projekt >>

Arduino kodningsmiljö och grundläggande verktyg

vilket språk är Arduino?

Arduino-koden är skriven i C++ med tillägg av speciella metoder och funktioner, som vi kommer att nämna senare. C++ är ett mänskligt läsbart programmeringsspråk. När du skapar en skiss (namnet på Arduino-kodfiler) bearbetas den och kompileras till maskinspråk.

Arduino IDE

Arduino Integrated Development Environment (IDE) är det huvudsakliga textredigeringsprogrammet som används för Arduino-programmering. Det är där du skriver upp din kod innan du laddar upp den till styrelsen du vill programmera. Arduino kod kallas skisser.

Obs: Det är viktigt att använda den senaste versionen av Arduino IDE. Från tid till annan, kolla efter uppdateringar här.

Arduino kodexempel

som du kan se har IDE en minimalistisk design. Det finns bara 5 rubriker i menyraden, samt en serie knappar under som låter dig verifiera och ladda upp dina skisser. I huvudsak översätter och sammanställer IDE dina skisser till kod som Arduino kan förstå. När din Arduino-kod har sammanställts laddas den sedan upp till styrelsens minne.

allt användaren behöver göra för att börja sammanställa sin skiss är att trycka på en knapp (en guide till detta finns nedan).

om det finns några fel i Arduino-koden kommer ett varningsmeddelande att flagga upp och uppmana användaren att göra ändringar. De flesta nya användare upplever ofta svårigheter med att sammanställa på grund av Arduinos stränga syntaxkrav. Om du gör några misstag i skiljetecken när du använder Arduino kommer koden inte att kompileras och du kommer att mötas med ett felmeddelande.

seriell Monitor och seriell Plotter

Arduino seriell monitor kan öppnas genom att klicka på förstoringsglasikonen längst upp till höger på IDE eller under Verktyg. Seriell bildskärm används främst för att interagera med Arduino-kortet med hjälp av datorn och är ett utmärkt verktyg för övervakning och felsökning i realtid. För att kunna använda bildskärmen måste du använda serieklassen.

koden du laddar ner från circuito.io har ett testavsnitt som hjälper dig att testa varje komponent med seriell bildskärm, som du kan se på skärmdumpen nedan:

Arduino serial plotter är en annan komponent i Arduino IDE, som låter dig generera en realtidsgraf över dina seriella data. Serieplotteren gör det mycket lättare för dig att analysera dina data via en visuell bildskärm. Du kan skapa grafer, negativa värdegrafer och genomföra vågformsanalys.

felsökning av Arduino-kod och hårdvara

Till skillnad från andra mjukvaruprogrammeringsplattformar har Arduino ingen inbyggd debugger. Användare kan antingen använda programvara från tredje part, eller de kan använda seriell bildskärm för att skriva ut Arduinos aktiva processer för övervakning och felsökning.

genom att använda serieklassen kan du skriva ut till seriell bildskärm, felsöka kommentarer och värden på variabler. På de flesta Arduino-modeller använder detta seriella stift 0 och 1 som är anslutna till USB-porten.

kodstruktur

Bibliotek

i Arduino, precis som andra ledande programmeringsplattformar, finns det inbyggda bibliotek som ger grundläggande funktionalitet. Dessutom är det möjligt att importera andra bibliotek och utöka Arduino board funktioner och funktioner. Dessa bibliotek är grovt uppdelade i bibliotek som interagerar med en specifik komponent eller de som implementerar nya funktioner.

för att importera ett nytt bibliotek måste du gå till Sketch > importera Bibliotek

dessutom högst upp på din .ino-fil, du måste använda ’# include ’ för att inkludera externa bibliotek. Du kan också skapa anpassade bibliotek att använda i isolerade skisser.

Pin Definitions

För att använda Arduino-stiften måste du definiera vilken pin som används och dess funktionalitet. Ett bekvämt sätt att definiera de använda stiften är att använda:

’#define pinName pinNumber’.

funktionen är antingen input eller output och definieras med hjälp av pinMode () – metoden i avsnittet setup.

deklarationer

variabler

När du använder Arduino måste du deklarera globala variabler och instanser som ska användas senare. I ett nötskal låter en variabel dig namnge och lagra ett värde som ska användas i framtiden. Till exempel skulle du lagra data som förvärvats från en sensor för att kunna använda den senare. För att deklarera en variabel definierar du helt enkelt dess typ, namn och initialvärde.

det är värt att nämna att deklarera globala variabler inte är en absolut nödvändighet. Det är dock tillrådligt att du deklarerar dina variabler för att göra det enkelt att använda dina värden längre ner på linjen.

instanser

i mjukvaruprogrammering är en klass en samling funktioner och variabler som hålls ihop på ett ställe. Varje klass har en speciell funktion som kallas konstruktör, som används för att skapa en instans av klassen. För att kunna använda klassens funktioner måste vi deklarera en instans för den.

Setup ()

varje Arduino-skiss måste ha en installationsfunktion. Denna funktion definierar Arduinos initiala tillstånd vid start och körs bara en gång.

här definierar vi följande:

  1. Pin-funktionalitet med pinMode-funktionen
  2. initialize classes
  3. Initialize variables
  4. Code logic

Loop ()

loop-funktionen är också ett måste för varje Arduino-skiss och körs när installationen() är klar. Det är huvudfunktionen och som namnet antyder körs den i en slinga om och om igen. Slingan beskriver huvudlogiken i din krets.

till exempel:

Obs: användningen av termen ’void’ betyder att funktionen inte returnerar några värden.

hur man programmerar Arduino

den grundläggande Arduino-kodlogiken är en” if-then ” – struktur och kan delas in i 4 block:

Setup-kommer vanligtvis att skrivas i inställningsdelen av Arduino-koden och utför saker som bara behöver göras en gång, till exempel sensorkalibrering.

ingång – i början av slingan läser du ingångarna. Dessa värden kommer att användas som villkor (”Om”), såsom omgivande ljusavläsning från en LDR med analogRead ().

manipulera Data-det här avsnittet används för att omvandla data till en mer bekväm form eller utföra beräkningar. Till exempel ger AnalogRead() en avläsning av 0-1023 som kan mappas till ett intervall på 0-255 som ska användas för PWM.(se analogWrite ())

utgång – detta avsnitt definierar det slutliga resultatet av logiken (”sedan”) enligt de data som beräknades i föregående steg. Titta på vårt exempel på LDR och PWM, slå på en LED endast när den omgivande ljusnivån går under en viss tröskel.

Arduino kodbibliotek

Biblioteksstruktur

ett bibliotek är en mapp som består av filer med C++ (.CPP) kodfiler och C++ (.h) header-filer.

den .h-filen beskriver bibliotekets struktur och förklarar alla dess variabler och funktioner.

den .CPP-filen innehåller funktionen genomförande.

importera Bibliotek

det första du behöver göra är att hitta det bibliotek du vill använda av de många bibliotek som finns tillgängliga online. När du har laddat ner den till din dator behöver du bara öppna Arduino IDE och klicka på Sketch > inkludera Bibliotek > Hantera bibliotek. Du kan sedan välja det bibliotek som du vill importera till IDE. När processen är klar kommer biblioteket att finnas tillgängligt i sketch-menyn.

i koden som tillhandahålls av circuito.io istället för att lägga till externa bibliotek som nämnts tidigare ger vi dem firmware-mappen. I det här fallet vet IDE hur man hittar dem när man använder #include.

Från programvara till hårdvara

det finns mycket att säga om Arduinos mjukvarufunktioner, men det är viktigt att komma ihåg att plattformen består av både programvara och hårdvara. De två arbetar tillsammans för att köra ett komplext operativsystem.

kod för att kompilera för att ladda upp för att ladda upp för att köra för att ladda upp för att ladda upp för att köra koden.

När du har skrivit koden i IDE måste du ladda upp den till Arduino. Om du klickar på knappen Ladda upp (den högervända pilikonen) kompilerar du koden och laddar upp den om den passerade kompileringen. När din uppladdning är klar börjar programmet köras automatiskt.

Du kan också göra detta steg för steg:

  1. först kompilera koden. För att göra detta klickar du bara på ikonen kontrollera (eller klicka på sketch > verifiera / kompilera i menyraden.

som du kan se finns kontrollikonen längst upp till vänster under taggen ”Arkiv” i menysektionen.

När du har gjort detta börjar Arduino kompilera. När det är klart får du ett slutförandemeddelande som ser ut så här:

som du kan se berättar den gröna linjen längst ner på sidan att du är ”klar att sammanställa”. Om koden inte körs meddelas du i samma avsnitt och den problematiska koden markeras för redigering.

När du har sammanställt din skiss är det dags att ladda upp den.

  1. välj den serieport som Arduino för närvarande är ansluten till. För att göra detta klickar du på Verktyg > seriell port i menyn för att ange din valda serieport (som visas tidigare ovan). Du kan sedan ladda upp den sammanställda skissen.
  2. för att ladda upp skissen, klicka på uppladdningsikonen bredvid kryssrutan. Alternativt kan du gå till menyn och klicka på Arkiv > ladda upp. Dina Arduino-lysdioder blinkar när data överförs.

När du är klar kommer du att hälsas med ett slutförandemeddelande som berättar att Arduino har laddat upp.

ställa in din IDE

för att ansluta ett Arduino-kort till din dator behöver du en USB-kabel. När du använder Arduino UNO överför USB data i programmet direkt till ditt kort. USB-kabeln används för att driva din arduino. Du kan också köra din Arduino via en extern strömkälla.

innan du kan ladda upp koden finns det några inställningar som du behöver konfigurera.

Välj din styrelse – du måste ange vilken Arduino styrelse du ska använda. Gör detta genom att klicka Verktyg > Board > din styrelse.

Välj din processor – det finns vissa kort (till exempel Arduino pro-mini) för vilka du måste ange vilken processormodell du har. Under Verktyg> processor> välj den modell du har.

Välj din port – för att välja den port som din styrelse är ansluten, gå till Verktyg >Port> COMX Arduino (Detta är Arduinos seriella port).

Så här installerar du icke-inbyggda kort (t.ex. NodeMCU)

vissa kortmodeller är inte förinstallerade i Arduino IDE, därför måste du installera dem innan du kan ladda upp kod.

för att installera ett icke-inbyggt kort som NodeMCU måste du:

  1. Klicka på Verktyg> Boards> Boards Manager
  2. Sök efter kortet du vill lägga till i sökfältet och klicka på ”Installera”.

vissa styrelser kan inte hittas via styrelsens chef. I det här fallet måste du lägga till dem manuellt. För att göra detta:

  1. Klicka på filer> Inställningar
  2. klistra in webbadressen till installationspaketet på ditt kort i fältet ytterligare styrelser. Till exempel, för nodeMCU, Lägg till följande URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. Klicka på OK
  4. gå till Verktyg >Boards> Boards Manager
  5. Sök efter kortet du vill lägga till i sökfältet och klicka på”Installera”.

När du har slutfört det här steget ser du de installerade korten i listan styrelser under Verktyg.

Obs: processen kan skilja sig något för olika brädor.

Arduino: en extremt mångsidig plattform

Arduino är mycket mer än bara en enkel mikrokontroller. Med en expansiv IDE och ett brett utbud av hårdvarukonfigurationer är Arduino verkligen en mångsidig plattform. Mångfalden av dess bibliotek och dess intuitiva design gör det till en favorit för både nya användare och erfarna tillverkare. Det finns tusentals samhällsresurser som hjälper dig att komma igång med både hårdvara och mjukvara.

När du utvecklar dina färdigheter kan du möta problem som kräver felsökning, vilket är en svag punkt i Arduino IDE. Lyckligtvis finns det flera verktyg och metoder för att felsöka Arduino hårdvara och mjukvara. I nästa artikel ska vi titta på hur man felsöker Arduino (och hur man testar Arduino-kod) samt hur man använder simulatorer och emulatorer.