Bättre Arduino-kodning med VS-kod och plattformIO
Annons
Arduino IDE har varit den första kodupplevelsen för många människor. Det får jobbet gjort, men det saknas viktiga funktioner som de flesta moderna kodredigerare har.
Visual Studio Code (VS Code) har snabbt blivit en av de mest populära kodredigerarna men stöder inte Arduino-utvecklingen som standard.
Gå in i PlatformIO, ett öppet källverktyg för att programmera Arduino-brädor (och mycket mer)! Lär dig hur du får PlatformIO och använd den för att skapa en enkel Arduino-skiss i VS-kod.
Projektkrav
Du kommer behöva:
- En Arduino kompatibel styrelse. Denna handledning använder en Nano-klon 5 skäl att inte använda en äkta Arduino i ditt nästa projekt 5 skäl att inte använda en äkta Arduino i ditt nästa projekt Har Arduino-stiftelsen gått för långt? Varför ska du spendera dina pengar på äkta Arduino-produkter? Vi förklarar allt du behöver veta. Läs mer .
- Arduino IDE finns tillgänglig på Arduino webbplats (gratis).
- Visual Studio Code, tillgänglig från Microsoft (gratis).
Dagens guide är för Windows 10, men det borde också fungera på Linux och Mac.
Obs! Windows 10-appversionen av Arduino IDE fungerar inte med den här självstudien.
Hur man installerar PlatformIO
VS-koden har många tillägg för att hjälpa programmerare, och PlatformIO är inte annorlunda. Öppna VS Code Extensions Marketplace från vänster panel och sök efter PlatformIO IDE . Klicka på installera och förbered dig på en kort väntan.
Obs! Stäng inte VS-koden under den här processen eftersom det kan orsaka fel vid installationen.
När installationen är klar visas en prompt i nedre högra hörnet för att ladda VS-koden igen. Klicka på den så startar programmet om det visar hemsidan för tillägget PlatformIO.
Ställa in ett projekt
PlatformIOs hemsida ger dig flera alternativ, inklusive att öppna befintliga Arduino-projekt och länkar till projektidéer. Idag börjar du färskt, så klicka på Nytt projekt .
Du blir ombedd att ange ett namn för ditt projekt och styrelsen du ska använda. Denna handledning använder en Arduino Nano; PlatformIO stöder över 650 kort, så du kommer troligen att hitta din i listan.
Fliken Framework ska automatiskt fyllas som Arduino om du använder ett Arduino-kompatibelt kort. Lämna kryssrutan Plats fylld för att använda standardinstallationsplatsen. Du behöver bara avmarkera detta om du arbetar med ett tidigare gjort Arduino-projekt.
Klicka på Slutför och var beredd på en kort vänta. PlatformIO kommer att ladda ner och installera alla beroenden som behövs för projektet och starta om IDE när den är klar.
PlatformIO-arbetsflödet
När VS-koden har startat om kommer du att märka en ny projektmapp som är öppen i Explorer- panelen. I det här skedet är det inte viktigt att du vet vad varje fil i den här katalogen gör, du använder bara SRC- katalogen för dina Arduino-skisser.
Du kommer också att märka ett par nya ikoner i den nedre fältet i VS-kod. Dessa motsvarar knapparna i Arduino IDE - en bock för kompilering, en pil för uppladdning och en plugg för seriell bildskärm.
Nu när allt är konfigurerat låt oss få kodning!
Ett tomt program
PlatformIO skapar en tom skiss med varje nytt projekt.
Öppna den på Explorer-fliken genom att navigera till SRC / main.cpp som öppnar skissen. Du kommer att märka att filen har en annan förlängning än vanliga Arduino-skisser. CPP står för C Plus Plus (C ++), det programmeringsspråk som Arduino-språket och IDE använder.
Obs: Den här tutorialen använder arbetsskissen eftersom den är bekant för dem med Arduino IDE-bakgrund. Emellertid kallas C ++ skisser ofta som program .
Du kommer att se lite kännedom här - skissen har inställnings- och slingfunktioner som en vanlig Arduino-skiss. Huvudskillnaden finns högst upp i programmet. Sidan #include måste finnas i alla PlatformIO-projekt för att den ska fungera.
Låt oss nu ställa in Hello World of hardware - en blinkande LED-skiss.
Blinkande lysdioder
Du skapar denna Blink-skiss, vi går igenom varje rad nedan.
Börja med att definiera din inbyggda LED-stift. Om du använder ett kort som inte använder stift 13 för den inbyggda lysdioden, ändra det i enlighet med detta:
#define onboard 13
Använd din installationsfunktion för att ställa in stiftläget.
pinMode(onboard, OUTPUT);
Lägg märke till hur VS-koden kommer att föreslå kod till dig och slutför den när du trycker på Enter- knappen!
Skapa slutligen blinkande LED-logik i slingfunktionen genom att ställa in stiftet HÖG och LÅG med en fördröjning .
digitalWrite(onboard, LOW); delay(1000); digitalWrite(onboard, HIGH); delay(1000);
Om du har några fel berättar VS-koden dig när du kodar, snarare än att behöva vänta tills du sammanställer eller laddar upp din kod. Levande felkontroll och avslutande gör kodningen mindre frustrerande och snabbare!
Därefter lär du dig att ladda upp din skiss till ditt bräde.
Uppladdning till styrelsen
Om du inte redan har gjort det, anslut ditt kort till en USB-port. Spara din skiss och klicka på fästikonen i den nedre fältet för att sammanställa den, eller klicka på pilknappen för att sammanställa och ladda upp skissen på en gång. Efter en kort väntan bör din LED blinka!
Du kanske har märkt att ett steg saknas från det vanliga Arduino-arbetsflödet. Vanligtvis måste du ange vilken COM- port din Arduino är ansluten till. Om du bläddrar genom utgången när du laddar upp en skiss till brädet kommer du att märka att PlatformIO automatiskt upptäcker kortet åt dig.
Seriell bildskärm
Slutligen lägger till ytterligare en rad med kod till varje funktion för att testa seriemonitorn. Lägg till i installationen:
Serial.begin(9600);
Och i din loopfunktion lägg till ett meddelande som ska skrivas ut på seriemonitorn alltid när slingan är klar:
Serial.println("loop completed");
Ladda upp skissen och klicka på plug-ikonen i den nedre fältet för att öppna seriemonitorn och se ditt meddelande.
En ny värld av Arduino-kodning
Genom att använda VS-kod och PlatformIO får du en frisk luft till Arduino-kodning. Det gör det också mycket lättare att samarbeta på distans på grund av Visual Studio: s Live Share-funktion.
Denna handledning täcker bara grunderna, men allt du kan göra i Arduino IDE är möjligt via PlatformIO, så välj ett fantastiskt projekt 15 Great Arduino Projects for Beginners 15 Great Arduino Projects for Beginners Intresserad av Arduino-projekt men inte säker på var du ska börja? Dessa nybörjarprojekt lär dig hur du kommer igång. Läs mer och få kodning!
Utforska mer om: Arduino, Visual Studio Code.