Sisällysluettelo:

Arduino IDE: Mukautettujen taulujen luominen: 10 vaihetta
Arduino IDE: Mukautettujen taulujen luominen: 10 vaihetta

Video: Arduino IDE: Mukautettujen taulujen luominen: 10 vaihetta

Video: Arduino IDE: Mukautettujen taulujen luominen: 10 vaihetta
Video: Learn Arduino in 30 Minutes: Examples and projects 2024, Heinäkuu
Anonim
Arduino IDE: Mukautettujen taulujen luominen
Arduino IDE: Mukautettujen taulujen luominen
Arduino IDE: Mukautettujen taulujen luominen
Arduino IDE: Mukautettujen taulujen luominen
Arduino IDE: Mukautettujen taulujen luominen
Arduino IDE: Mukautettujen taulujen luominen

Viimeisten kuuden kuukauden aikana olen viettänyt paljon aikaa eri kirjastojen siirtämiseen Robo HAT MM1 -levylle, jonka Robotics Masters on kehittänyt. Tämä on johtanut siihen, että näistä kirjastoista, niiden toiminnasta kulissien takana ja paljon tärkeintä - mitä tehdä uusien levyjen lisäämiseksi tulevaisuudessa - on saatu paljon selvää.

Tämä on ensimmäinen sarja kirjoituksia, joita aion tehdä auttaakseni muita, jotka haluavat siirtää kirjastoja taululleen. Monet tietolähteistä voivat olla epämääräisiä tai ulkopuolisten vaikea ymmärtää. Toivon, että voin "demystifioida" ja selittää kuinka saavuttaa onnistunut satama kaikille.

Tänään tarkastelemme Arduino -alustaa. Siinä on yli 700 000 eri levyversiota ympäri maailmaa ja se on yksi suosituimmista elektroniikka -alustoista koulutukselle, teollisuudelle ja valmistajille.

Löysin vain hyvin rajalliset tietolähteet tämän tekemisestä monien Googlen hakujen jälkeen. Joten ajattelin kirjoittaa yksityiskohtaisesti, miten tein sen.

Nyt sitä mennään!

Vaihe 1: Ennen kuin aloitat

Ennen kuin aloitat ohjelmistokirjaston tai laiteohjelmiston siirtämisen taulullesi, sinun on tiedettävä muutama käyttämäsi tekniikan keskeinen kohta ja voitava vastata alla oleviin kysymyksiin.

  1. Mitä prosessoria käytät?
  2. Mitä arkkitehtuuria se käyttää?
  3. Onko minulla pääsy tämän mikroprosessorin tietolomakkeeseen?
  4. Onko markkinoilla vastaavaa levyä, joka käyttää samaa mikroprosessoria?

Nämä ovat erittäin tärkeitä. Se vaikuttaa moniin näkökohtiin, miten lähestyt kehitysprosessia.

Arduino -levyt käyttävät yleensä rajoitettua määrää prosessorityyppejä ja -arkkitehtuureja. Yleisin on ATMEGA -sarja, joka käyttää AVR -arkkitehtuuria (Arduino Uno). Uudemmat Arduinon sukupolvet yleistyvät SAMD -prosessoreiden (ARM) ja muiden tehokkaampien prosessorien avulla. Joten on tärkeää tarkistaa, mitä käytät.

Mikroprosessorin tietolomake on ehdottoman välttämätön sen varmistamiseksi, että levy reagoi odotetusti laiteohjelmiston kokoamisen yhteydessä. Ilman sitä et voi asettaa oikeita nastan lähtötoimintoja tai määrittää sarjaportteja.

Kun sinulla on kaikki tarvitsemasi tiedot käyttämästäsi suorittimesta, voit alkaa tarkastella ohjelmistoa ja muokata sitä toimimaan mukautetulla levylläsi.

Vaihe 2: Yleiskatsaus

Hankkeen vaikein osa on löytää hyvä lähtökohta. Tämä ei ole erilainen. Minulla oli vaikeuksia löytää hyviä opetusohjelmia, joissa oli tarpeeksi yksityiskohtaisia tietoja mukautettujen levyjen luomisesta Arduinolle. Useimmat opetusohjelmat osoittavat, kuinka "lisätä mukautettua taulua", mutta ei kuinka luoda "mukautettua taulua". Tässä on lyhyt yhteenveto siitä, mitä siihen liittyy.

  1. Lataa olemassa olevat hallituksen määritelmät ja kopio
  2. Määritelmätiedostojen päivittäminen (variant.h, varient.cpp)
  3. Luo hallituksen merkintä (board.txt)
  4. Päivitä hallituksen versio (platform.txt)
  5. Asennukseen valmistautuminen (json)
  6. Boardin asentaminen Arduino IDE: hen

Jokainen vaihe selitetään yksityiskohtaisesti alla. Käydään myös laajaa keskustelua siitä, miten kukin tiedosto on vuorovaikutuksessa toistensa kanssa, jotta voidaan selvittää, miten kaikki toimii Arduino IDE: n takana.

Tässä opetusohjelmassa näytän sinulle, kuinka luoda mukautettu levy SAMD -prosessoreille. Tarkemmin sanottuna SAMD21G18A - mikroprosessori, jota käytin siirtämässäni Robo HAT MM1 -kortissa.

Oletan myös, että sinulla on jo ladattu Arduino IDE 1.8 tai uudempi. Käytin Arduinoa 1.8.9 kirjoituksen aikaan.

Vaihe 3: Olemassa olevien taulujen lataaminen

Olemassa olevien taulujen lataaminen
Olemassa olevien taulujen lataaminen
Olemassa olevien taulujen lataaminen
Olemassa olevien taulujen lataaminen
Olemassa olevien taulujen lataaminen
Olemassa olevien taulujen lataaminen

Ensimmäinen askel on ladata lähimpi Arduino -kortti, joka vastaa korttiasi. SAMD -levyille tämä on Arduino Zero.

Arduino IDE 1.6: n jälkeen tapa ladata uusia levyjä ympäristöön on ollut lisätä ohjelmistokehittäjien tarjoamia erityisiä JSON -tiedostoja ja asentaa sitten mukautetut levyt Boards Managerin avulla. Arduino IDE: n aiemmat versiot käyttivät eri menetelmää, josta emme keskustele tänään. Luomme oman JSON -tiedoston myöhemmin tässä opetusohjelmassa, mutta meidän on ensin lisättävä Arduino Zero -levy tällä menetelmällä.

Onneksi meille ladattava levy ei tarvitse JSON -tiedostoa, koska JSON -tiedosto on esipakattu Arduino IDE: n kanssa - joten meidän tarvitsee vain asentaa levy Boards Managerista.

Voit tehdä tämän siirtymällä "Työkalut" -kohtaan ja laajentamalla "Hallitus" -valikon. "Hallitus" -valikon yläosassa on "Hallituksen johtaja". Avaa Boards Manager napsauttamalla tätä valikkovaihtoehtoa.

(Katso kuvat)

Kun Boards Manager avataan, se tarkastelee kaikkia Arduino IDE: hen tallentamiaan JSON -tiedostoja ja lataa sitten asetukset tiedostosta. Sinun pitäisi nähdä pitkä luettelo saatavilla olevista Arduino -levyistä, jotka voit asentaa.

(Katso kuvat)

Olemme kiinnostuneita vain tämän opetusohjelman "Arduino SAMD Boards (32-bit ARM Cortex-M0+)" -kortista, mutta voit poiketa ja asentaa tarvitsemasi levyn tässä vaiheessa. Etsi ja asenna”Arduino SAMD Boards (32-bit ARM Cortex-M0+)” -kortti. Tämä voidaan tehdä napsauttamalla luettelossa olevaa tekstiä ja sen oikealla puolella olevaa "Asenna" -painiketta, joka tulee näkyviin, kun olet napsauttanut tekstiä. Asentaminen kestää pari minuuttia.

Lisätietoja uusien levyjen asentamisesta: Adafruitilla on loistava opetusohjelma, joka selittää Feature M0 -levyjen asentamisen.

Nyt kun levytiedostot on asennettu, voimme kopioida ne, jotta niitä voidaan muokata mukautetulle levyllesi.

Vaihe 4: Taulukkotiedostojen etsiminen ja kopioiminen

Hallintatiedostojen etsiminen ja kopioiminen
Hallintatiedostojen etsiminen ja kopioiminen
Hallintatiedostojen etsiminen ja kopioiminen
Hallintatiedostojen etsiminen ja kopioiminen
Hallintatiedostojen etsiminen ja kopioiminen
Hallintatiedostojen etsiminen ja kopioiminen

Windowsissa Board Files sijaitsevat (muista vaihtaa käyttäjänimi käyttäjänimeksi):

C: / Käyttäjät / käyttäjätunnus / AppData / Paikallinen / Arduino15 / paketit

Tässä kansiossa sinun on mentävä hieman syvemmälle päästäksesi tiedostoihin, jotka sinun on kopioitava muokattavaksi. Tässä opetusohjelmassa menemme hakemaan Arduino Zero -korttitiedostot, jotka asennetaan (muista vaihtaa käyttäjänimi käyttäjänimeksi):

C: / Käyttäjät / käyttäjätunnus / AppData / Paikallinen / Arduino15 / paketit / arduino / laitteisto / samd

Kopioi tässä hakemistossa oleva versionumeroinen kansio uuteen kansioon Dokumentit-kansiossa tai valitsemassasi kansiossa. Tätä opetusohjelmaa varten laitan ne uuteen kansioon nimeltä "mukautetut levyt" asiakirjojen sisällä.

Kansio sisältää useita kansioita ja hakemistoja. Ne, joita käytämme, on merkitty kuvakaappauksen taulukkoon.

Vaihe 5: Variantin luominen

Variantin luominen
Variantin luominen
Variantin luominen
Variantin luominen
Variantin luominen
Variantin luominen
Variantin luominen
Variantin luominen

Olemme nyt valmiita aloittamaan mukautetun levymerkinnän luomisen. Tässä opetusohjelmassa käytän esimerkkinä Robo HAT MM1. Kuten aiemmin mainittiin, se on SAMD -pohjainen levy, joka vastaa lähinnä Arduino Zero -rakennetta.

Aloitamme menemällä varianttikansioon ja kopioimalla siellä olevan arduino_zero -kansion. Nimeämme uuden levyversion "robohatmm1". Voit soittaa omillesi mitä haluat.

(Katso kuva)

Robohatmm1 -kansion sisällä on kaksi nastaa, jotka meidän on aloitettava muokkaaminen: variant.cpp ja variant.h. Avaa molemmat.

Tämä kesti jonkin aikaa selvittääkseni, joten selitän sen täällä säästääksesi aikaa. Variant.cpp -tiedosto sisältää erittäin suuren joukon nastoja, joihin viitataan muunnelmassa variant.h. Kaikki variantin h tapit viittaavat viittaukseen tapin kokoonpanoon tietyssä kohdassa variant.cpp -taulukossa.

(Katso kuvakaappaus kahdella tiedostolla)

Suurin osa muokkauksistasi tapahtuu siis molemmissa tiedostoissa, mutta sinun on varmistettava, että jos muutat nastojen järjestystä varianteissa.cpp - sinun on muutettava otsikkotiedoston viittaukset (variantit.h). Robo HAT MM1: n osalta minun piti vain muuttaa joitain nastoja ja toimintoja. Tämä tehtiin muunnelmissa. H. Lisäsin uusia PWM -nastoja, koska SAMD21 pystyy käsittelemään 12 PWM -kanavaa. Lisäsin myös joitain nimiä servoille, signaaleille (ADC/Digitalin sijaan) ja mukautetun kartoituksen oikeille toiminnoille - kuten SPI, UART ja I2C.

Tärkeä huomioitava asia on tarkistaa vielä kerran, että taulukkoviitteet, joita käytät muunnelmissa hahmoteltuihin toimintoihin, vastaavat varaints.cpp -nastan viittausta - jota tarkastelemme nyt.

Variants.cpp on erittäin tehokas ja tärkeä tiedosto. Se tekee kaiken kovan työn asettaa nastat vastaamaan laitteiston asetuksia. Helpoin tapa selittää tämä on esimerkillä ja selityksellä jokaisesta osasta.

(Katso taulukko kuvakaappauksessa)

Esimerkki (ote variantista. Cpp)

{PORTA, 22, PIO_SERCOM, PIN_ATTR_NONE, No_ADC_Channel, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE}, // SDA

Tämä on Robin HAT MM1: n variaatioiden.cpp -matriisin ensimmäinen tappi. Taulukko taulukosta on toimitettu kuvana (harmaa taulukko).

(Katso kuvat)

Tätä tappia käytetään I2C Data Pin -toiminnossa. Kun katsomme taulukkoa, voimme nähdä, että tätä tappia voidaan käyttää I2C SDA -tappina (hyvä alku!). Nastan nimi on “PA22”, joka on lyhenne sanasta PORTA nastassa 22. Heti voimme asettaa tämän tapin PORTIN ja PIN -numeron.

Seuraavaksi meidän on asetettava nasta sarjaliikenneportiksi. Nastalla on sarjaliikenne käytettävissä toiminnon C (PIO_SERCOM) kautta käyttämällä SERCOM 3: ta ja D käyttäen SERCOM5: tä (PIO_SERCOM_ALT). Robo HAT MM1: ssä käytämme SERCOM3: ta I2C -viestintään. Tämä on toiminnossa C; alias. PIO_SERCOM for variants.cpp.

Koska aiomme käyttää tätä tappia vain I2C SDA: na, muita toimintoja ei tarvitse asettaa. Ne kaikki voidaan asettaa "Ei" tai "Ei" -vaihtoehdoiksi edellisestä taulukosta. Jos kuitenkin halusimme käyttää muita toimintoja - voisimme käydä taulukon läpi ja laittaa ne kaikki oikeisiin tiloihin. Kaikki on esitteessä.

Muunnostiedostojen muokkaaminen voi kestää jonkin aikaa. Ole varovainen ja tarkista aina kolminkertaisesti.

Vaihe 6: Luo hallituksen määritelmä

Luo hallituksen määritelmä
Luo hallituksen määritelmä

Kun sinulla on muunnelmatiedostosi valmiina, sen pitäisi olla suoraan tästä eteenpäin. Suurin osa työstä on tiedostojen kopiointia ja liittämistä tai muokkaamista ja päivittämistä.

Alkaen boards.txt.

(Katso kuva)

Haluat kopioida ja liittää jo olemassa olevan taulun määritelmän. Suosittelen uudelleen Arduino Zeroa.

Yksinkertaisuuden vuoksi muuta vain levyn nimi (ensimmäinen rivi), usb_product, usb_manufacturer ja variantti (robohat). Voit myöhemmin muokata muita argumentteja tarpeidesi mukaan - kuten mukautettua käynnistyslatainta tai erilaisia USB VID/PID -levyjä korttisi tunnistamiseksi.

Tauluversion on vastattava alussa luodun kansion nimeä. Tässä opetusohjelmassa kutsuin sitä "robohatmm1".

On myös suositeltavaa muuttaa jokaisen rivin ensimmäinen osa vastaamaan hallituksen nimeä. Kuvakaappauksessa se on muutettu muotoon "robo_hat_mm1". Sinun pitäisi valita taululle nimi samassa muodossa.

Tämä koskee kaikkia boards.txt -tiedostoja, ellet halua tehdä yllä mainittuja muutoksia myöhemmin.

Vaihe 7: Päivitä hallituksen versio

Päivitä hallituksen versio
Päivitä hallituksen versio

Vaihda Platform.txt -tiedoston nimi mukautetun taulusi nimeksi. Vaihda myös versionumero. Muista, mihin asetit tämän, tarvitsemme sitä myöhemmin.

Vaihe 8: Luo JSON -pakettitiedosto

Luo JSON -pakettitiedosto
Luo JSON -pakettitiedosto
Luo JSON -pakettitiedosto
Luo JSON -pakettitiedosto

Jotta voit asentaa korttisi Arduino IDE: hen, sinun on luotava tuotava JSON -tiedosto. JSON -tiedosto kertoo Arduino IDE: lle, mistä tiedostot voidaan asentaa levylle, mitä lisäpaketteja tarvitaan ja muutamia muita metatietoja.

On erittäin tärkeää, että tallennat tämän tiedoston sen kansion ulkopuolelle, jossa olemme juuri työskennelleet.

Suurin osa tiedostosta voidaan kopioida ja liittää omaan tiedostoon. Sinun tarvitsee vain muuttaa "levyt" -osio ja muut metatiedot tiedoston yläosassa. Katso kuvakaappaus, mitä pitäisi päivittää.

(Katso kuva)

  • Punainen osio: Nämä ovat metatietoja, joita käyttäjät voivat käyttää apuna. Sillä on hyvin vähän teknistä merkitystä.
  • Sininen osa: Kaikki nämä ovat tärkeitä. Ne näkyvät Arduino IDE: ssä. Nimi, arkkitehtuuri ja versio näytetään kaikille, jotka yrittävät asentaa paketin. Täällä sinun on lisättävä versionumero osoitteesta platform.txt. Toinen sininen osa on luettelo pakkauksessa olevista levyistä. Sinulla voi olla useita levyjä.
  • Vihreä osa: Tämä osa vaatii lisäselvityksiä.

(Katso taulukko kuvissa)

Kun olet luonut zip -tiedoston, saanut zip -tiedoston tarkistussumman ja tiedoston koon, voit nyt ladata zip -tiedoston sijaintiin. Sinun on lisättävä kyseinen URL -osoite url -kenttään. Jos nimi tai jokin yllä olevista tiedoista on virheellinen, mukautetun korttisi asennus epäonnistuu.

Varmista, että lataat myös package_boardname_index.json -tiedoston julkiseen paikkaan Internetissä. GitHub on hyvä vaihtoehto.

Robo HAT MM1 mukautetun kartongin tiedosto löytyy täältä.

Vaihe 9: Viimeinen vaihe - asenna mukautettu levy

Viimeinen vaihe - asenna mukautettu levy!
Viimeinen vaihe - asenna mukautettu levy!
Viimeinen vaihe - asenna mukautettu levy!
Viimeinen vaihe - asenna mukautettu levy!

Kaikki menee hyvin, sinun pitäisi nyt pystyä sisällyttämään JSON -tiedostosi Arduino IDE: hen ja asentamaan mukautettu levy.

JSON -tiedoston lisääminen on helppoa! Siirry Arduino IDE: ssä vain kohtaan "Tiedosto"> "Asetukset" ja kopioi ja liitä pakettisi_laudan_index.json sijainti (URL -osoite) Asetukset -valikon alaosassa olevaan Lisätaulujen hallinnan URL -osoitteet -osaan.

(Katso kuva)

Paina sitten OK.

Asenna uudet levyt yllä olevien ohjeiden mukaisesti, jos olet unohtanut. Muista etsiä omat taulusi tällä kertaa!

(Katso kuva)

Lisätietoja uusien levyjen asentamisesta: Adafruitilla on loistava opetusohjelma, joka selittää Feature M0 -levyjen asentamisen.

Vaihe 10: Johtopäätös

Johtopäätös
Johtopäätös
Johtopäätös
Johtopäätös

Tämä on ollut hauskaa luoda mukautettuja Arduino -levyjä. Minulla on vielä paljon kokeiltavaa tulevaisuudessa (lisäämällä sarjaportteja), mutta se on ollut hieno oppimiskokemus!

Muista tutustua myös Crowd Supply -kampanjaan. Se päättyy 11.6.2019.

www.crowdsupply.com/robotics-masters/robo-…

Toivottavasti tämä auttoi sinua tai sinulla oli hauskaa lukea!

Kiitos!

Suositeltava: