Sisukord:

Arduino IDE: kohandatud tahvlite loomine: 10 sammu
Arduino IDE: kohandatud tahvlite loomine: 10 sammu

Video: Arduino IDE: kohandatud tahvlite loomine: 10 sammu

Video: Arduino IDE: kohandatud tahvlite loomine: 10 sammu
Video: 30 лучших советов и рекомендаций по Windows 10 на 2020 год 2024, Juuli
Anonim
Arduino IDE: kohandatud tahvlite loomine
Arduino IDE: kohandatud tahvlite loomine
Arduino IDE: kohandatud tahvlite loomine
Arduino IDE: kohandatud tahvlite loomine
Arduino IDE: kohandatud tahvlite loomine
Arduino IDE: kohandatud tahvlite loomine

Viimase kuue kuu jooksul olen kulutanud palju aega erinevate raamatukogude ülekandmiseks Robo HAT MM1 tahvlile, mille on välja töötanud Robotics Masters. See on toonud kaasa nende raamatukogude kohta palju avastamist, nende kulisside taga töötamist ja mis kõige tähtsam - mida teha uute tahvlite lisamiseks tulevikus.

See on esimene üleskirjutuste seeriast, mida ma teen, et aidata teisi, kes soovivad raamatukogusid oma tahvlitele teisaldada. Paljud teabeallikad võivad olla ebamäärased või kõrvalistele inimestele raskesti mõistetavad. Loodan „demüstifitseerida” ja selgitada kõigile, kuidas saavutada edukas sadam.

Täna vaatame Arduino platvormi. Sellel on üle 700 000 erineva plaadivariandi kogu maailmas ning see on üks populaarsemaid elektroonikaplatvorme haridusele, tööstusele ja tegijatele.

Pärast paljusid Google'i otsinguid leidsin ainult väga piiratud teabeallikaid selle kohta, kuidas seda teha. Seega mõtlesin, et kirjutan üksikasjalikult, kuidas ma seda tegin.

Siin me läheme!

Samm: enne alustamist

Enne tarkvararaamatukogu või püsivara oma plaadile teisaldamise alustamist peate teadma mõningaid põhipunkte kasutatava tehnoloogia kohta ja suutma vastata järgmistele küsimustele.

  1. Mis protsessorit kasutad?
  2. Millist arhitektuuri see kasutab?
  3. Kas mul on juurdepääs selle mikroprotsessori andmelehele?
  4. Kas turul on sarnane plaat, mis kasutab sama mikroprotsessorit?

Need on väga olulised. See mõjutab arendusprotsessile lähenemise paljusid aspekte.

Arduino tahvlid kasutavad tavaliselt piiratud arvu protsessoritüüpe ja arhitektuure. Kõige tavalisem on AVTM -i arhitektuuri kasutav ATMEGA -sari (Arduino Uno). Uued Arduinode põlvkonnad muutuvad üha tavalisemaks, kasutades SAMD protsessoreid (ARM) ja muid võimsamaid protsessoreid. Seetõttu on oluline kontrollida, millist neist kasutate.

Mikroprotsessori andmeleht on hädavajalik tagamaks, et plaat reageerib püsivara kompileerimisel ootuspäraselt. Ilma selleta ei saa te õigeid pin -väljundfunktsioone seadistada ega jadaporte seadistada.

Kui teil on kogu vajalik teave teie kasutatava protsessori kohta, võite hakata tarkvara vaatama ja seda kohandatud plaadi jaoks töötama.

2. samm: ülevaade

Mis tahes projekti kõige raskem osa on hea lähtepunkti leidmine. See pole teisiti. Ma nägin vaeva, et leida häid õpetusi, kus oleks piisavalt üksikasju Arduino jaoks kohandatud tahvlite loomiseks. Enamik õpetusi näitab teile, kuidas kohandatud tahvlit lisada, kuid mitte seda, kuidas kohandatud tahvlit luua. Siin on lühike kokkuvõte sellest, mis sellega on seotud.

  1. Laadige alla olemasolevad juhatuse määratlused ja koopia
  2. Definitsioonifailide värskendamine (variant.h, varient.cpp)
  3. Loo juhatuse kanne (board.txt)
  4. Tahvli versiooni värskendamine (platform.txt)
  5. Installimiseks valmistumine (json)
  6. Tahvli installimine Arduino IDE -sse

Iga sammu selgitatakse üksikasjalikult allpool. Samuti toimub ulatuslik arutelu selle üle, kuidas iga fail üksteisega suhtleb, et aidata selgitada, kuidas kõik Arduino IDE taga töötab.

Selle õpetuse jaoks näitan teile, kuidas SAMD -protsessoritele kohandatud tahvlit luua. Täpsemalt, SAMD21G18A - see on mikroprotsessor, mida kasutasin Robo HAT MM1 plaadil, mida ma teisaldasin.

Samuti eeldan, et teil on juba alla laaditud Arduino IDE 1.8 või uuem versioon. Kirjutamise ajal kasutasin Arduino 1.8.9.

Samm: olemasolevate tahvlite allalaadimine

Olemasolevate tahvlite allalaadimine
Olemasolevate tahvlite allalaadimine
Olemasolevate tahvlite allalaadimine
Olemasolevate tahvlite allalaadimine
Olemasolevate tahvlite allalaadimine
Olemasolevate tahvlite allalaadimine

Esimene samm on alla laadida lähim variant Arduino plaat, mis sobib teie lauaga. SAMD -plaatide puhul on see Arduino Zero.

Alates Arduino IDE 1.6 -st on uute tahvlite keskkonda allalaadimise meetodiks spetsiaalsete tarkvaraarendajate pakutavate JSON -failide lisamine ja seejärel kohandatud tahvlite installimine „Boards Manageri” abil. Arduino IDE varasemad versioonid kasutasid erinevat meetodit, mida me täna ei aruta. Hiljem loome selles õpetuses oma JSON -faili, kuid peame selle meetodi abil kõigepealt lisama Arduino Zero plaadi.

Meie õnneks ei vaja plaat, mida tahame alla laadida, JSON -faili, kuna JSON -fail on eelnevalt komplekteeritud Arduino IDE -ga - seega peame lihtsalt plaadi installima „Boards Managerist”.

Selleks minge jaotisse "Tööriistad" ja seejärel laiendage menüüd "Tahvel". Menüü „Juhatus“ülaosas on „Laudade haldur“. Tahvlite halduri avamiseks klõpsake seda menüüvalikut.

(Vaata pilte)

Kui tahvlite haldur avatakse, vaatab ta kõiki Arduino IDE -sse salvestatud JSON -faile ja laadib seejärel failist seaded alla. Te peaksite nägema pikka nimekirja saadaolevatest Arduino tahvlitest, mida saate installida.

(Vaata pilte)

Oleme selle õpetuse jaoks huvitatud ainult tahvlist “Arduino SAMD-plaadid (32-bitised ARM Cortex-M0+)”, kuid võite praegu vajaliku plaadi kõrvale kalduda ja installida. Otsige üles ja installige tahvel “Arduino SAMD-plaadid (32-bitised ARM Cortex-M0+)”. Seda saab teha, klõpsates loendist teksti ja seejärel paremal asuvat nuppu „Installi”, mis kuvatakse pärast tekstile klõpsamist. Paigaldamiseks kulub paar minutit.

Uute tahvlite paigaldamise kohta leiate lisateavet: Adafruitil on siin suurepärane õpetus, mis selgitab, kuidas nende Feature M0 plaate paigaldada.

Nüüd, kui tahvlifailid on installitud, saame neid kopeerida, et neid saaks teie kohandatud tahvli jaoks muuta.

Samm 4: Lauafailide leidmine ja kopeerimine

Lauafailide otsimine ja kopeerimine
Lauafailide otsimine ja kopeerimine
Lauafailide otsimine ja kopeerimine
Lauafailide otsimine ja kopeerimine
Lauafailide otsimine ja kopeerimine
Lauafailide otsimine ja kopeerimine

Windowsi puhul asuvad juhatuse failid (ärge unustage kasutajanime oma kasutajanimeks muuta):

C: / Kasutajad / kasutajanimi / AppData / Kohalik / Arduino15 / paketid

Selles kaustas peate minema veidi sügavamale, et jõuda failideni, mida peate muutmiseks kopeerima. Selle õpetuse jaoks läheme ja saame Arduino Zero tahvli failid, mis installitakse (ärge unustage kasutajanime oma kasutajanimeks muuta):

C: / Kasutajad / kasutajanimi / AppData / Local / Arduino15 / paketid / arduino / hardware / samd

Kopeerige selles kataloogis olev versiooninumbriga kaust oma kausta Dokumendid või teie valitud kausta uude kausta. Selle õpetuse jaoks panen need dokumentide uude kausta nimega "kohandatud tahvlid".

Kaust sisaldab mitmeid kaustu ja katalooge. Need, mida me kasutame, on märgitud ekraanipildi tabelis.

Samm: variandi loomine

Variandi loomine
Variandi loomine
Variandi loomine
Variandi loomine
Variandi loomine
Variandi loomine
Variandi loomine
Variandi loomine

Nüüd oleme valmis alustama kohandatud tahvlikirje loomist. Selle õpetuse jaoks kasutan näitena Robo HAT MM1. Nagu varem mainitud, on see SAMD -põhine plaat, mis sobib kõige paremini Arduino Zero ehitusega.

Alustuseks läheme kausta Variandid ja kopeerime seal asuva kausta arduino_zero. Nimetame uue plaadivariandi ümber „robohatmm1”. Võite helistada omale, kuidas soovite.

(Vaata pilti)

Robohatmm1 kausta sees on kaks tihvti, mida peame redigeerimiseks alustama: variant.cpp ja variant.h. Avage mõlemad.

Selle väljatöötamine võttis mul aega, nii et selgitan seda siin, et säästa aega. Fail variant.cpp sisaldab väga suurt hulka nööpnõelu, millele on viidatud kogu variandis h. Kõik variandi h variandiviited viitavad tihvti konfiguratsioonile massiivi variant.cpp kindlal kohal.

(Vt ekraanipilt kahe failiga)

Niisiis toimub enamik teie muudatusi mõlemas failis, kuid peate veenduma, et kui muudate nööpnõelte järjekorda variantides.cpp - peate muutma päisefaili viiteid (variandid.h). Robo HAT MM1 puhul oli mul vaja ainult mõnda tihvti ja funktsiooni muuta. Seda tehti variantidena.h. Lisasin mõned uued PWM -nööpnõelad, kuna SAMD21 suudab hallata 12 PWM -kanalit. Lisasin õigetele funktsioonidele ka mõned nimed servodele, signaalidele (ADC/Digital asemel) ja kohandatud kaardistamisele - näiteks SPI, UART ja I2C.

Oluline on tähele panna, et kontrollige uuesti, kas massiiviviited, mida kasutate variantides kirjeldatud funktsioonide jaoks, vastavad varaints.cpp tihvti viitele - mida me nüüd vaatame.

Variants.cpp on väga võimas ja oluline fail. See teeb kogu raske töö, määrates tihvtid riistvaraseadetele vastavaks. Lihtsaim viis selle selgitamiseks on iga osa näide ja selgitus.

(Vaata tabelit ekraanipildil)

Näide (väljavõte variantidest. Cpp)

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

See on Robo HAT MM1 massiivi variant.cpp massiivi esimene tihvt. Andmelehe tabel on esitatud pildina (hall tabel).

(Vaata pilte)

Seda konkreetset tihvti kasutatakse I2C andmesidefunktsiooni jaoks. Vaadates tabelit, näeme, et seda tihvti saab kasutada I2C SDA tihvtina (hea algus!). Tihvti nimi on “PA22”, mis on lühend PORTAst tihvtil 22. Kohe saame määrata selle tihvti PORT -i ja tihvti numbri.

Järgmine asi, mida peame tegema, on määrata tihvt jadaühendussadamana. Tihvtil on jadaühendus saadaval funktsiooni C (PIO_SERCOM) kaudu, kasutades SERCOM 3 ja D, kasutades SERCOM5 (PIO_SERCOM_ALT). Robo HAT MM1 jaoks kasutame I2C suhtluseks SERCOM3. See on funktsioonis C; aka. PIO_SERCOM variantidele. Cpp.

Kuna plaanime seda tihvti kasutada ainult I2C SDA -na, ei ole vaja muid funktsioone seadistada. Neid kõiki saab eelmisest tabelist valida „Ei” või „Mitte”. Kui aga sooviksime kasutada muid funktsioone - võiksime minna üle andmelehe ja panna need kõik õigetesse ruumidesse. See on kõik andmelehel.

Variandifailide muutmine võib võtta aega. Olge ettevaatlik ja kontrollige alati kolm korda.

Samm: looge tahvli definitsioon

Looge juhatuse määratlus
Looge juhatuse määratlus

Kui olete oma variandifailid valmis saanud, peaks see siit otse edasi liikuma. Suurem osa tööst on failide kopeerimine ja kleepimine või muutmine ja värskendamine.

Alustades boards.txt.

(Vaata pilti)

Soovite kopeerida ja kleepida tahvli definitsiooni, mis on juba olemas. Ma soovitaksin uuesti Arduino Zerot.

Lihtsuse huvides muutke ainult plaadi nime (esimene rida), usb_product, usb_manufacturer ja varianti (robohat). Teisi argumente saate hiljem kohandada vastavalt oma vajadustele - näiteks kohandatud alglaadurit või erinevaid USB VID/PID -sid oma plaadi tuvastamiseks.

Tahvli variant peab vastama alguses loodud kaustale antud nimele. Selle õpetuse jaoks nimetasin seda "robohatmm1".

Samuti oleks soovitatav muuta iga rea esimene osa vastavalt teie plaadi nimele. Ekraanipildil on see muudetud väärtuseks „robo_hat_mm1”. Peaksite oma plaadile valima sama vormingu nime.

See on kõik board.txt -i jaoks, kui te ei soovi hiljem eespool nimetatud muudatusi teha.

Samm: värskendage plaadi versiooni

Uuendage juhatuse versiooni
Uuendage juhatuse versiooni

Failis platform.txt muutke nimi oma kohandatud tahvli nimeks. Muutke ka versiooni numbrit. Pidage meeles, milleks selle määrasite, vajame seda hiljem.

Samm: looge JSON -i pakettfail

Looge JSON -i pakettfail
Looge JSON -i pakettfail
Looge JSON -i pakettfail
Looge JSON -i pakettfail

Tahvli installimiseks Arduino IDE -sse peate looma importitava JSON -faili. JSON -fail ütleb Arduino IDE -le, kust tahvli installimiseks failid hankida, milliseid lisapakette on vaja ja mõned muud metaandmed.

On väga oluline, et salvestaksite selle faili väljaspool kausta, kus me just töötasime.

Suurema osa failist saab kopeerida ja kleepida oma faili. Peate muutma ainult jaotist „lauad” ja muid metaandmeid faili ülaosas. Vaadake ekraanipilti, mida tuleks värskendada.

(Vaata pilti)

  • Punane sektsioon: need on metaandmed, mida kasutajad saavad abi otsimisel kasutada. Sellel on väga vähe tehnilist tähtsust.
  • Sinine sektsioon: kõik need on olulised. Neid näidatakse Arduino IDE -s. Nime, arhitektuuri ja versiooni näidatakse kõigile, kes proovivad paketti installida. Siia peate sisestama versiooninumbri failist platform.txt. Teine sinine sektsioon on pakendis sisalduvate tahvlite loend. Teil võib olla mitu tahvlit.
  • Roheline jaotis: see jaotis vajab täiendavat selgitust.

(Vaata tabelit piltidel)

Kui olete ZIP -faili loonud, saanud zip -faili kontrollsumma ja faili suuruse, saate nüüd zip -faili asukohta üles laadida. Peate selle URL -i sisestama väljale „URL”. Kui nimi või mõni ülaltoodud üksikasjadest on valed, ei õnnestu teie kohandatud tahvlit installida.

Laadige kindlasti üles ka oma package_boardname_index.json fail avalikku kohta Internetis. GitHub on hea valik.

Robo HAT MM1 kohandatud tahvli faili leiate siit.

9. samm: viimane samm - paigaldage oma kohandatud plaat

Viimane samm - paigaldage oma kohandatud plaat!
Viimane samm - paigaldage oma kohandatud plaat!
Viimane samm - paigaldage oma kohandatud plaat!
Viimane samm - paigaldage oma kohandatud plaat!

Kui kõik läheb hästi, peaksite nüüd saama oma JSON -faili Arduino IDE -sse lisada ja oma kohandatud tahvli installida.

JSON -faili lisamine on lihtne! Arduino IDE -s - minge lihtsalt "Fail"> "Eelistused" ja kopeerige ja kleepige oma paketi_tahvli_index.json asukoht (URL) menüü Eelistused allosas asuvasse jaotisse "Täiendavate tahvlite halduri URL -id".

(Vaata pilti)

Seejärel vajuta OK.

Kui olete unustanud, lugege läbi ülaltoodud juhised uute plaatide paigaldamiseks. Ärge unustage seekord otsida oma kohandatud tahvlit!

(Vaata pilti)

Uute tahvlite paigaldamise kohta leiate lisateavet: Adafruitil on siin suurepärane õpetus, mis selgitab, kuidas nende Feature M0 plaate paigaldada.

10. samm: järeldus

Järeldus
Järeldus
Järeldus
Järeldus

See on olnud lõbus kohandatud Arduino tahvlite loomine. Tulevikus on mul veel palju katsetada (täiendavate jadaportide lisamine), kuid see on olnud suurepärane õppimiskogemus!

Tutvuge kindlasti ka rahvahulga pakkumise kampaaniaga. See lõpeb 11. juunil 2019.

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

Loodan, et see aitas teid või oli teil lõbus lugeda!

Tänan!

Soovitan: