{"id":66102,"date":"2022-08-30T07:57:53","date_gmt":"2022-08-30T12:57:53","guid":{"rendered":"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/"},"modified":"2022-08-30T07:57:53","modified_gmt":"2022-08-30T12:57:53","slug":"battre-arduino-kodning-med-vs-kod-och-platformio","status":"publish","type":"post","link":"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/","title":{"rendered":"B\u00e4ttre Arduino-kodning med VS-kod och PlatformIO"},"content":{"rendered":"<div>\n<p>Arduino IDE har varit den f\u00f6rsta kodningsupplevelsen f\u00f6r m\u00e5nga m\u00e4nniskor.  \u00c4ven om det f\u00e5r jobbet gjort, saknas det viktiga funktioner som de flesta moderna kodredigerare har.<\/p>\n<p>Visual Studio Code (VS Code) har snabbt blivit en av de mest popul\u00e4ra kodredigerarna men st\u00f6der inte Arduino-utveckling som standard.<\/p>\n<p>G\u00e5 in i PlatformIO, ett verktyg med \u00f6ppen k\u00e4llkod f\u00f6r programmering av Arduino-kort (och mycket mer)!  L\u00e4r dig hur du skaffar PlatformIO och anv\u00e4nd den f\u00f6r att skapa en enkel Arduino-skiss i VS Code.<\/p>\n<h2 id=\"project-requirements\"><span class=\"ez-toc-section\" id=\"Projektkrav\"><\/span>  Projektkrav<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p><strong>Du kommer beh\u00f6va:<\/strong><\/p>\n<p>  Ett Arduino-kompatibelt kort.  Denna handledning anv\u00e4nder en Nano-klon.  Arduino IDE tillg\u00e4nglig fr\u00e5n Arduinos webbplats (Free).  Visual Studio Code, tillg\u00e4nglig fr\u00e5n Microsoft (Free).  <\/p>\n<p>Dagens guide \u00e4r f\u00f6r Windows 10, men det h\u00e4r borde fungera p\u00e5 Linux och Mac ocks\u00e5.<\/p>\n<p><strong>Notera:<\/strong> De <strong>Windows 10-appen<\/strong> versionen av Arduino IDE kommer inte att fungera med denna handledning.<\/p>\n<h2 id=\"how-to-install-platformio\"><span class=\"ez-toc-section\" id=\"Hur_man_installerar_PlatformIO\"><\/span>  Hur man installerar PlatformIO<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>VS Code har m\u00e5nga till\u00e4gg f\u00f6r att hj\u00e4lpa programmerare, och PlatformIO \u00e4r inte annorlunda.  \u00d6ppna VS Code Extensions Marketplace fr\u00e5n den v\u00e4nstra panelen och s\u00f6k efter <strong>PlattformIO IDE<\/strong>.  Klicka p\u00e5 installera och var beredd p\u00e5 en kort v\u00e4ntan.<\/p>\n<p><strong>Notera<\/strong>: St\u00e4ng inte VS Code under denna process eftersom det kan orsaka fel med installationen.<\/p>\n<figure>\n<\/figure>\n<p>N\u00e4r installationen \u00e4r klar kommer en uppmaning att visas i det nedre h\u00f6gra h\u00f6rnet f\u00f6r att ladda om VS Code.  Klicka p\u00e5 den s\u00e5 startar programmet om och visar PlatformIO-till\u00e4ggets hemsida.<\/p>\n<h2 id=\"setting-up-a-project\"><span class=\"ez-toc-section\" id=\"Skapa_ett_projekt\"><\/span>  Skapa ett projekt<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>PlatformIOs hemsida ger dig flera alternativ, inklusive att \u00f6ppna befintliga Arduino-projekt och l\u00e4nkar till projektid\u00e9er.  Idag kommer du att b\u00f6rja om igen, s\u00e5 klicka <strong>Nytt projekt<\/strong>.<\/p>\n<figure>\n<\/figure>\n<p>Du kommer att bli ombedd att ange ett namn f\u00f6r ditt projekt och styrelsen du kommer att anv\u00e4nda.  Denna handledning anv\u00e4nder en Arduino Nano;  PlatformIO st\u00f6der \u00f6ver 650 kort, s\u00e5 du kommer f\u00f6rmodligen att hitta din i listan.<\/p>\n<p>De <strong>Ramverk<\/strong> fliken ska fyllas i automatiskt som <strong>Arduino<\/strong> om du anv\u00e4nder ett Arduino-kompatibelt kort.  L\u00e4mna <strong>Plats<\/strong> kryssrutan ifylld f\u00f6r att anv\u00e4nda standardinstallationsplatsen.  Du beh\u00f6ver bara avmarkera detta om du arbetar med ett tidigare gjort Arduino-projekt.<\/p>\n<figure>\n<\/figure>\n<p>Klick <strong>Avsluta<\/strong> och var beredd p\u00e5 en kort v\u00e4ntan.  PlatformIO kommer att ladda ner och installera alla beroenden som beh\u00f6vs f\u00f6r projektet och starta om IDE n\u00e4r det \u00e4r klart.<\/p>\n<figure>\n<\/figure>\n<h2 id=\"the-platformio-workflow\"><span class=\"ez-toc-section\" id=\"PlatformIO-arbetsflodet\"><\/span>  PlatformIO-arbetsfl\u00f6det<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>N\u00e4r VS Code startar om kommer du att m\u00e4rka att en ny projektmapp \u00f6ppnas i <strong>Utforskare<\/strong> panel.  I det h\u00e4r skedet \u00e4r det inte n\u00f6dv\u00e4ndigt att du vet vad varje fil i den h\u00e4r katalogen g\u00f6r, du kommer bara att anv\u00e4nda <strong>SRC<\/strong> katalog f\u00f6r dina Arduino-skisser.<\/p>\n<figure>\n<\/figure>\n<p>Du kommer ocks\u00e5 att m\u00e4rka ett par nya ikoner p\u00e5 den nedre raden av VS Code.  Dessa \u00e4r motsvarigheten till knapparna i Arduino IDE \u2013 en bock f\u00f6r kompilering, en pil f\u00f6r uppladdning och en plugg f\u00f6r seriell bildsk\u00e4rm.<\/p>\n<figure>\n<\/figure>\n<p>Nu n\u00e4r allt \u00e4r inst\u00e4llt, l\u00e5t oss b\u00f6rja koda!<\/p>\n<h2 id=\"a-blank-program\"><span class=\"ez-toc-section\" id=\"Ett_tomt_program\"><\/span>  Ett tomt program<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>PlatformIO skapar en tom skiss med varje nytt projekt.<\/p>\n<p>\u00d6ppna den p\u00e5 fliken Explorer genom att navigera till <strong>SRC\/main.cpp<\/strong> som \u00f6ppnar skissen.  Du kommer att m\u00e4rka att filen har ett annat till\u00e4gg \u00e4n vanliga Arduino-skisser. <strong>CPP<\/strong> st\u00e5r f\u00f6r C Plus Plus (C++), det programmeringsspr\u00e5k som Arduino-spr\u00e5ket och IDE anv\u00e4nder.<\/p>\n<p><strong>Notera:<\/strong> Denna handledning anv\u00e4nder verket <strong>skiss<\/strong> som det \u00e4r bekant f\u00f6r dem med en Arduino IDE-bakgrund.  Men C++-skisser brukar kallas <strong>program<\/strong>.<\/p>\n<p>Du kommer att se lite bekantskap h\u00e4r \u2014 skissen har <strong>uppstart<\/strong> och <strong>slinga<\/strong> fungerar som en vanlig Arduino-skiss.  Den st\u00f6rsta skillnaden finns l\u00e4ngst upp i programmet.  De <strong>#include <arduino.h\/><\/strong> header m\u00e5ste finnas i varje PlatformIO-projekt f\u00f6r att det ska fungera.<\/p>\n<figure>\n<\/figure>\n<p>L\u00e5t oss nu st\u00e4lla in Hello World of hardware \u2014 en blinkande LED-skiss.<\/p>\n<h2 id=\"blinking-leds\"><span class=\"ez-toc-section\" id=\"Blinkande_lysdioder\"><\/span>  Blinkande lysdioder<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Du kommer att skapa denna Blink-skiss, vi g\u00e5r igenom varje rad nedan.<\/p>\n<figure>\n<\/figure>\n<p>B\u00f6rja med att definiera ditt inbyggda LED-stift.  Om du anv\u00e4nder ett kort som inte anv\u00e4nder stift 13 f\u00f6r den inbyggda lysdioden, \u00e4ndra det d\u00e4refter:<\/p>\n<pre>#define onboard 13<\/pre>\n<p>Anv\u00e4nd din inst\u00e4llningsfunktion f\u00f6r att st\u00e4lla in stiftl\u00e4get.<\/p>\n<pre>pinMode(onboard,OUTPUT);<br\/><\/pre>\n<p>L\u00e4gg m\u00e4rke till hur VS Code kommer att f\u00f6resl\u00e5 kod f\u00f6r dig och slutf\u00f6r den n\u00e4r du trycker p\u00e5 <strong>Stiga p\u00e5<\/strong> nyckel!<\/p>\n<figure>\n<\/figure>\n<p>Skapa slutligen blink-LED-logiken i slingfunktionen genom att st\u00e4lla in stiftet <strong>H\u00d6G<\/strong> och <strong>L\u00c5G<\/strong> med en <strong>dr\u00f6jsm\u00e5l<\/strong>.<\/p>\n<pre> digitalWrite(onboard, LOW);<br\/>delay(1000);<br\/>digitalWrite(onboard, HIGH);<br\/>delay(1000);<\/pre>\n<p>Om du har n\u00e5gra fel kommer VS Code att ber\u00e4tta f\u00f6r dig n\u00e4r du kodar, ist\u00e4llet f\u00f6r att beh\u00f6va v\u00e4nta tills du kompilerar eller laddar upp din kod.  Live felkontroll och slutf\u00f6rande g\u00f6r kodning mindre frustrerande och snabbare!<\/p>\n<p>D\u00e4refter kommer du att l\u00e4ra dig hur du laddar upp din skiss till din tavla.<\/p>\n<h2 id=\"uploading-to-the-board\"><span class=\"ez-toc-section\" id=\"Laddar_upp_till_styrelsen\"><\/span>  Laddar upp till styrelsen<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Om du inte redan har gjort det, anslut ditt kort till en USB-port.  Spara din skiss och klicka p\u00e5 <strong>bock<\/strong> ikonen p\u00e5 den nedre raden f\u00f6r att kompilera den, eller klicka p\u00e5 <strong>pil<\/strong> knappen f\u00f6r att kompilera och ladda upp skissen p\u00e5 en g\u00e5ng.  Efter en kort v\u00e4ntan b\u00f6r din LED blinka!<\/p>\n<figure>\n<\/figure>\n<p>Du kanske har m\u00e4rkt att ett steg saknas i det vanliga Arduino-arbetsfl\u00f6det.  Vanligtvis m\u00e5ste du ange vilken <strong>COM<\/strong> port som din Arduino \u00e4r ansluten till.  Om du bl\u00e4ddrar igenom utg\u00e5ngen n\u00e4r du laddar upp en skiss till tavlan kommer du att m\u00e4rka att PlatformIO automatiskt uppt\u00e4cker tavlan \u00e5t dig.<\/p>\n<figure>\n<\/figure>\n<h2 id=\"serial-monitor\"><span class=\"ez-toc-section\" id=\"Seriell_monitor\"><\/span>  Seriell monitor<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>L\u00e4gg slutligen till ytterligare en rad kod till varje funktion f\u00f6r att testa den seriella monitorn.  L\u00e4gg till i inst\u00e4llningen:<\/p>\n<pre>Serial.begin(9600);<\/pre>\n<p>Och i din loop-funktion l\u00e4gg till ett meddelande som ska skrivas ut till den seriella monitorn varje g\u00e5ng loopen slutf\u00f6rs:<\/p>\n<pre>Serial.println(\"loop completed\");<\/pre>\n<p>Ladda upp skissen och klicka p\u00e5 kontaktikonen p\u00e5 den nedre raden f\u00f6r att \u00f6ppna den seriella monitorn och se ditt meddelande.<\/p>\n<figure>\n<\/figure>\n<h2 id=\"a-new-world-of-arduino-coding\"><span class=\"ez-toc-section\" id=\"En_ny_varld_av_Arduino-kodning\"><\/span>  En ny v\u00e4rld av Arduino-kodning<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Att anv\u00e4nda VS Code och PlatformIO ger en frisk fl\u00e4kt till Arduino-kodning.  Det g\u00f6r det ocks\u00e5 mycket l\u00e4ttare att samarbeta p\u00e5 distans tack vare Visual Studios Live Share-funktion.<\/p>\n<p>Den h\u00e4r handledningen t\u00e4cker bara grunderna, men allt du kan g\u00f6ra i Arduino IDE \u00e4r m\u00f6jligt genom PlatformIO, s\u00e5 v\u00e4lj ett fantastiskt projekt och f\u00e5 kodning!<\/p>\n<p>    <strong class=\"section-sub-title\">Om f\u00f6rfattaren<\/strong><\/p>\n<p>            <strong class=\"bio-title\">Ian Buckley (220 publicerade artiklar)<br \/><\/strong><\/p>\n<p>Ian Buckley \u00e4r en frilansjournalist, musiker, artist och videoproducent bosatt i Berlin, Tyskland.  N\u00e4r han inte skriver eller st\u00e5r p\u00e5 scen, pysslar han med DIY-elektronik eller kod i hopp om att bli en galen vetenskapsman.<\/p>\n<p>                            Mer fr\u00e5n Ian Buckley<\/p>\n<h4><span class=\"ez-toc-section\" id=\"Prenumerera_pa_vart_nyhetsbrev\"><\/span>Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>G\u00e5 med i v\u00e5rt nyhetsbrev f\u00f6r tekniska tips, recensioner, free e-b\u00f6cker och exklusiva erbjudanden!<\/p>\n<p>Klicka h\u00e4r f\u00f6r att prenumerera<\/p>\n<\/p><\/div>\n  <div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 ez-toc-wrap-center counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 eztoc-toggle-hide-by-default' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#Projektkrav\" >Projektkrav<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#Hur_man_installerar_PlatformIO\" >Hur man installerar PlatformIO<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#Skapa_ett_projekt\" >Skapa ett projekt<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#PlatformIO-arbetsflodet\" >PlatformIO-arbetsfl\u00f6det<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#Ett_tomt_program\" >Ett tomt program<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#Blinkande_lysdioder\" >Blinkande lysdioder<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#Laddar_upp_till_styrelsen\" >Laddar upp till styrelsen<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#Seriell_monitor\" >Seriell monitor<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#En_ny_varld_av_Arduino-kodning\" >En ny v\u00e4rld av Arduino-kodning<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/blogging-techies.com\/sw\/battre-arduino-kodning-med-vs-kod-och-platformio\/#Prenumerera_pa_vart_nyhetsbrev\" >Prenumerera p\u00e5 v\u00e5rt nyhetsbrev<\/a><\/li><\/ul><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n ","protected":false},"excerpt":{"rendered":"<p>Arduino IDE har varit den f\u00f6rsta kodningsupplevelsen f\u00f6r m\u00e5nga m\u00e4nniskor. \u00c4ven om det f\u00e5r jobbet gjort, saknas det viktiga funktioner som de flesta moderna kodredigerare har. Visual Studio Code (VS Code) har snabbt blivit en av de mest popul\u00e4ra kodredigerarna men st\u00f6der inte Arduino-utveckling som standard. G\u00e5 in i PlatformIO, ett verktyg med \u00f6ppen k\u00e4llkod [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":66103,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fifu_image_url":"https:\/\/ipotek.net\/wp-content\/uploads\/2022\/01\/Battre-Arduino-kodning-med-VS-kod-och-PlatformIO.jpg","fifu_image_alt":"","footnotes":""},"categories":[5],"tags":[36148,935,102,26,36150,36149],"class_list":["post-66102","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-bloggar","tag-arduinokodning","tag-battre","tag-med","tag-och","tag-platformio","tag-vskod"],"_links":{"self":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/66102","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/comments?post=66102"}],"version-history":[{"count":0,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/posts\/66102\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media\/66103"}],"wp:attachment":[{"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/media?parent=66102"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/categories?post=66102"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blogging-techies.com\/sw\/wp-json\/wp\/v2\/tags?post=66102"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}