Articles

kaikki mitä sinun tarvitsee tietää Arduino-Koodiblogista Postcircuito teamarch 11, 2018

Arduinon avoimen lähdekoodin alustan lanseerauksen jälkeen brändi on vakiinnuttanut asemansa laajan avoimen lähdekoodin yhteisön keskuksena. Arduinon ekosysteemi koostuu monipuolisesta laitteistojen ja ohjelmistojen yhdistelmästä. Monipuolisuus Arduino ja sen yksinkertainen käyttöliittymä tekee siitä johtava valinta monenlaisia käyttäjiä ympäri maailmaa harrastajat, suunnittelijat ja taiteilijat tuotteen prototyyppejä.

Arduino-levy on kytketty tietokoneeseen USB: n kautta, jossa se on yhteydessä Arduino-kehitysympäristöön (IDE). Käyttäjä kirjoittaa Arduino-koodin IDE: ssä ja lataa sen sitten mikrokontrolleriin, joka suorittaa koodin, vuorovaikutuksessa tulojen ja lähtöjen, kuten antureiden, moottoreiden ja valojen kanssa.

sekä aloittelevilla että asiantuntijoilla on käytössään runsaasti ilmaisia resursseja ja materiaaleja heidän tukenaan. Käyttäjät voivat etsiä tietoa siitä, miten perustaa niiden aluksella tai jopa miten koodi Arduino. Arduinon takana oleva avoin lähdekoodi on tehnyt siitä erityisen ystävällisen uusille ja kokeneille käyttäjille. On olemassa tuhansia Arduino koodi esimerkkejä saatavilla verkossa. Tässä viestissä, me viemme sinut läpi joitakin perusperiaatteita koodaus Arduino.

Suunnittele seuraava Arduino-projekti >>

Arduinon Koodausympäristö ja perustyökalut

mitä kieltä Arduino on?

Arduino-koodi on kirjoitettu C++ – kielellä, johon on lisätty erikoismenetelmiä ja funktioita, jotka mainitaan myöhemmin. C++ on ihmisen luettavissa oleva ohjelmointikieli. Kun luot ”Sketchin” (Arduino-kooditiedostoille annettu nimi), se käsitellään ja käännetään konekielelle.

Arduino IDE

Arduino Integrated Development Environment (IDE) on tärkein Arduino-ohjelmoinnissa käytetty tekstinmuokkausohjelma. Se on, jos sinun on kirjoittamalla koodin ennen lataamista sen hallituksen haluat ohjelmoida. Arduino-koodia kutsutaan luonnoksiksi.

Huom: on tärkeää käyttää Arduino IDE: n uusinta versiota. Ajoittain, Tarkista päivitykset täällä.

Arduino code example

kuten näkyy, IDE on suunniteltu minimalistisesti. Valikkopalkissa on vain 5 otsikkoa,sekä joukko painikkeita, joiden alla voit tarkistaa ja ladata luonnoksesi. Pohjimmiltaan IDE kääntää ja kokoaa luonnoksesi koodiksi, jonka Arduino ymmärtää. Kun Arduino-koodi on koottu, se ladataan hallituksen muistiin.

kaikki mitä käyttäjän tarvitsee tehdä aloittaakseen luonnoksen laatimisen, on painaa nappia (ohje tähän löytyy alta).

Jos Arduino-koodissa on virheitä, merkitään varoitusviesti, joka kehottaa käyttäjää tekemään muutoksia. Useimmat uudet käyttäjät kokevat usein vaikeuksia kääntämisessä Arduinon tiukkojen syntaksivaatimusten vuoksi. Jos teet virheitä välimerkeissäsi Arduinoa käytettäessä, koodi ei käänny ja saat virheilmoituksen.

Sarjamonitori ja Sarjaplotteri

Arduino-sarjamonitori voidaan avata klikkaamalla suurennuslasi-kuvaketta IDE: n oikeassa yläkulmassa tai työkalujen alla. Sarjamonitoria käytetään pääasiassa vuorovaikutuksessa Arduino-levyn kanssa tietokoneen avulla, ja se on erinomainen työkalu reaaliaikaiseen seurantaan ja virheenkorjaukseen. Käyttääkseen monitoria, sinun täytyy käyttää Sarjaluokkaa.

koodi, josta lataat circuito.io on testi osio, jonka avulla voit testata kunkin osat käyttämällä sarjamonitoria, kuten näet kuvakaappaus alla:

Arduino sarjaplotteri on toinen osa Arduino IDE, jonka avulla voit luoda reaaliaikaisen kuvaajan sarjatiedot. Sarjaplotteri helpottaa huomattavasti tietojen analysointia visuaalisen näytön avulla. Voit luoda kaavioita, negatiivisia arvoja ja suorittaa aaltomuodon analysointia.

Vianetsintä Arduino-koodi ja laitteisto

toisin kuin muilla ohjelmointialustoilla, Arduinolla ei ole laivalla olevaa debuggeria. Käyttäjät voivat joko käyttää kolmannen osapuolen ohjelmistoja tai he voivat käyttää sarjamonitoria Arduinon aktiivisten prosessien tulostamiseen seurantaa ja virheenkorjausta varten.

käyttämällä Sarjaluokkaa voit tulostaa sarjamonitoriin, virheenkorjauskommentteja ja muuttujien arvoja. Useimmissa Arduino-malleissa tämä käyttää sarjatunnuksia 0 ja 1, jotka on liitetty USB-porttiin.

Koodirakenne

kirjastot

Arduinossa on muiden johtavien ohjelmointialustojen tapaan sisäänrakennettuja kirjastoja, jotka tarjoavat perustoiminnot. Lisäksi, on mahdollista tuoda muita kirjastoja ja laajentaa Arduino board ominaisuuksia ja ominaisuuksia. Nämä kirjastot jaetaan karkeasti kirjastoihin, jotka ovat vuorovaikutuksessa tietyn komponentin kanssa tai niihin, jotka toteuttavat uusia toimintoja.

tuodaksesi uuden kirjaston, sinun täytyy mennä Sketch > tuo kirjasto

lisäksi Oman ylimpänä .Ino-tiedosto, sinun täytyy käyttää ’#include’ sisällyttää ulkoiset kirjastot. Voit myös luoda omia kirjastoja, joita voit käyttää yksittäisissä luonnoksissa.

Pin määritelmät

käyttääksesi Arduino-PIN-koodeja sinun on määriteltävä, mitä pin-koodia käytetään ja sen toiminnallisuus. Kätevä tapa määritellä käytetyt pinnit on:

”#define pinName pinNumber”.

funktionaalisuus on joko input tai output, ja se määritellään Asetukset-osiossa pinMode () – menetelmällä.

julistukset

muuttujat

aina kun käytät Arduinoa, sinun on ilmoitettava yleiset muuttujat ja esiintymät, joita käytetään myöhemmin. Pähkinänkuoressa muuttujan avulla voit nimetä ja tallentaa tulevaisuudessa käytettävän arvon. Tallentaisit esimerkiksi sensorilta saatuja tietoja, jotta voisit käyttää niitä myöhemmin. Muuttujan ilmoittamiseksi määritellään sen tyyppi, nimi ja alkuarvo.

on syytä mainita, että globaalien muuttujien julistaminen ei ole ehdoton välttämättömyys. Kuitenkin, on suositeltavaa, että ilmoitat muuttujia, jotta se on helppo käyttää arvoja pidemmälle linjan.

instanssit

ohjelmoinnissa luokka on kokoelma funktioita ja muuttujia, jotka pidetään yhdessä paikassa. Jokaisella luokalla on erityinen konstruktorina tunnettu funktio, jota käytetään luokan instanssin luomiseen. Jotta voidaan käyttää toimintoja luokan, meidän täytyy julistaa esimerkiksi sitä.

Setup ()

jokaisessa Arduino-sketsissä on oltava asetustoiminto. Tämä toiminto määrittää alkutilan Arduino käynnistyksen yhteydessä ja toimii vain kerran.

tässä määritellään:

  1. Pin-toiminnallisuus käyttäen pinMode-funktiota
  2. pinsien alkutila
  3. alustaa Luokat
  4. Koodilogiikka

Silmukka ()

silmukkafunktio on myös pakollinen jokaiselle Arduino-sketsille ja suoritetaan, kun asetukset() ovat valmiit. Se on tärkein toiminto ja kuten sen nimi vihjaa, se kulkee silmukassa yhä uudelleen. Silmukka kuvaa oman piirin päälogiikkaa.

esimerkiksi:

Huomautus: termillä ”void” tarkoitetaan sitä, että funktio ei palauta mitään arvoja.

miten Arduino ohjelmoidaan

Arduino-koodin peruslogiikka on ”if – then” – rakenne ja se voidaan jakaa 4 lohkoon:

Setup-kirjoitetaan yleensä Arduino-koodin setup-osioon ja suoritetaan asioita, jotka on tehtävä vain kerran, kuten anturikalibrointi.

Input – Loopin alussa luetaan tulot. Näitä arvoja käytetään olosuhteina (”if”), kuten ympäröivän valon lukemana LDR: stä analogreadin () avulla.

manipuloi dataa – tätä osiota käytetään datan muuntamiseen kätevämpään muotoon tai laskutoimitusten suorittamiseen. Esimerkiksi AnalogRead () antaa lukeman 0-1023, joka voidaan kartoittaa alueelle 0-255, jota voidaan käyttää PWM: lle.(katso analogWrite ())

lähtö – tässä jaksossa määritellään logiikan lopputulos (”sitten”) edellisessä vaiheessa laskettujen tietojen mukaan. Kun tarkastelemme esimerkkiämme LDR: stä ja PWM: stä, kytke LED päälle vain silloin, kun ympäristön valotaso alittaa tietyn kynnyksen.

Arduino-Koodikirjastot

Kirjastorakenne

kirjasto on kansio, joka koostuu tiedostoista, joissa on C++ (.cpp) kooditiedostoja ja C++ (.h) otsikkotiedostot.

The.H-tiedosto kuvaa kirjaston rakenteen ja ilmoittaa kaikki sen muuttujat ja funktiot.

The.CPP-tiedostossa on funktion toteutus.

tuo kirjastot

ensimmäiseksi sinun täytyy löytää haluamasi kirjasto monista verkossa olevista kirjastoista. Kun olet ladannut sen tietokoneellesi, sinun tarvitsee vain avata Arduino IDE ja klikata Sketch > Include Library > Hallitse kirjastoja. Voit sitten valita kirjaston, jonka haluat tuoda IDE: hen. Kun prosessi on valmis kirjasto on saatavilla luonnos valikosta.

circuito.io sen sijaan, että lisäämme ulkoisia kirjastoja, kuten edellä mainittiin, tarjoamme niille firmware-kansion. Tässä tapauksessa IDE osaa löytää ne, kun käyttää #include.

ohjelmistosta laitteistoon

Arduinon ohjelmistokyvystä on paljon sanottavaa, mutta on tärkeää muistaa, että alusta koostuu sekä ohjelmistosta että laitteistosta. Kaksikko ajaa yhdessä monimutkaista käyttöjärjestelmää.

Code → Compile → Upload → Run

Arduinon ytimessä on kyky kääntää ja suorittaa koodi.

kirjoitettuasi koodin IDE: ssä sinun täytyy ladata se Arduinoon. Klikkaamalla Upload-painiketta (oikeanpuoleinen nuoli kuvake), kääntää koodin ja ladata sen, jos se läpäisi kokoelma. Kun lataus on valmis, ohjelma käynnistyy automaattisesti.

voit tehdä tämän myös vaihe vaiheelta:

  1. ensin kokoaa koodi. Voit tehdä tämän napsauttamalla valintakuvaketta (tai napsauttamalla Sketch > Verify / Compile valikkopalkissa.

kuten näet, valintakuvake sijaitsee vasemmassa ylälaidassa valikkoosion ”tiedosto” – tunnisteen alla.

kun olet tehnyt tämän, Arduino alkaa koota. Kun se on valmis, saat täydennysviestin, joka näyttää tältä:

kuten näet, sivun alareunassa oleva vihreä viiva kertoo, että olet ”valmis kokoamaan”. Jos koodi ei toimi, sinulle ilmoitetaan samassa kohdassa, ja ongelmallinen koodi korostetaan muokkausta varten.

kun olet koonnut sketsisi, on aika ladata se.

  1. valitse sarjaportti, johon Arduino on tällä hetkellä yhteydessä. Voit tehdä tämän napsauttamalla Työkalut > sarjaportti valikossa nimetä valitsemasi sarjaportti (kuten edellä on esitetty). Voit sitten ladata koottu luonnos.
  2. ladataksesi sketsin, klikkaa rastin vieressä olevaa upload-kuvaketta. Vaihtoehtoisesti voit mennä Valikon ja valitse Tiedosto> upload. Arduino-Ledisi välkkyvät, kun tietoja siirretään.

kun olet valmis, sinua tervehditään täydennysviestillä, joka kertoo, että Arduino on lopettanut lataamisen.

IDE: n perustaminen

Arduino-levyn liittämiseksi tietokoneeseen tarvitaan USB-kaapeli. Kun käytät Arduino UNO, USB siirtää tiedot ohjelman suoraan aluksella. USB-kaapelia käytetään valtaan Arduino. Voit myös ajaa Arduino läpi ulkoisen virtalähteen.

ennen kuin voit ladata koodin, on joitakin asetuksia, jotka sinun täytyy määrittää.

valitse lautasi – sinun täytyy nimetä, mitä Arduino-lautaa aiot käyttää. Tee tämä click Tools > Board > your Board.

valitse prosessorisi – on olemassa tiettyjä levyjä (esimerkiksi Arduino pro-mini), joille sinun täytyy määrittää mikä suoritinmalli sinulla on. Alla tools > processor > valitse haluamasi malli.

Valitse portti – valitaksesi portin, johon lautasi on liitetty, mene työkaluihin > Port > COMX Arduino (tämä on Arduinon sarjaportti).

Kuinka asentaa non-Native-levyt (esim.NodeMCU)

jotkin lautamallit eivät ole esiasennettuja Arduino IDE: ssä, joten ne on asennettava ennen koodin lataamista.

asentaaksesi ei-natiivin levyn, kuten Nodemcun, sinun on:

  1. klikkaa työkaluja > Laudat > Laudat Manager
  2. Etsi lisättävää lautaa hakupalkista ja klikkaa ”Asenna”.

joitakin hallituksia ei löydy Hallituspäällikön kautta. Tässä tapauksessa, sinun täytyy lisätä ne manuaalisesti. Jotta voit tehdä tämän:

  1. klikkaa tiedostoja > Preferences
  2. Lisätaulujen hallinta-kenttään liitä taulusi asennuspaketin URL. Esimerkiksi, NodeMCU, lisää seuraava URL: http://arduino.esp8266.com/stable/package_esp8266com_index.json
  3. klikkaa OK
  4. Siirry tools > Boards > Boards Manager
  5. Etsi haluamasi taulu hakupalkin kautta ja klikkaa”Asenna”.

kun olet suorittanut tämän vaiheen, näet asennetut levyt levyt-luettelossa kohdassa Työkalut.

Huomautus: prosessi voi vaihdella hieman eri levyt.

Arduino: äärimmäisen monipuolinen alusta

Arduino on paljon muutakin kuin pelkkä yksinkertainen Mikrokontrolleri. Laaja IDE ja laaja valikoima hardware kokoonpanoissa, Arduino on todella monipuolinen alusta. Sen kirjastojen valikoima ja intuitiivinen muotoilu tekevät siitä suosikin uusille käyttäjille ja kokeneille tekijöille. On olemassa tuhansia yhteisön resursseja, joiden avulla pääset alkuun sekä laitteiston että ohjelmiston kanssa.

kehittäessäsi taitojasi saatat kohdata ongelmia, jotka vaativat virheenkorjausta, joka on Arduino IDE: n heikko kohta. Onneksi, on olemassa useita työkaluja ja menetelmiä debug Arduino laitteisto ja ohjelmisto. Seuraavassa artikkelissa, aiomme tarkastella miten debug Arduino (ja miten testata Arduino koodi) sekä miten käyttää simulaattoreita ja emulaattorit.