Turinys:

„Arduino IDE“: pasirinktinių lentų kūrimas: 10 žingsnių
„Arduino IDE“: pasirinktinių lentų kūrimas: 10 žingsnių

Video: „Arduino IDE“: pasirinktinių lentų kūrimas: 10 žingsnių

Video: „Arduino IDE“: pasirinktinių lentų kūrimas: 10 žingsnių
Video: Learning iOS: Create your own app with Objective-C! by Tianyu Liu 2024, Liepa
Anonim
„Arduino IDE“: pasirinktinių lentų kūrimas
„Arduino IDE“: pasirinktinių lentų kūrimas
„Arduino IDE“: pasirinktinių lentų kūrimas
„Arduino IDE“: pasirinktinių lentų kūrimas
„Arduino IDE“: pasirinktinių lentų kūrimas
„Arduino IDE“: pasirinktinių lentų kūrimas

Per pastaruosius šešis mėnesius daug laiko praleidau perkeldamas įvairias bibliotekas į „Robotics Masters“sukurtą „Robo HAT MM1“plokštę. Tai leido daug sužinoti apie šias bibliotekas, kaip jos veikia užkulisiuose, o svarbiausia - ką daryti, kad ateityje būtų pridėtos naujos lentos.

Tai pirmas eilė rašymo darbų, kuriuos darysiu, kad padėtų kitiems, norintiems perkelti bibliotekos į savo lentas. Daugelis informacijos šaltinių gali būti neaiškūs arba sunkiai suprantami pašaliniams asmenims. Tikiuosi „demistifikuoti“ir visiems paaiškinti, kaip pasiekti sėkmingą uostą.

Šiandien mes pažvelgsime į „Arduino“platformą. Jis turi daugiau nei 700 000 skirtingų plokščių variantų visame pasaulyje ir yra viena iš populiariausių švietimo, pramonės ir kūrėjų elektronikos platformų.

Po daugelio „Google“paieškų galėjau rasti tik labai ribotus informacijos šaltinius, kaip tai padaryti. Taigi pagalvojau, kad išsamiai parašysiu, kaip tai padariau.

Štai mes!

1 žingsnis: Prieš pradėdami

Prieš pradėdami perkelti programinės įrangos biblioteką ar programinę -aparatinę įrangą į savo plokštę, turite žinoti keletą pagrindinių punktų apie naudojamą technologiją ir sugebėti atsakyti į toliau pateiktus klausimus.

  1. Kokį procesorių naudojate?
  2. Kokią architektūrą ji naudoja?
  3. Ar turiu prieigą prie šio mikroprocesoriaus duomenų lapo?
  4. Ar rinkoje yra panaši plokštė, kurioje naudojamas tas pats mikroprocesorius?

Tai labai svarbu. Tai turės įtakos daugeliui jūsų požiūrio į kūrimo procesą aspektų.

„Arduino“plokštėse paprastai naudojamas ribotas procesorių tipų ir architektūrų skaičius. Dažniausias yra ATMEGA asortimentas, naudojant AVR architektūrą („Arduino Uno“). Naujos „Arduinos“kartos tampa vis populiaresnės naudojant SAMD procesorius (ARM) ir kitus galingesnius procesorius. Taigi svarbu patikrinti, kurį iš jų naudojate.

Mikroprocesoriaus duomenų lapas yra nepaprastai svarbus siekiant užtikrinti, kad plokštė reaguotų taip, kaip tikėtasi, kai surenkate programinę įrangą. Be jo negalėsite nustatyti teisingų kaiščio išvesties funkcijų ar sukonfigūruoti nuosekliųjų prievadų.

Kai turėsite visą reikiamą informaciją apie naudojamą procesorių, galite pradėti žiūrėti programinę įrangą ir ją modifikuoti, kad ji veiktų pagal jūsų pasirinktinę plokštę.

2 žingsnis: apžvalga

