Arduino-kirjastojen käyttö. Kuinka selvittää Arduino IDE:hen kytkettyjen kirjastojen luettelo. Kirjastojen asentaminen Mac OSX:ään

Kirjaston asentaminen ja yhdistäminen arduinoon on melko yleinen toimenpide ennemmin tai myöhemmin jokainen kehittäjä kohtaa sen väistämättä. Ajan säästämiseksi käytetään ulkoista lisäkoodia kaikilla ohjelmointikielillä. Arduino ei ole poikkeus: monet anturit, moduulit, näytöt ja moottorit vaativat melko paljon monimutkaiset piirit vuorovaikutuksia, joita on vaikea toteuttaa koodissasi. On paljon helpompaa ja nopeampaa ladata tarvittava kirjasto, yhdistää se nopeasti manuaalisesti tai käyttämällä Arduino IDE ja käytä sitä sitten kaikissa luonnoksissasi. Tästä artikkelista löydät lyhyet ohjeet kirjastojen yhdistämisestä ja käyttämisestä.

Arduinon kirjasto on ohjelmakoodi sisään ulkoisia tiedostoja, joka voidaan asentaa ja liittää luonnoksiisi. Kirjasto sisältää erilaisia ​​menetelmiä ja tietorakenteet, joita tarvitaan antureiden, indikaattoreiden, moduulien ja muiden komponenttien käytön yksinkertaistamiseen. Kirjastojen käyttö yksinkertaistaa huomattavasti projektien parissa työskentelemistä, koska voit keskittyä ohjelman päälogiikkaan tuhlaamatta aikaa moniin pieniin asioihin. Nykyään Internetissä on valtava määrä kirjastoja, joista ne voidaan ladata helposti ja täysin ilmaiseksi. löytyy nettisivuiltamme.

Näkökulmasta tiedostojärjestelmä kirjasto on hakemisto, joka sisältää tietyt kansiot. Kokoamisen ja kokoamisen aikana Arduino projekti IDE sisällyttää koodiisi automaattisesti ne luokat, tietorakenteet ja menetelmät kirjastoista, jotka sisältyvät luonnokseen ja joita käytetään. Siksi ainoa asia, joka meidän tarvitsee tehdä, on laittaa asianmukaiset ohjeet koodiimme, kun olet varmistanut sen tarvittava kirjasto asennettu.

Kuinka selvittää Arduino IDE:hen kytkettyjen kirjastojen luettelo

Jokainen asennettu kirjasto sisältää yhden tai useamman esimerkin käytettäväksi. Niitä käytetään näyttämään Arduinoon yhdistetyn laitteen ominaisuuksia. Siksi eniten nopealla tavalla hanki luettelo kaikista asennetuista Arduino-kirjastoista - käytä Arduino IDE:n esimerkkiluetteloa. Tee tämä valitsemalla päävalikosta Tiedosto ja avaamalla Esimerkit-alivalikko.

Toinen tapa on käyttää Sketch-valikkoa ja alivalikkoa – Sisällytä kirjasto. Sieltä näet myös luettelon kirjastoista:

Yhdistetään otsikko-h-tiedosto #include-operaattorilla

Kirjaston käytön aloittamiseksi sinun on sisällytettävä h-otsikkotiedosto ja sisällytettävä komento ohjelman alkuun. Esimerkiksi LiquidCrystal.h-kirjaston sisällyttäminen näyttää tältä: #include

Voit katsoa täysi esimerkki käyttämällä itse kirjastoa.

Vaaditut tiedostot kirjastossa

Jokaisessa kirjastossa on oltava vähintään 2 tiedostoa - otsikkotiedosto, jonka tunniste on .h, ja tiedosto, jossa on lähdekoodi jonka tunniste on .cpp. Otsikkotiedosto sisältää luokan kuvauksen, vakiot ja muuttujat. Toinen tiedosto sisältää menetelmäkoodit. Kahden päätiedoston lisäksi se voi sisältää tekstiasiakirjoja avainsanat.txt ja esimerkkikansio, jossa on koodeja esimerkkejä kirjaston käytöstä. H- ja cpp-tiedostot eivät välttämättä sijaitse juurissa

Tiedostojen muokkaaminen ei ole mahdollista Arduino IDE:ssä, kaikki muutokset voidaan tehdä missä tahansa tekstieditori tai C++-kehitysympäristöön. Tämä johtuu siitä, että Arduino IDE:ssä emme työskentele cpp-tiedostojen kanssa, koodieditoria ei ole suunniteltu "puhtaalle" C:lle, se toimii vain Arduino-kielen kanssa.

Mistä löytää tarvittava kirjasto

Tarvittava kirjasto voidaan ladata Internetin kautta. Useimmat kirjastot ovat saatavilla Githubissa. Kirjaston lataamisen jälkeen on tärkeää lisätä se oikeaan kansioon, jotta kääntäjä löytää sen ja lataa luonnoksen. Kansio, johon kaikki koodit on tallennettu, luodaan tietokoneelle tämän jälkeen Arduino asennukset IDE. varten käyttöjärjestelmä Linux-kansio jonka nimi on "Scetchbook" ja se sijaitsee Windowsissa /home/, "Arduino"-kansio löytyy "Omat asiakirjat" -osiosta.

Kaikki lisäksi asennettavat kirjastot sijaitsevat "Kirjastot"-kansiossa. Aiemmissa Arduinon versioissa kansio on luotava itse, mutta versiosta 1.0.2 alkaen se lisätään automaattisesti Arduino IDE:n asennuksen yhteydessä.

Kuinka asentaa kirjasto. Vaiheittaiset ohjeet

Kun kirjasto on ladattu tietokoneellesi, sinun on aloitettava sen asennus. Kirjasto voidaan asentaa kahdella tavalla: käyttämällä Arduino työkalut IDE ja manuaalisesti.

Yhteys Arduino IDE:llä

Kirjasto ladataan zip-arkistona. Jotta se voidaan ottaa käyttöön tällä menetelmällä, arkistoa ei tarvitse purkaa. Asenna se siirtymällä Sketch-valikkoon - Yhdistä kirjasto - Add.Zip-kirjasto.

Kun ikkuna avautuu, sinun on valittava "Lataukset"-kansio "Tämä tietokone" -osiossa. Jos kirjaston lataamisen jälkeen se on tallennettu toiseen paikkaan, sinun on määritettävä se.

Sitten sinun on valittava ladattu tiedosto ja napsauta "avaa".

Kirjasto asennetaan ja voit käyttää sitä. Jotta voit aloittaa esimerkkitiedostojen käyttämisen Tiedosto - esimerkit, sinun on käynnistettävä Arduino-kehitysympäristö uudelleen.

Kirjaston asentaminen manuaalisesti zip-tiedostosta

Ennen asennuksen aloittamista sinun on poistuttava Arduino IDE:stä. Kirjaston sisältävä ladattu zip-tiedosto on purettava. Tuloksena saamme kansion, jossa kirjastotiedostot, joiden tunniste on .cpp ja .h, sekä hakemistoja sijaitsevat. Tuloksena oleva kansio on sijoitettava kirjastoihin.

Windows-käyttöjärjestelmässä kirjastot-kansio löytyy Omat asiakirjat - Arduino - kirjastot -reitistä. Linuxissa tämä on kirjastojen kansio luonnoksineen.

Lopussa sinun on käynnistettävä Arduino IDE uudelleen, ladattu kirjasto on saatavilla sisällytettäväksi Sketch - Connect Libraryn kautta.

Virheitä yhdistettäessä Arduino-kirjastoa

Alla on luettelo mahdollisia virheitä kun asennat kirjastoja ja tapoja käsitellä niitä:

  • 'xxxx' ei nimeä tyyppiä – samanlainen virhe ilmenee, jos kirjastoa ei ole vielä asennettu, kansio tai kirjasto on nimetty väärin, määritetty väärä osoite kansion sijaintia tai ympäristöä ei ole käynnistetty uudelleen Arduino kehitys IDE.
  • Virheellinen kansion sijainti - jos tämä virhe näytetään, sinun on tarkistettava, sijaitseeko kirjasto kansiossa, josta ympäristö voi hakea.
  • Virheellinen kirjaston nimi – virhe tulee näkyviin, jos nimi #include jälkeen ei vastaa kirjaston nimeä.
  • Epätäydellinen kirjasto – saattaa ilmestyä, jos kaikkia ei ole ladattu tarvittavat tiedostot ja kansiot.
  • Kirjastoriippuvuudet - koska tämäntyyppiset kirjastot toimivat vain muiden kirjastojen kanssa, sinun on ensin sisällytettävä ne.

Arduino-kirjastot ovat kätevä työkalu koodin jakamiseen. Nämä voivat olla esimerkiksi laitteisto-ohjaimia tai usein käytettyjä toimintoja.

Tässä oppaassa kuvataan yksityiskohtaisesti kirjastojen asentaminen tietokoneellesi.

Arduino-kirjastoja on kahta päätyyppiä: vakio- ja lisäkirjastoja.

Vakiokirjastot

Arduino IDE:ssä on sarja vakiokirjastot, joita käytetään hyvin usein. Nämä kirjastot tukevat kaikkia esimerkkejä, jotka sisältyvät Arduino IDE:hen. Vakiokirjastot tukevat toimintoja työskentelyyn yleisimpien oheislaitteiden kanssa, esimerkiksi: servomoottorit tai LCD-näytöt.

Vakiokirjastot asennetaan "Kirjastot"-kansioon Arduino IDE:n asennuksen yhteydessä. Jos sinulla on asennettuna useita IDE-versioita, jokaisella versiolla on omat kirjastonsa. On erittäin suositeltavaa olla muuttamatta vakiokirjastoja ja asentaa uusia samaan kansioon.

Lisäkirjastot

Valtava määrä lisäkirjastoja kätevä toiminnallisuus ja ajurit erilaisiin oheislaitteet. Kirjastot julkaistaan ​​pääasiassa Arduino Playgroundissa, Githubissa ja Google Codessa. Arduinon kirjastojen kirjoittaminen tapahtuu usein antureiden, muuntimien, painetut piirilevyt jne. Esimerkiksi Adafruit tarjoaa yli 100 kirjastoa, jotka tukevat kaikkia Arduino-levymalleja.

Asenna lisäkirjastoja Kirjastot-kansioon. Tämän ansiosta niitä voidaan käyttää kaikissa Arduino IDE:n versioissa. Version päivityksen jälkeen sinun ei tarvitse asentaa niitä uudelleen!

Mihin kirjastot asennetaan

On tärkeää asentaa kirjastot oikeaan kansioon. Muussa tapauksessa kääntäjä ei löydä niitä, kun käännät ja lataat koodisi.

Kansio, johon kaikki on tallennettu Arduino luonnoksia, luodaan automaattisesti, kun asennat IDE:n.

Linuxissa kansion nimi on "Scetchbook" ja se sijaitsee yleensä hakemistossa /home/<username>

Windowsissa ja Macintoshissa kansion nimi on "Arduino" ja se sijaitsee Asiakirjat-kansiossa.

Huomaa, tämä on tärkeää! "Omat asiakirjat" -kansioon luodaan automaattisesti toinen kansio nimeltä "Arduino"!

Lisäkirjastojen tulisi sijaita "Libraries"-kansiossa, joka sijaitsee "Scetchbook"- tai "Arduino" -kansiossa. Tästä IDE etsii lisäksi asennettuja kirjastoja.

Arduino IDE 1.0.2:sta ja uudemmista versioista "Libraries"-kansio luodaan automaattisesti. Lisää aikaisemmat versiot se on luotava ennen ensimmäisen kirjaston asentamista.

Avaa valikko ja valitse "File-> Preferences" Arduino IDE:ssä.

>

Etsi luonnosten sijainti. Tämä on yleensä "Arduino"-kansio "Omat asiakirjat" -kansiossasi.

Kun olet määrittänyt polun, siirry kyseiseen kansioon File Explorerilla.


Jos Kirjastot-kansiota ei ole, luo uusi kansio.


Nimeä se uudelleen "Kirjastot".

Kirjastojen asentaminen Windowsiin

Asenna kirjasto Windowsiin noudattamalla alla olevia ohjeita.

Sulje Arduino IDE

Varmista, että Arduino IDE on suljettu, koska kirjastot tarkistetaan vain, kun IDE on ladattu. Uusi kirjasto ei toimi ennen kuin käynnistät IDE:n uudelleen.

Lataa Zip-tiedosto Githubista.


Kopioi purettu kansio


Liitä se kirjastot-kansioosi.


Anna se hänelle oikea nimi. Arduino IDE ei tunnista kansioita, joiden nimessä on viiva. Joten sinun on nimettävä kansio uudelleen. Voit käyttää väliviivojen alla.


Käynnistä Arduino IDE uudelleen ja tarkista, näkyykö kirjasto File->Examples-valikkokohdassa.

Tarkistaaksesi, lataa jokin esimerkeistä.


Ennen kuin lataat esimerkin taululle, tarkista luonnos.


Kirjastojen asentaminen Mac OSX:ään

Asenna lisäkirjastot oikein Mac OSX:ään noudattamalla alla olevia ohjeita

Sulje Arduino IDE.

Lataa arkisto kirjaston kanssa Githubista.


Etsi ladattu arkisto Mac-tietokoneesi latauskansiosta.


Pura ja kopioi kirjasto kirjastot-kansioon, joka luotiin, kun asensit Arduino IDE:n.


Anna kirjastolle oikea nimi. Kuten Windowsin tapauksessa, viivat sisältävät kansiot eivät ole luettavissa.


Käynnistä Arduino IDE uudelleen. Kirjaston pitäisi näkyä Tiedosto->Esimerkit -valikossa.

Lataa yksi esimerkeistä.


Tarkista, että luonnos on oikea ennen kuin lataat sen Arduinoosi.

Kirjastojen asentaminen Linuxiin

Asenna mukautettuja kirjastoja Linuxiin noudattamalla alla olevia ohjeita.

Sulje jälleen Ardino IDE.

Lataa arkisto, jossa on tarvitsemamme kirjasto.


Tallennamme arkiston kohteeseen kovalevy meidän PC.


Etsi ladattu arkisto latauskansiosta.


Pura kirjasto ja kopioi se Sketchbook/Libraries -kansioon.


Anna kansiolle oikea nimi. Ei pykälää!


Käynnistä Arduino IDE uudelleen ja tarkista, näkyykö kirjasto File-> Examples -valikkokansiossa.

Ladataan yksi esimerkeistä.


Tarkistamme, käännetäänkö esimerkkitiedosto ilman virheitä.


Yleisiä virheitä asennettaessa kirjastoja Arduinolle

"xxxx" ei nimeä tyyppiä


Tämä on yleisin virhe ulkoisten kirjastojen kanssa työskennellessä. Syynä on se, että kääntäjä ei löydä kirjastoa. Mahdollisia syitä tämä virhe tapahtuu:

  • Kirjastoa ei ole asennettu (katso asennusohjeet yllä).
  • Virheellinen kansion sijainti.
  • Virheellinen kansion nimi.
  • Virheellinen kirjaston nimi.
  • Unohdit käynnistää Arduino IDE:n uudelleen.

Alla on ratkaisuja mahdollisiin ongelmiin.

Virheellinen kansion sijainti

IDE löytää vain vakiokirjastot ja lisäkirjastot, jotka on asennettu "Kirjastot"-kansioon. Muissa sijainneissa olevia kirjastoja ei alusteta

Kirjastokansion tulee olla "Kirjastot"-kansion juuressa. Jos luot ylimääräisen alikansion, IDE ei tunnista kirjastoa.

Huomautus: joissakin online-varastoissa kirjastot on lähetetty lisätaso kansion sisäkkäin. Tarkista tämä hetki. Kirjastotiedostojen tulee sijaita ensimmäisessä kansiossa ilman muita alikansioita.

Ei täydellinen kirjasto

Älä nimeä kirjastossa olevia tiedostoja uudelleen käyttämällä isot kirjaimet, viiva jne.

Virheellinen kansion nimi

IDE ei tunnista kansioita, joissa on tiettyjä hahmoja otsikossa. Valitettavasti IDE ei tue viivoja, jotka luodaan tiedostonimiin Githubissa. Siksi arkiston lataamisen jälkeen nimeä kansio uudelleen. Uusi nimi ei saa sisältää väliviivaa. Voit yksinkertaisesti korvata kaikki merkit ('-') merkillä ('_').

Virheellinen kirjaston nimi

Luonnoksessa #include-käskyssä määrittämäsi nimen on vastattava täsmälleen kirjastossa olevan luokan nimeä (kirjainkoolla on merkitystä!). Jos nimi ei täsmää, IDE ei muodosta yhteyttä tarvittavat toiminnot, luokat jne. Kirjastojen mukana tulleissa esimerkeissä nimet ovat oikein. Joten välttääksesi tahattomat virheet, voit yksinkertaisesti kopioida ja liittää ne koodiisi.

Useita kirjastoversioita

Jos sinulla on useita versioita kirjastosta, Arduino IDE yrittää ladata ne kaikki samanaikaisesti. Tämän seurauksena voi tapahtua käännösvirhe. Joten vanhat tai toimimattomat versiot on poistettava tai siirrettävä kirjaston luettelosta.

Riippuvaiset kirjastot

Jotkut kirjastot ovat riippuvaisia ​​muista kirjastoista. Esimerkiksi useimmat Adafruit Graphic Display Libraries -kirjastot ovat riippuvaisia ​​Adafruit GFX -kirjastosta. Eli käyttääksesi ensimmäistä kirjastoa, sinun on oltava asennettuna toinen.

"Perus" kirjastot

Joitakin kirjastoja ei voi käyttää suoraan. Hyvä esimerkki, GFX-kirjasto. Tämä kirjasto toimii useimpien Adafruitin näyttöjen avulla, mutta sitä ei voi käyttää ilman kyseisen näytön ohjainkirjastoa.

Unohdin sulkea Arduino IDE:n

Älä unohda, että IDE etsii kirjastoja ladatessaan. Ennen kuin käytät uutta asennettu kirjasto, Arduino IDE on käynnistettävä uudelleen.

Jätä kommenttisi, kysymyksesi ja jaa henkilökohtainen kokemus alla. Keskusteluissa syntyy usein uusia ideoita ja projekteja!

Helpompaa ja tuottavampaa työtä varten Arduinon kanssa on mahdollista käyttää lisäkirjastoja. Arduino-kirjastot ovat suoritettavan ohjelman osia erityisiä tehtäviä. Kirjastojen avulla voit suorittaa monimutkaisia ​​toimintoja vain parilla koodirivillä, koska joku muu on jo kirjoittanut osan koodista puolestasi.

Arduino IDE:ssä käyttäjäystävällinen käyttöliittymä Arduino-kirjastojen kanssa työskentelyyn. Suoraan ohjelmavalikosta voit ladata, asentaa ja yhdistää luonnoksiisi useita kirjastoja. Useimmille Arduino-kirjastoille voit nähdä käyttöesimerkkejä. Tämä auttaa sinua ymmärtämään, miten kirjasto toimii. Esimerkkejä voidaan muokata tarpeidesi mukaan ja käyttää omien laitteiden toteuttamiseen.

On olemassa vakiokirjastoja, jotka on asennettu Arduino IDE:n kanssa. Jotkut niistä ovat jopa automaattisesti mukana luonnoksessa (esim. Serial).

Lataa Arduino Standard Libraries

Voit ladata vakiokirjastot Arduinon viralliselta verkkosivustolta.

Sieltä löydät kuvauksia ja esimerkkejä standardikirjastojen käytöstä. Voit myös ladata kaikki vakiokirjastot yhdestä arkistosta. Tämä arkisto ei sisällä vain vakiokirjastoja, vaan myös monia muita suosituimpia Arduinon kirjastoja.

Alla ovat yksityiskohtaiset kuvaukset ja esimerkkejä Arduino-standardikirjastojen käytöstä.

  • — Kirjasto tiedonvaihtoa varten sarjaportti(UART).
  • — Kirjasto helpon ja tarkan servojen ohjaamiseen.
  • — Kirjasto TWI/I2C-tietoliikennerajapintojen kanssa työskentelyä varten. Yksinkertaistaa tiedonvaihtoa laitteiden, antureiden ja antureiden kanssa.
  • WiFi- Internet-yhteys käyttämällä WiFi-yhteyttä kilpi.
  • TFT— Tarvitaan tekstin, kuvien ja kuvien piirtämiseen TFT-näyttö Arduino.
  • stepperi— Kirjasto askelmoottoreiden ohjaamiseen.
  • Liquid Crystal- Sillä Arduino toimii nestekidenäytöillä (LCD)
  • Ethernet— Internet-yhteyden muodostaminen käyttämällä .
  • SD— Kirjasto tietojen kirjoittamiseen ja lukemiseen SD-muistikorteilta.
  • GSM- Kirjasto Arduinon liittämiseen GSM-verkot. Vaaditaan toimitukseen ja vastaanottaa tekstiviestejä ja puhelut sekä pääsy Internetiin GPRS:n kautta. Käytetty kanssa.
  • EEPROM- Kirjasto lukemiseen ja kirjoittamiseen Arduinon haihtumattomaan muistiin.

Hyvää päivää, rakkaat lukijat ja Trashbox-portaalin käyttäjät! Oletko koskaan miettinyt, mitä kirjastot ovat ja miksi niitä tarvitaan Arduino-ohjelmoinnissa? Joka tapauksessa löydät vastaukset näihin molempiin kysymyksiin tästä artikkelista.

Mikä se on?

Ohjelmoinnin kirjasto on kokoelma rutiineja tai objekteja, joita käytetään ohjelmistojen kehittämiseen.
Jos tarkastelemme tilannetta Arduino-kielen kanssa, tämä on joukko koodielementtejä, jotka asennetaan erikseen kehitysympäristöstä ja jotka toimivat vuorovaikutuksessa minkä tahansa moduulin tai anturin kanssa.

Selvyyden vuoksi annan esimerkin. Olet yhdistänyt servon Arduinoon. Jotta voit olla vuorovaikutuksessa sen kanssa, sinun on sisällytettävä sisäänrakennettu kirjasto Servo.h. Tämä tehdään luonnoksen alussa komennolla # sisältää Servo.h.
Kirjasto Servo.h sisältää joukon komentoja varten kätevä ohjaus servokäyttö.

Servo


Alla on koodiesimerkki selityksineen.

#sisältää // #include-komento sisältää kirjaston
Servo myservo; // ilmoittaa muuttujan nimeltä myservo, jonka tyyppi on Servo
void setup() // vakiomenettely asetukset
{
myservo.attach(10); // command.attach sitoo servon porttiin 10 (mikä tahansa muu on mahdollinen)
}
void loop()
{
myservo.write(0); // command.write kääntää servoakselin haluttuun kulmaan (voi olla 0 - 180)

myservo.write(180); // Kierrä akselia 180 astetta
viive (2000); // tauko 2 sekuntia
}

Mitä sinun on korostettava tästä koodista:

  • Käytä // osoittaaksesi yksirivisen kommentin tarvittaessa monirivinen kommentti, asetamme sen kohtaan /*… */.
  • Käyttämällä komentoa #sisältää voit yhdistää minkä tahansa kirjaston.
  • Joukkueet .liittää() Ja .kirjoittaa() kuuluvat kirjastoon Servo.h.
  • Joukkue viive () ei koske kirjastoa Servo.h, hän kuuluu vakiokomennot Arduino kieli.
  • Ennen komentoa nimi kirjoitetaan muuttuva tyyppi Servo.
  • Yksi muuttuja koskee vain yhtä servoa.
Kirjastoja on paljon, ja voit ladata ne Internetistä, jos alat etsiä tarvitsemasi moduulin yhteyttä. Muuten, kieli Arduino ohjelmointi nimeltään Wiring ja se on yksinkertaistettu versio C++:sta.

Kuinka asentaa kirjastoja?

Jos haluat toteuttaa kirjaston koodiksi, sinun on asennettava se ja ennen sitä sinun on ladattava se. Lataamasi kirjasto on arkiston muodossa, joka on purettava lisäasennus. Seuraavaksi kirjaston sisältävä kansio on siirrettävä Arduino/libraries-kansioon. Yksityiskohtainen asennus Näet kuvakaappaukset alla.




Jos asennus onnistuu, Arduino IDE:ssä voit löytää esimerkkiluonnoksia asennetusta kirjastosta.


On tärkeää sanoa, että ennen juuri asennetun kirjaston käyttöä Arduino IDE on käynnistettävä uudelleen.

Kirjastojen tyypit

Kaikki Arduino-kirjastot voidaan jakaa useisiin tyyppeihin:
  • Vakiokirjastot (sisäänrakennetut) ovat niitä kirjastoja, jotka on rakennettu Arduino IDE:hen. He eivät tarvitse erillinen asennus ja ne ovat käytettävissä heti Arduino IDE:n asennuksen jälkeen.
  • Lisäkirjastoja ovat ne kirjastot, joita ei ole rakennettu Arduino IDE:hen. Ne löytyvät Internetistä, esimerkiksi Githubista. Näiden kirjastojen kehittämisestä vastaavat pääasiassa anturivalmistajat.
  • Riippuvaiset kirjastot - nämä kirjastot luokitellaan lisäkirjastoiksi. Kirjastoa, joka ei voi toimia ilman toista, kutsutaan riippuvaiseksi.

Miksi kirjastoja tarvitaan?

Arduino-ohjelmointikielen kirjastoja tarvitaan koodin yksinkertaistamiseksi ja työskentelyyn erilaisia ​​moduuleja. Pohjimmiltaan yksi kirjaston komento piilottaa useita kirjaston luojan kirjoittamia koodirivejä. Teoriassa useimpia moduuleja voidaan ohjata ilman kirjastoja, mutta luonnoksen kirjoittaminen tätä varten vie paljon aikaa ja vaivaa. Mutta silti, et todennäköisesti pysty hallitsemaan LCD-näyttöä ilman kirjastojen apua.

Siksi näyttöä pidetään yhtenä vaikeimmista moduuleista aloittelijoille. Katsotaanpa sitten esimerkkiä näytön ohjauksen luonnoksesta, koska se sisältää kaksi kirjastoa kerralla.


lcd näyttö I2C-protokollalla


Emme kuitenkaan harkitse yksinkertaista tekstinäyttöä, vaan sellaista, jossa on I2C-protokolla. I2C-protokolla on pieni musta taulu takapuoli näyttö (toinen kuva). Tämä kortti yhdessä siihen liittyvän kirjaston kanssa on suunniteltu vähentämään koodirivejä ja vähentämään liitettävien johtojen määrää, rajoittaen sen vain neljään.

#sisältää // yhdistä kirjasto I2C:tä varten
#sisältää // Yhdistä kirjasto käyttämään tekstinäyttöä

LiquidCrystal_I2C lcd(0x27, 16, 2);
/* Jotta näyttö toimisi, sinun on löydettävä sen osoite, mutta emme käsittele tätä tässä artikkelissa. 16 - solujen määrä riviä kohden. 4 - rivien määrä. Näitä parametreja voidaan muuttaa näytön mukaan. */

void setup()

{
lcd.begin(); // kytkee näytön päälle
lcd.backlight(); // Ota taustavalo käyttöön
lcd.print("Hei, maailma!"); // tulostaa tekstiä
}

void loop()
{
// Emme kirjoita tänne mitään
}

Olen varma, että olet jo löytänyt kirjastoon liittyviä komentoja LiquidCrystal_I2C.h. Tämä .begin .backlight Ja .painaa. Tässä luonnoksessa kirjasto Wire.h tarvitaan oikea toiminta I2C-protokolla.

Bottom line

Kirjastot ovat erittäin tarpeellisia ohjelmoinnissa. Ne voivat merkittävästi yksinkertaistaa luonnosten kirjoittamista ja tehdä moduulien hallinnasta helpompaa. Tässä artikkelissa selvitimme, mitä kirjastot ovat, kuinka ne asennetaan ja miksi niitä tarvitaan. Katsoimme myös pari esimerkkiä. Siinä kaikki.

Tämä asiakirja kuvaa kirjaston luomista Arduinolle. Selitys alkaa kirjoittamalla luonnos morsekoodin lähettämisestä LED-valolla. Sitten näytetään, kuinka luonnos muunnetaan kirjastoksi. Näin muut käyttäjät voivat helposti käyttää luotua koodia, päivittää ja laajentaa sitä.

Piirros morsekoodin toistosta:

Int pin = 13; void setup() ( pinMode(pin, OUTPUT); ) void loop() ( piste(); piste(); piste(); viiva(); viiva(); viiva(); piste(); piste(); dot(3000) void dot() ( digitalWrite(pin, HIGH); viive(250); digitalWrite(pin, LOW); viive(250); ) void dash() (digitaalikirjoitus(pin, HIGH); ) viive (1000)

Tämä luonnos luo SOS-signaalin vilkkumalla nastan 13 LED-valoa.

Luonnos sisältää useita koodinpätkiä, jotka on siirrettävä kirjastoon. Ensinnäkin nämä ovat toimintoja piste() Ja viiva(), jotka ohjaavat LED-valon vilkkumista. Toiseksi se on muuttuja ledPin, määrittää käytettävän I/O-portin. Ja lopuksi funktiokutsu pinMode(), joka määrittää käytettävän I/O-portin lähtötilan .

Prosessi luonnoksen muuntamiseksi kirjastoksi.

Kirjasto sisältää kaksi tiedostoa: otsikkotiedoston (tunniste .h) ja toteutustiedostot (tunniste .cpp). Otsikkotiedosto sisältää kirjaston ominaisuudet, ts. luettelo kaikesta, mitä se sisältää. Luodun otsikkotiedoston nimi on Morse.h. varten jatkotyötä otsikkotiedoston kanssa, sinun on katsottava toteutustiedoston sisältö.

Otsikkotiedosto sisältää luokan, jossa funktiot ilmoitetaan ja muuttujia käytetään:

Class Morse ( julkinen: Morse(int pin); void dot(); void dash(); yksityinen: int _pin; );

Luokka sisään tässä tapauksessa tämä on joukko toimintoja ja muuttujia, jotka on yhdistetty yhteen paikkaan. Funktiot ja muuttujat voivat olla julkisia ( julkinen), mikä tarkoittaa yleinen pääsy heille kaikille, jotka käyttävät kirjastoa tai yksityisiä ( yksityinen), mikä tarkoittaa, että niitä voi käyttää vain luokassa. Jokaisella luokalla on erikoistoiminto konstruktori, jota käytetään luomaan luokan esiintymä. Rakentajalla on sama nimi kuin luokalla, mutta sillä ei ole palautustyyppiä.

Myös otsikkotiedosto sisältää useita muita lisärivejä. Ensinnäkin tämä on direktiivi #sisältää, joka antaa pääsyn vakiotyypit Ja pysyvä kieli Arduino-ohjelmointi (oletusdirektiivi lisätään jokaiseen luonnokseen, mutta ei kirjastoon). Direktiivi näyttää tältä (ja sijaitsee luokkailmoituksen yläpuolella):

#include "WProgram.h"

Arduinon versioissa 1.0 ja uudemmissa sinun on myös lisättävä:

#sisältää Arduino.h

On myös yleistä liittää otsikkotiedoston sisältö seuraavaan rakenteeseen:

#ifndef Morse_h #define Morse_h // #sisällytä käskyt ja koodi menee tähän #endif

Tämä estää yhdistäminen uudelleen kirjastomme, jos joku vahingossa sisällyttää kirjaston käskyllä ​​kahdesti #sisältää.

Kirjastokoodin alkuun on tapana laittaa huomautus sen tarkoituksesta, tekijästä, päivämäärästä ja kirjaston lisenssistä.

Valmis otsikkotiedosto sisältää:

/* Morse.h - Kirjasto vilkkuvalle morsekoodille.

Luonut David A. Mellis, 2. marraskuuta 2007. Julkaistu julkisesti. */ #ifndef Morse_h #define Morse_h #include "WProgram.h"-luokka Morse ( public: Morse(int pin); void dot(); void dash(); yksityinen: int _pin; ); #endif

Katsotaanpa Morse.cpp-toteutustiedostoa. #sisältää Koodin alussa on useita ohjeita . Nämä direktiivit mahdollistavat pääsyn standardeihin Arduino toiminnot

ja pääkirjastotiedoston ominaisuuksiin:

#include "WProgram.h" #include "Morse.h" Seuraavaksi koodissa on rakentaja. Sitä käytetään esiintymän luomiseen luotu luokka

. Tässä tapauksessa käyttäjä määrittää käytettävän I/O-portin numeron parametrin kautta. Portti on asetettu lähtötilaan ja numero tallennetaan yksityiseen muuttujaan käytettäväksi muissa toiminnoissa:

Morse::Morse(int pin) ( pinMode(pin, OUTPUT); _pin = pin; ) Koodi:: Morsea . tarkoittaa, että funktio kuuluu Morse-luokkaan _ Alempi välilyönti muuttujan nimen alussapin hyväksytty nimitys Alempi välilyönti muuttujan nimen alussa).

yksityisille muuttujille. Yleensä nimi voi olla mikä tahansa, mutta hyväksyttyjen nimeämiskäytäntöjen mukaan on tapana käyttää etuliitettä "_" yksityisille muuttujille. Tämä mahdollistaa myös erottamisen funktion argumentista (tässä tapauksessa

Void Morse::piste() ( digitalWrite(_pin, HIGH); viive(250); digitalWrite(_pin, LOW); viive(250); ) void Morse::dash() ( digitalWrite(_pin, HIGH); viive( 1000 digitalWrite(_pin, LOW); Yleisenä käytäntönä on sijoittaa joitakin selittäviä kommentteja toteutustiedoston koodin alkuun. Täysi koodi

kirjastot:

Kirjaston käyttäminen.

Ensin sinun on luotava kansio Koodi alikansiossa kirjastot muistilehtiö hakemistoja. Toiseksi sinun on kopioitava Morse.h- ja Morse.cpp-tiedostot soz-tiedostoon tämä kansio. Käynnistyksen jälkeen Arduino ohjelmat valikossa Sketch > ImportLibrary Morse-kirjasto sijaitsee. Kirjasto kootaan yhdessä sitä käyttävien luonnosten kanssa. Jos kirjastoa käännettäessä ilmenee ongelmia, on tarkistettava, että sen tiedostojen tunnisteet ovat .cpp ja .h (lisätunnisteita .pde ja .txt ei pitäisi olla).

Alkuperäinen luonnos, joka on kirjoitettu uudelleen luodun kirjaston avulla, näyttää tältä:

#sisältää Morsemorse(13); void setup() ( ) void loop() ( morse.dot(); morse.dot(); morse.dot(); morse.dash(); morse.dash(); morse.dash(); morse.dot (); morse.piste();

Muutama ero alkuperäiseen luonnokseen:

Ensinnäkin direktiivit on lisätty #sisältää luonnoksen alkuun. Tämä määrittää Morse-kirjaston saatavuuden ja sen yhteyden. Käyttämätön kirjasto voidaan poistaa poistamalla käsky #sisällytä.

Toiseksi luodaan Morse-luokan esiintymä, nimeltään morsia:

Morsemorse(13);

Kun suoritat tätä riviä (ennen toiminnon suorittamista setup()) kutsutaan Morse-luokan konstruktori, joka ottaa esimerkin (13) argumentin.

Tässä tapauksessa toiminto setup() ei sisällä mitään, koska PinMode()-funktiokutsu tapahtui kirjaston sisällä (kun luokkainstanssi luotiin).

Kolmanneksi toimintojen kutsumista varten piste() Ja viiva() etuliite on lisättävä morsia. - käytetyn esiintymän nimi. Morse-luokalla voi olla useita esiintymiä, joista jokaisella on oma porttinumeronsa tallennettuna paikalliseen muuttujaan _pin. Toimintokutsu tietyssä ilmentymässä määrittää, mitä muuttujia puhelun aikana käytetään. Kun otetaan huomioon seuraavat kaksi riviä:

Morsemorse(13); Morse morse2(12);

puhelun sisällä morse2.piste(), muuttuva _pin sen arvo on 12.

Valitettavasti automaattinen koodin korostus ei toimi laajennuskirjastojen kanssa. Jotta taustavalo toimisi, sinun on luotava tiedosto nimeltä avainsanat.txt. Esimerkki:

Morse KEYWORD1 viiva KEYWORD2 piste KEYWORD2

Jokaisen rivin vieressä sarkaimella erotettuna on varattu sana, ja taas sarkaimella erotettuna sanan tyyppi. Luokat vastaavat varattu sana KEYWORD1 ja värillinen oranssi; funktiot ovat KEYWORD2 ja ne ovat ruskeita. Sanojen tunnistamiseksi sinun on käynnistettävä Arduino-kehitysympäristö uudelleen.

Luodun kirjaston mukana kannattaa aina liittää esimerkki sen käytöstä. Tätä varten luodaan kansio esimerkkejä hakemistossa Koodi. Sitten aiemmin luotu SOS-luonnos kopioidaan tähän kansioon. (Luonnostiedosto löytyy valikon kautta Sketch > ShowSketchFolder). Kun Arduino on käynnistetty uudelleen valikossa Tiedosto > Luonnoskirja > Esimerkit tulee olemaan pointtia Kirjasto-morse, sisältää esimerkin. Sinun tulee myös kommentoida kirjaston parasta käyttöä.