Betere Arduino-codering met VS-code en PlatformIO
Advertentie
De Arduino IDE is voor veel mensen de eerste codeerervaring geweest. Terwijl het klaar is, mist het de belangrijkste functies die de meeste moderne code-editors hebben.
Visual Studio Code (VS Code) is snel een van de populairste code-editors geworden, maar ondersteunt standaard geen Arduino-ontwikkeling.
Voer PlatformIO in, een open source tool voor het programmeren van Arduino-boards (en nog veel meer)! Leer hoe u PlatformIO kunt krijgen en het kunt gebruiken om een eenvoudige Arduino-schets in VS Code te maken.
Project vereisten
Je zal nodig hebben:
- Een Arduino-compatibel bord. Deze tutorial gebruikt een Nano-kloon. 5 redenen om geen echte Arduino te gebruiken in je volgende project. 5 redenen om geen echte Arduino te gebruiken in je volgende project. Is de Arduino-stichting te ver gegaan? Waarom zou u uw geld uitgeven aan echte Arduino-producten? We leggen alles uit wat u moet weten. Lees verder .
- De Arduino IDE beschikbaar via de Arduino-website (gratis).
- Visual Studio Code, verkrijgbaar bij Microsoft (gratis).
De handleiding van vandaag is voor Windows 10, maar dit zou ook moeten werken op Linux en Mac.
Opmerking: de Windows 10 App- versie van de Arduino IDE werkt niet met deze zelfstudie.
Hoe PlatformIO te installeren
VS Code heeft veel extensies om programmeurs te helpen, en PlatformIO is niet anders. Open de VS Code Extensions Marketplace in het linkerdeelvenster en zoek naar PlatformIO IDE . Klik op installeren en wees voorbereid op een korte wachttijd.
Opmerking : sluit tijdens dit proces de VS-code niet, omdat dit fouten tijdens de installatie kan veroorzaken.
Zodra de installatie is voltooid, verschijnt een prompt in de rechteronderhoek om VS Code opnieuw te laden. Klik erop en het programma wordt opnieuw opgestart, met de startpagina van de PlatformIO-extensie.
Project opzetten
De startpagina van PlatformIO biedt u verschillende opties, waaronder het openen van bestaande Arduino-projecten en koppelingen naar projectideeën. Vandaag begint u opnieuw, dus klik op Nieuw project .
U wordt gevraagd een naam in te voeren voor uw project en het bord dat u gaat gebruiken. Deze tutorial gebruikt een Arduino Nano; PlatformIO ondersteunt meer dan 650 boards, dus u zult de uwe waarschijnlijk in de lijst vinden.
Het tabblad Framework moet automatisch worden ingevuld als Arduino als u een Arduino-compatibel bord gebruikt. Laat het selectievakje Locatie ingevuld om de standaardinstallatielocatie te gebruiken. U hoeft dit alleen uit te schakelen als u met een eerder gemaakt Arduino-project werkt.
Klik op Voltooien en wees voorbereid op een korte wachttijd. PlatformIO downloadt en installeert alle afhankelijkheden die nodig zijn voor het project en herstart de IDE zodra deze is voltooid.
De PlatformIO-workflow
Nadat VS Code opnieuw is opgestart, ziet u een nieuwe projectmap geopend in het Explorer- paneel. In dit stadium is het niet essentieel dat u weet wat elk bestand in deze map doet, u gebruikt alleen de SRC- map voor uw Arduino-schetsen.
Je ziet ook een paar nieuwe pictogrammen op de onderste balk van VS Code. Dit zijn het equivalent van de knoppen in de Arduino IDE - een vinkje voor compileren, een pijl voor uploaden en een plug voor de seriële monitor.
Nu alles is ingesteld, gaan we coderen!
Een leeg programma
PlatformIO maakt een lege schets bij elk nieuw project.
Open het op het tabblad Verkenner door naar SRC / main.cpp te navigeren waarmee de schets wordt geopend. U zult merken dat het bestand een andere extensie heeft dan normale Arduino-schetsen. CPP staat voor C Plus Plus (C ++), de programmeertaal die de Arduino-taal en IDE gebruiken.
Opmerking: in deze zelfstudie wordt de werkschets gebruikt omdat deze bekend is bij mensen met een Arduino IDE-achtergrond. C ++ -schetsen worden echter gewoonlijk programma's genoemd .
Je zult hier enige bekendheid zien - de schets heeft setup- en lusfuncties zoals een gewone Arduino-schets. Het belangrijkste verschil zit bovenaan het programma. De #include header moet aanwezig zijn in elk PlatformIO-project om te kunnen werken.
Laten we nu de Hello World van hardware instellen - een knipperende LED-schets.
Knipperende LED's
Je gaat deze Blink-schets maken, we zullen elke onderstaande regel doorlopen.
Begin met het definiëren van uw ingebouwde LED-pin. Als u een kaart gebruikt die pin 13 niet gebruikt voor de ingebouwde LED, wijzigt u deze dienovereenkomstig:
#define onboard 13
Gebruik uw setup-functie om de pin-modus in te stellen.
pinMode(onboard, OUTPUT);
Merk op hoe VS Code u code zal voorstellen, en voltooi het wanneer u op Enter drukt!
Creëer ten slotte de knipperende LED-logica in de lusfunctie door de pin HOOG en LAAG in te stellen met een vertraging .
digitalWrite(onboard, LOW); delay(1000); digitalWrite(onboard, HIGH); delay(1000);
Als je fouten hebt, zal VS Code dit tijdens het coderen melden, in plaats van te wachten tot je je code compileert of uploadt. Live foutcontrole en voltooiing maken codering minder frustrerend en sneller!
Vervolgens leert u hoe u uw schets naar uw bord kunt uploaden.
Uploaden naar het bord
Sluit je board aan op een USB-poort als je dat nog niet hebt gedaan. Sla uw schets op en klik op het vinkje in de balk onderaan om deze te compileren, of klik op de pijlknop om de schets in één keer te compileren en te uploaden. Na een korte wachttijd zou uw LED moeten knipperen!
Je hebt misschien gemerkt dat er een stap ontbreekt in de gebruikelijke Arduino-workflow. Meestal moet u opgeven aan welke COM- poort uw Arduino is gekoppeld. Als u door de uitvoer bladert wanneer u een schets naar het bord uploadt, merkt u dat PlatformIO het bord automatisch voor u detecteert.
Seriële monitor
Voeg ten slotte nog een coderegel toe aan elke functie om de seriële monitor te testen. In setup toevoegen:
Serial.begin(9600);
En voeg in uw loop-functie een bericht toe dat moet worden afgedrukt naar de seriële monitor wanneer de loop is voltooid:
Serial.println("loop completed");
Upload de schets en klik op het plug-pictogram in de balk onderaan om de seriële monitor te openen en uw bericht te zien.
Een nieuwe wereld van Arduino-codering
Het gebruik van VS Code en PlatformIO zorgt voor een verademing voor Arduino-codering. Het maakt het ook veel gemakkelijker om op afstand samen te werken dankzij de Live Share-functie van Visual Studio.
Deze tutorial behandelt alleen de basis, maar alles wat je kunt doen in de Arduino IDE is mogelijk via PlatformIO, dus kies een geweldig project 15 Grote Arduino-projecten voor beginners 15 Grote Arduino-projecten voor beginners Geïnteresseerd in Arduino-projecten, maar niet zeker waar te beginnen? Deze beginnersprojecten leren je hoe je aan de slag kunt. Lees meer en ontvang codering!
Ontdek meer over: Arduino, Visual Studio Code.