Sunkiausia bet kurio projekto dalis yra rasti gerą atspirties tašką. Tai nesiskiria. Aš stengiausi rasti gerų vadovėlių, kuriuose būtų pakankamai detalių, kaip sukurti pasirinktines „Arduino“lentas. Dauguma vadovėlių parodo, kaip „pridėti pasirinktinę lentą“, bet ne kaip sukurti pasirinktinę lentą. Čia yra trumpa santrauka apie tai, kas susiję.

  1. Atsisiųskite esamų lentų apibrėžimus ir nukopijuokite
  2. Atnaujinami apibrėžimo failai (variant.h, varient.cpp)
  3. Sukurti lentos įrašą (board.txt)
  4. Atnaujinti valdybos versiją (platform.txt)
  5. Pasiruošimas diegimui (json)
  6. Lentos diegimas „Arduino IDE“

Žemiau bus išsamiai aprašytas kiekvienas žingsnis. Taip pat bus plačiai diskutuojama apie tai, kaip kiekvienas failas sąveikauja tarpusavyje, kad būtų lengviau išsiaiškinti, kaip viskas veikia už „Arduino IDE“.

Šioje pamokoje aš jums parodysiu, kaip sukurti pasirinktinę plokštę SAMD procesoriams. Tiksliau, SAMD21G18A - tai mikroprocesorius, naudojamas mano perkeltoje „Robo HAT MM1“plokštėje.

Taip pat manau, kad jau turite „Arduino IDE 1.8“ar naujesnę versiją. Rašymo metu naudojau „Arduino 1.8.9“.

3 veiksmas: atsisiųskite esamas plokštes

Atsisiųskite esamas plokštes
Atsisiųskite esamas plokštes
Atsisiųskite esamas plokštes
Atsisiųskite esamas plokštes
Atsisiųskite esamas plokštes
Atsisiųskite esamas plokštes

Pirmasis žingsnis yra atsisiųsti artimiausią „Arduino“plokštės variantą, atitinkantį jūsų lentą. SAMD plokštėms tai yra „Arduino Zero“.

Nuo „Arduino IDE 1.6“naujų plokščių atsisiuntimo į aplinką metodas buvo pridėti specialius programinės įrangos kūrėjų pateiktus JSON failus ir įdiegti pasirinktines plokštes naudojant „Boards Manager“. Ankstesnėse „Arduino IDE“versijose buvo naudojamas kitas metodas, kurio šiandien neaptarinėsime. Vėliau šiame vadove kursime savo JSON failą, tačiau pirmiausia turime pridėti „Arduino Zero“plokštę naudodami šį metodą.

Mums pasisekė, kad lentai, kurią norime atsisiųsti, nereikia JSON failo, nes JSON failas yra iš anksto sujungtas su „Arduino IDE“, todėl mums tiesiog reikia įdiegti plokštę iš „Boards Manager“.

Norėdami tai padaryti, eikite į „Įrankiai“, tada išplėskite meniu „Lenta“. Meniu „Lenta“viršuje bus „Lentų valdytojas“. Spustelėkite šią meniu parinktį, kad atidarytumėte lentų tvarkyklę.

(Žiūrėti vaizdus)

Atidarius lentų tvarkyklę, ji peržiūrės visus JSON failus, kuriuos ji išsaugojo „Arduino IDE“, ir atsisiųs nustatymus iš failo. Turėtumėte pamatyti ilgą galimų įdiegti „Arduino“plokščių sąrašą.

(Žiūrėti vaizdus)

Šiai pamokai mus domina tik „Arduino SAMD plokštės (32 bitų ARM Cortex-M0+)“plokštė, tačiau šiuo metu galite nukrypti ir įdiegti jums reikalingą plokštę. Ieškokite ir įdiekite „Arduino SAMD Boards (32-bit ARM Cortex-M0+)“plokštę. Tai galima padaryti spustelėjus tekstą iš sąrašo ir dešinėje pusėje esantį mygtuką „Įdiegti“, kuris pasirodys spustelėjus tekstą. Įdiegimas užtruks porą minučių.

Norėdami gauti daugiau informacijos apie naujų plokščių diegimą: „Adafruit“turi puikią pamoką, kurioje paaiškinama, kaip įdiegti „Feature M0“plokštes.

Dabar, kai lentos failai buvo įdiegti, galime juos nukopijuoti, kad juos būtų galima pakeisti pagal jūsų pasirinktinę plokštę.

4 žingsnis: lentos failų paieška ir kopijavimas

Lentos failų paieška ir kopijavimas
Lentos failų paieška ir kopijavimas
Lentos failų paieška ir kopijavimas
Lentos failų paieška ir kopijavimas
Lentos failų paieška ir kopijavimas
Lentos failų paieška ir kopijavimas

Jei naudojate „Windows“, lentos failai yra (nepamirškite pakeisti vartotojo vardo į savo vartotojo vardą):

C: / Users / username / AppData / Local / Arduino15 / paketai

Šiame aplanke turite šiek tiek gilintis, kad pasiektumėte failus, kuriuos turite nukopijuoti, kad pakeistumėte. Šioje pamokoje mes eisime ir gausime „Arduino Zero“plokštės failus, kurie bus įdiegti (nepamirškite pakeisti vartotojo vardo į savo vartotojo vardą):

C: / Users / username / AppData / Local / Arduino15 Packages / arduino / hardware / samd

Nukopijuokite šiame kataloge esantį aplanką su versijos numeriu į naują aplanką dokumentų aplanke arba pasirinktą aplanką. Šios pamokos tikslais įdėsiu juos į naują aplanką, pavadintą „pasirinktinės lentos“, esančią „Dokumentuose“.

Aplanke yra daug aplankų ir katalogų. Tie, kuriuos naudosime, yra pažymėti ekrano kopijos lentelėje.

5 veiksmas: sukurkite variantą

Variantų kūrimas
Variantų kūrimas
Variantų kūrimas
Variantų kūrimas
Variantų kūrimas
Variantų kūrimas
Variantų kūrimas
Variantų kūrimas

Dabar esame pasirengę pradėti kurti pasirinktinį lentos įrašą. Šioje pamokoje kaip pavyzdį naudosiu „Robo HAT MM1“. Kaip minėta anksčiau, tai yra SAMD pagrįsta plokštė, kuri yra artimiausia „Arduino Zero“konstrukcijai.

Pradėsime eidami į variantų aplanką ir nukopijuodami ten esantį aplanką arduino_zero. Naują plokštės variantą pavadinsime „robohatmm1“. Jūs galite vadinti savo, kaip jums patinka.

(Žr. Paveikslėlį)

Aplanko robohatmm1 viduje bus du kaiščiai, kuriuos turime pradėti redaguoti: variant.cpp ir variant.h. Atidarykite juos abu.

Tai užtruko, kol išsiaiškinau, todėl paaiškinsiu čia, kad sutaupyčiau laiko. „Variant.cpp“faile yra labai daug kaiščių, kuriuos nurodo visas variantas. H. Visos varianto h kontaktų nuorodos yra nuoroda į kaiščio konfigūraciją tam tikroje varianto cp masyvo vietoje.

(Žr. Ekrano kopiją su dviem failais)

Taigi, dauguma jūsų redagavimų bus atliekami abiejuose šiuose failuose, tačiau turite įsitikinti, kad jei pakeisite kaiščių tvarką variantuose.cpp - turite pakeisti nuorodas antraštės faile (variantai.h). „Robo HAT MM1“man reikėjo pakeisti tik kai kuriuos kaiščius ir funkcijas. Tai buvo daroma variantais.h. Pridėjau keletą naujų PWM kaiščių, nes SAMD21 gali valdyti 12 PWM kanalų. Aš taip pat pridėjau kai kuriuos „Servos“, „Signals“pavadinimus (vietoj ADC/Digital) ir pasirinktinį susiejimą prie tinkamų funkcijų, tokių kaip SPI, UART ir I2C.

Svarbu atkreipti dėmesį į tai, kad dar kartą patikrintumėte, ar masyvo nuorodos, kurias naudojate variantuose nurodytoms funkcijoms. H, sutampa su smeigtuku, esančiu varaints.cpp - kurį mes dabar apžvelgsime.

Variants.cpp yra labai galingas ir svarbus failas. Jis atlieka visą sunkų darbą, nustatydamas kaiščius, kad jie atitiktų aparatūros nustatymus. Lengviausias būdas tai paaiškinti pateikiant kiekvienos dalies pavyzdį ir paaiškinimą.

(Žr. Lentelę ekrano kopijoje)

Pavyzdys (ištrauka iš variantų. Cpp)

{PORTA, 22, PIO_SERCOM, PIN_ATTR_NONE, Nr. ADC_ kanalas, NOT_ON_PWM, NOT_ON_TIMER, EXTERNAL_INT_NONE}, // SDA

Tai pirmasis „Robo HAT MM1“variantų.cpp masyvas. Lentelė iš duomenų lapo pateikta kaip vaizdas (pilka lentelė).

(Žiūrėti vaizdus)

Šis konkretus kaištis naudojamas „I2C Data Pin“funkcijai. Žvelgdami į lentelę matome, kad šį kaištį galima naudoti kaip I2C SDA kaištį (gera pradžia!). Smeigtukas pavadintas „PA22“, kuris trumpai reiškia „PORTA“ant 22 kaiščio. Iš karto galime nustatyti šio kaiščio uostą ir PIN kodą.

Kitas dalykas, kurį turime padaryti, yra nustatyti kaištį kaip nuoseklų ryšio prievadą. Smeigtukas turi nuoseklųjį ryšį per funkciją C (PIO_SERCOM), naudojant SERCOM 3 ir D, naudojant SERCOM5 (PIO_SERCOM_ALT). „Robo HAT MM1“tikslais I2C ryšiui naudojame SERCOM3. Tai yra funkcija C; aka. PIO_SERCOM variantams.cpp.

Kadangi planuojame naudoti šį kaištį tik kaip I2C SDA, nereikia nustatyti jokių kitų funkcijų. Visi jie gali būti nustatyti kaip „Ne“arba „Ne“iš ankstesnės lentelės. Tačiau jei norėtume naudoti kitas funkcijas - galėtume pereiti prie duomenų lapo ir visus juos sudėti į reikiamas vietas. Visa tai yra duomenų lape.

Failų variantų keitimas gali užtrukti. Būkite atsargūs ir visada patikrinkite tris kartus.

6 veiksmas: sukurkite lentos apibrėžimą

Sukurkite lentos apibrėžimą
Sukurkite lentos apibrėžimą

Paruošę savo variantų failus, jie turėtų būti nukreipti tiesiai iš čia. Dauguma darbų bus failų kopijavimas ir įklijavimas arba keitimas ir atnaujinimas.

Pradedant nuo boards.txt.

(Žr. Paveikslėlį)

Norėsite nukopijuoti ir įklijuoti lentos apibrėžimą, kuris jau yra. Aš dar kartą rekomenduočiau „Arduino Zero“.

Paprastumo dėlei pakeiskite tik plokštės pavadinimą (pirmoji eilutė), usb_product, usb_manufacturer ir variantą (robohat). Vėliau galėsite pritaikyti kitus argumentus, kad jie atitiktų jūsų poreikius, pvz., Pasirinktinį įkrovos tvarkyklę arba skirtingus USB VID/PID, kad būtų galima identifikuoti savo plokštę.

Lentos variantas turi atitikti pavadinimą, suteiktą pradžioje sukurtam aplankui. Šiai pamokai aš ją pavadinau „robohatmm1“.

Taip pat rekomenduojama pakeisti pirmąją kiekvienos eilutės dalį, kad ji atitiktų jūsų lentos pavadinimą. Ekrano kopijoje jis pakeistas į „robo_hat_mm1“. Turėtumėte pasirinkti tokio paties formato lentos pavadinimą.

Tai viskas, kas susiję su boards.txt, nebent vėliau norite atlikti tolesnius pakeitimus.

7 veiksmas: atnaujinkite lentos versiją

Atnaujinti valdybos versiją
Atnaujinti valdybos versiją

„Platformas.txt“pakeiskite pavadinimą į pasirinktinės lentos pavadinimą. Taip pat pakeiskite versijos numerį. Prisiminkite, ką nustatėte, mums to prireiks vėliau.

8 veiksmas: sukurkite JSON paketo failą

Sukurkite JSON paketo failą
Sukurkite JSON paketo failą
Sukurkite JSON paketo failą
Sukurkite JSON paketo failą

Norėdami įdiegti lentą „Arduino IDE“, turėsite sukurti importuojamą JSON failą. JSON failas nurodo „Arduino IDE“, kur gauti failus, kad būtų galima įdiegti plokštę, kokių papildomų paketų reikia ir dar keletą bitų metaduomenų.

Labai svarbu išsaugoti šį failą už aplanko, kuriame ką tik dirbome.

Daugumą failų galima nukopijuoti ir įklijuoti į vieną. Jums tereikės pakeisti skyrių „lentos“ir kitus metaduomenis failo viršuje. Žiūrėkite ekrano kopiją, ką reikia atnaujinti.

(Žr. Paveikslėlį)

  • Raudona skiltis: tai metaduomenys, kuriuos vartotojai gali naudoti ieškodami pagalbos. Jis turi labai mažai techninės reikšmės.
  • Mėlyna dalis: visa tai yra svarbu. Jie rodomi „Arduino IDE“. Vardas, architektūra ir versija bus rodomi visiems, kurie bando įdiegti paketą. Čia reikia įdėti versijos numerį iš platform.txt. Antrasis mėlynas skyrius yra lentelių, įtrauktų į paketą, sąrašas. Galite turėti keletą lentų.
  • Žalioji dalis: šį skyrių reikia išsamiau paaiškinti.

(Žr. Lentelę paveikslėliuose)

Sukūrę ZIP failą, gavę ZIP failo kontrolinę sumą ir failo dydį, dabar galite įkelti ZIP failą į vietą. Turėsite įdėti šį URL į „url“lauką. Jei pavadinimas ar bet kuri aukščiau pateikta informacija yra neteisinga, jūsų pasirinktinės plokštės įdiegti nepavyks.

Taip pat būtinai įkelkite failą package_boardname_index.json į viešą vietą internete. „GitHub“yra geras pasirinkimas.

„Robo HAT MM1“pasirinktinės lentos failą rasite čia.

9 žingsnis: Paskutinis žingsnis - įdiekite pasirinktinę lentą

Paskutinis žingsnis - įdiekite pasirinktinę lentą!
Paskutinis žingsnis - įdiekite pasirinktinę lentą!
Paskutinis žingsnis - įdiekite pasirinktinę lentą!
Paskutinis žingsnis - įdiekite pasirinktinę lentą!

Viskas gerai, dabar turėtumėte turėti galimybę įtraukti savo JSON failą į „Arduino IDE“ir įdiegti pasirinktinę plokštę.

Įtraukti JSON failą yra paprasta! „Arduino IDE“- tiesiog eikite į „Failas“> „Nuostatos“ir nukopijuokite bei įklijuokite paketo_lentės_index.json vietą (URL) į skiltį „Papildomų lentų tvarkyklės URL“, esančią meniu Nuostatos apačioje.

(Žr. Paveikslėlį)

Tada paspauskite Gerai.

Jei pamiršote, vykdykite aukščiau pateiktas instrukcijas, kaip įdiegti naujas plokštes. Nepamirškite šį kartą ieškoti savo pasirinktinės lentos!

(Žr. Paveikslėlį)

Norėdami gauti daugiau informacijos apie naujų plokščių diegimą: „Adafruit“turi puikią pamoką, kurioje paaiškinama, kaip įdiegti „Feature M0“plokštes.

10 žingsnis: Išvada

Išvada
Išvada
Išvada
Išvada

Buvo smagu kurti pasirinktines „Arduino“plokštes. Ateityje man dar teks daug eksperimentuoti (pridedant papildomų nuosekliųjų prievadų), tačiau tai buvo puiki mokymosi patirtis!

Būtinai peržiūrėkite ir „Crowd Supply“kampaniją. Jis baigiasi 2019 m. Birželio 11 d.

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

Tikiuosi, kad tai jums padėjo arba jums buvo smagu skaityti kartu!

Dėkoju!

Rekomenduojamas: