Satura rādītājs:

Arduino IDE: pielāgotu dēļu izveide: 10 soļi
Arduino IDE: pielāgotu dēļu izveide: 10 soļi

Video: Arduino IDE: pielāgotu dēļu izveide: 10 soļi

Video: Arduino IDE: pielāgotu dēļu izveide: 10 soļi
Video: Software Build of LoRa Transmitter, BME280 Sensor based on Arduino ESP32 (EP09) 2024, Jūlijs
Anonim
Arduino IDE: pielāgotu dēļu izveide
Arduino IDE: pielāgotu dēļu izveide
Arduino IDE: pielāgotu dēļu izveide
Arduino IDE: pielāgotu dēļu izveide
Arduino IDE: pielāgotu dēļu izveide
Arduino IDE: pielāgotu dēļu izveide

Pēdējo sešu mēnešu laikā esmu pavadījis daudz laika, pārnesot dažādas bibliotēkas uz Robo HAT MM1 dēli, ko izstrādājusi Robotics Masters. Tas ir ļāvis daudz uzzināt par šīm bibliotēkām, to darbību aizkulisēs un pats galvenais - ko darīt, lai nākotnē pievienotu jaunus dēļus.

Šis ir pirmais no rakstīšanas sērijām, ko es darīšu, lai palīdzētu citiem, kuri vēlas pārvietot bibliotēkas uz saviem dēļiem. Daudzi informācijas avoti var būt neskaidri vai nepiederošiem grūti saprotami. Es ceru “demistificēt” un izskaidrot, kā panākt veiksmīgu ostu visiem.

Šodien mēs apskatīsim Arduino platformu. Tam ir vairāk nekā 700 000 dažādu dēļu variantu visā pasaulē, un tā ir viena no populārākajām elektronikas platformām izglītībai, rūpniecībai un ražotājiem.

Pēc daudziem Google meklēšanas rezultātiem varēju atrast tikai ļoti ierobežotus informācijas avotus, kā to izdarīt. Tāpēc es domāju, ka uzrakstīšu sīkāk par to, kā es to izdarīju.

Te nu mēs esam!

1. darbība. Pirms sākat

Pirms sākat programmatūras bibliotēkas vai programmaparatūras pārnešanu uz tāfeles, jums jāzina daži galvenie punkti par jūsu izmantoto tehnoloģiju un jāspēj atbildēt uz tālāk sniegtajiem jautājumiem.

  1. Kādu procesoru izmantojat?
  2. Kādu arhitektūru tā izmanto?
  3. Vai man ir piekļuve šī mikroprocesora datu lapai?
  4. Vai tirgū ir līdzīga tāfele, kas izmanto to pašu mikroprocesoru?

Tie ir ļoti svarīgi. Tas ietekmēs daudzus aspektus, kā jūs pieejat attīstības procesam.

Arduino plates parasti izmanto ierobežotu skaitu procesoru veidu un arhitektūru. Visizplatītākais ir ATMEGA klāsts, izmantojot AVR arhitektūru (Arduino Uno). Jaunākās Arduinos paaudzes kļūst arvien izplatītākas, izmantojot SAMD procesorus (ARM) un citus jaudīgākus procesorus. Tāpēc ir svarīgi pārbaudīt, kuru no tiem izmantojat.

Mikroprocesora datu lapa ir absolūti svarīga, lai nodrošinātu, ka, apkopojot programmaparatūru, tāfele reaģē, kā paredzēts. Bez tā jūs nevarēsit iestatīt pareizās tapas izvades funkcijas vai konfigurēt seriālos portus.

Kad esat ieguvis visu nepieciešamo informāciju par izmantoto procesoru, varat sākt aplūkot programmatūru un modificēt to, lai tā darbotos jūsu pielāgotajā panelī.

2. darbība. Pārskats

Jebkura projekta grūtākā daļa ir atrast labu sākumpunktu. Tas neatšķiras. Es centos atrast labas apmācības ar pietiekami detalizētu informāciju par to, kā izveidot pielāgotus dēļus Arduino. Lielākā daļa apmācību parāda, kā “pievienot pielāgotu tāfeli”, bet ne to, kā “izveidot pielāgotu tāfeli”. Šeit ir īss kopsavilkums par to, kas ir saistīts.

  1. Lejupielādējiet esošās valdes definīcijas un kopiju
  2. Definīcijas failu atjaunināšana (variants.h, varient.cpp)
  3. Izveidot valdes ierakstu (board.txt)
  4. Atjaunināt tāfeles versiju (platform.txt)
  5. Gatavošanās instalēšanai (json)
  6. Plāksnes instalēšana Arduino IDE

Tālāk tiks detalizēti izskaidrots katrs solis. Būs arī plašas diskusijas par to, kā katrs fails savstarpēji mijiedarbojas, lai palīdzētu noskaidrot, kā viss darbojas aiz Arduino IDE.

Šajā apmācībā es jums parādīšu, kā izveidot pielāgotu dēli SAMD procesoriem. Precīzāk, SAMD21G18A - tas ir mikroprocesors, ko izmantoju uz Robo HAT MM1 plates, kuru es pārnesu.

Es arī pieņemu, ka jums jau ir lejupielādēts Arduino IDE 1.8 vai jaunāks. Rakstīšanas laikā es izmantoju Arduino 1.8.9.

3. darbība. Esošo dēļu lejupielāde

Esošo dēļu lejupielāde
Esošo dēļu lejupielāde
Esošo dēļu lejupielāde
Esošo dēļu lejupielāde
Esošo dēļu lejupielāde
Esošo dēļu lejupielāde

Pirmais solis ir lejupielādēt tuvāko Arduino tāfeles variantu, kas atbilst jūsu dēlam. SAMD dēļiem tas ir Arduino Zero.

Kopš Arduino IDE 1.6, jaunu dēļu lejupielādes vidē metode ir bijusi, pievienojot īpašus JSON failus, ko nodrošina programmatūras izstrādātāji, un pēc tam instalējot pielāgotās plates, izmantojot “Boards Manager”. Iepriekšējās Arduino IDE versijās tika izmantota cita metode, kuru mēs šodien neapspriedīsim. Vēlāk šajā apmācībā mēs izveidosim savu JSON failu, tomēr vispirms ir jāpievieno Arduino Zero tāfele, izmantojot šo metodi.

Mums paveicās, ka tāfelei, kuru mēs vēlamies lejupielādēt, nav nepieciešams JSON fails, jo JSON fails ir iepriekš komplektēts ar Arduino IDE - tāpēc mums vienkārši jāinstalē tāfele no “Boards Manager”.

Lai to izdarītu, dodieties uz “Rīki” un pēc tam izvērsiet izvēlni “Dēlis”. Izvēlnes “Dēlis” augšdaļā būs “Dēļu pārvaldnieks”. Noklikšķiniet uz šīs izvēlnes opcijas, lai atvērtu dēļu pārvaldnieku.

(Skatīt attēlus)

Atverot dēļu pārvaldnieku, tas apskatīs visus JSON failus, kurus tas ir saglabājis Arduino IDE, un pēc tam lejupielādēs iestatījumus no faila. Jums vajadzētu redzēt garu sarakstu ar pieejamajiem Arduino dēļiem, kurus varat instalēt.

(Skatīt attēlus)

Mēs esam ieinteresēti tikai šajā apmācībā esošajā “Arduino SAMD Boards (32 bitu ARM Cortex-M0+)” plāksnē, taču jūs varētu atkāpties un instalēt nepieciešamo paneli šajā brīdī. Lūdzu, meklējiet un instalējiet “Arduino SAMD Boards (32-bit ARM Cortex-M0+)” plati. To var izdarīt, noklikšķinot uz saraksta teksta un labajā pusē esošās pogas “Instalēt”, kas parādīsies pēc noklikšķināšanas uz teksta. Instalēšana prasīs pāris minūtes.

Lai iegūtu sīkāku informāciju par jaunu dēļu uzstādīšanu: Adafruit šeit ir lieliska apmācība, kurā paskaidrots, kā instalēt Feature M0 dēļus.

Tagad, kad tāfeles faili ir instalēti, mēs varam tos kopēt, lai tos varētu pielāgot jūsu pielāgotajai plāksnei.

4. darbība: dēļa failu atrašana un kopēšana

Datnes failu atrašana un kopēšana
Datnes failu atrašana un kopēšana
Datnes failu atrašana un kopēšana
Datnes failu atrašana un kopēšana
Dēļa failu atrašana un kopēšana
Dēļa failu atrašana un kopēšana

Operētājsistēmā Windows Board Files atrodas (neaizmirstiet mainīt lietotājvārdu uz savu lietotājvārdu):

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

Šajā mapē jums ir jādodas nedaudz dziļāk, lai piekļūtu failiem, kas jāpārkopē, lai tos mainītu. Šajā apmācībā mēs iegūsim Arduino Zero tāfeles failus, kas tiks instalēti (neaizmirstiet mainīt lietotājvārdu uz savu lietotājvārdu):

C: / Lietotāji / lietotājvārds / AppData / Local / Arduino15 / paketes / arduino / hardware / samd

Kopējiet šajā direktorijā esošo mapi ar versiju ar jaunu mapi mapē Dokumenti vai jūsu izvēlētajā mapē. Šīs apmācības nolūkos es tos ievietošu jaunā mapē ar nosaukumu “pielāgoti dēļi” dokumentos.

Mapē ir vairākas mapes un katalogi. Tie, kurus mēs izmantosim, ir atzīmēti ekrānuzņēmuma tabulā.

5. darbība: varianta izveide

Varianta izveide
Varianta izveide
Varianta izveide
Varianta izveide
Varianta izveide
Varianta izveide
Varianta izveide
Varianta izveide

Tagad mēs esam gatavi sākt izveidot pielāgotu dēļa ierakstu. Šajā apmācībā kā piemēru es izmantošu Robo HAT MM1. Kā jau iepriekš minēts, tā ir uz SAMD balstīta tāfele, kas ir vistuvāk Arduino Zero būvei.

Mēs sāksim, iedziļinoties mapē varianti un nokopējot tajā esošo mapi arduino_zero. Mēs pārdēvēsim jauno dēļa variantu “robohatmm1”. Jūs varat saukt savējo, kā vēlaties.

(Skatīt attēlu)

Mapes robohatmm1 iekšpusē būs divas tapas, kas mums jāsāk rediģēt: variant.cpp un variant.h. Atveriet abus.

Man bija vajadzīgs laiks, lai to izstrādātu, tāpēc es to šeit paskaidrošu, lai ietaupītu laiku. Fails variant.cpp satur ļoti lielu tapas, uz kurām ir atsauce visā variantā.h. Visas tapas atsauces variantā h ir atsauce uz tapas konfigurāciju konkrētā variantā.cpp masīva pozīcijā.

(Skatiet ekrānuzņēmumu ar diviem failiem)

Tātad lielākā daļa jūsu labojumu notiks abos šajos failos, taču jums ir jāpārliecinās, ka, mainot tapas secību variantos.cpp - jums ir jāmaina atsauces galvenes failā (varianti.h). Robo HAT MM1 man vajadzēja mainīt tikai dažas tapas un funkcijas. Tas tika darīts variantos.h. Es pievienoju dažas jaunas PWM tapas, jo SAMD21 spēj apstrādāt 12 PWM kanālus. Pareizajām funkcijām - piemēram, SPI, UART un I2C - pievienoju arī dažus Servos, Signals (ADC/Digital vietā) un pielāgotas kartēšanas nosaukumus.

Svarīgi atzīmēt, ka ir vēlreiz jāpārbauda, vai masīvu atsauces, kuras izmantojat variantos izklāstītajām funkcijām, atbilst atsaucēm uz taustiņu varaints.cpp - ko mēs tagad apskatīsim.

Variants.cpp ir ļoti spēcīgs un svarīgs fails. Tas veic visu smago darbu, iestatot tapas atbilstoši aparatūras iestatījumiem. Vienkāršākais veids, kā to izskaidrot, ir ar katras daļas piemēru un skaidrojumu.

(Skatīt tabulu ekrānuzņēmumā)

Piemērs (izraksts no variantiem. Cpp)

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

Šis ir pirmais tapa variantā.cpp masīvs Robo HAT MM1. Tabula no datu lapas ir sniegta kā attēls (pelēka tabula).

(Skatīt attēlus)

Šo konkrēto tapu izmanto I2C datu tapas funkcijai. Aplūkojot tabulu, mēs redzam, ka šo tapu var izmantot kā I2C SDA tapu (labs sākums!). Tapas nosaukums ir “PA22”, kas ir saīsinājums no PORTA uz tapas 22. Tūlīt mēs varam iestatīt šīs tapas PORTU un tapas numuru.

Nākamā lieta, kas mums jādara, ir iestatīt tapu kā seriālo sakaru portu. Tapai ir pieejama seriālā komunikācija, izmantojot funkciju C (PIO_SERCOM), izmantojot SERCOM 3 un D, izmantojot SERCOM5 (PIO_SERCOM_ALT). Robo HAT MM1 vajadzībām I2C komunikācijai izmantojam SERCOM3. Tas attiecas uz funkciju C; aka. PIO_SERCOM variantiem.cpp.

Tā kā mēs plānojam šo tapu izmantot tikai kā I2C SDA, nav jāiestata citas funkcijas. Tos visus iepriekšējā tabulā var iestatīt kā “Nē” vai “Nē”. Tomēr, ja mēs vēlētos izmantot citas funkcijas - mēs varētu šķērsot datu lapu un ievietot tās pareizajās vietās. Tas viss ir atrodams datu lapā.

Variantu failu modificēšana var aizņemt kādu laiku. Esiet uzmanīgi un vienmēr pārbaudiet trīs reizes.

6. darbība: izveidojiet dēļa definīciju

Izveidojiet dēļa definīciju
Izveidojiet dēļa definīciju

Kad esat sagatavojis savus variantu failus, tam vajadzētu būt tieši uz priekšu. Lielākā daļa darba būs failu kopēšana un ielīmēšana vai modificēšana un atjaunināšana.

Sākot ar boards.txt.

(Skatīt attēlu)

Jūs vēlaties nokopēt un ielīmēt jau esošu tāfeles definīciju. Es vēlreiz ieteiktu Arduino Zero.

Vienkāršības labad mainiet tikai tāfeles nosaukumu (pirmā rinda), usb_product, usb_manufacturer un variantu (robohat). Pārējos argumentus vēlāk varat pielāgot savām vajadzībām - piemēram, pielāgotu sāknēšanas ielādētāju vai dažādus USB VID/PID, lai identificētu savu dēli.

Dēļa variantam jāatbilst nosaukumam, kas piešķirts sākumā izveidotajai mapei. Šajā apmācībā es to nosaucu par “robohatmm1”.

Ieteicams arī mainīt katras rindas pirmo daļu, lai tā atbilstu jūsu dēļa nosaukumam. Ekrānuzņēmumā tas ir mainīts uz “robo_hat_mm1”. Jums vajadzētu izvēlēties tāfeles nosaukumu tādā pašā formātā.

Tas viss attiecas uz boards.txt, ja vien vēlāk nevēlaties veikt tālāk minētās izmaiņas.

7. darbība. Atjauniniet tāfeles versiju

Atjaunināt padomes versiju
Atjaunināt padomes versiju

Failā platformas.txt nomainiet nosaukumu uz pielāgotas tāfeles nosaukumu. Mainiet arī versijas numuru. Atcerieties, uz ko jūs to iestatījāt, mums tas būs vajadzīgs vēlāk.

8. darbība: izveidojiet JSON pakotnes failu

Izveidojiet JSON pakotnes failu
Izveidojiet JSON pakotnes failu
Izveidojiet JSON pakotnes failu
Izveidojiet JSON pakotnes failu

Lai instalētu dēli Arduino IDE, jums būs jāizveido importējams JSON fails. JSON fails norāda Arduino IDE, kur iegūt failus, lai instalētu dēli, kādas papildu paketes ir vajadzīgas un dažus citus metadatu bitus.

Ir ļoti svarīgi saglabāt šo failu ārpus mapes, kurā mēs tikko strādājām.

Lielāko daļu faila var kopēt un ielīmēt savā. Jums būs jāmaina tikai sadaļa “dēļi” un citi metadati faila augšdaļā. Skatiet ekrānuzņēmumu, lai uzzinātu, kas būtu jāatjaunina.

(Skatīt attēlu)

  • Sarkanā sadaļa: šie ir metadati, kurus lietotāji var izmantot, lai atrastu palīdzību. Tam ir ļoti maza tehniska nozīme.
  • Zilā sadaļa: Visi šie ir svarīgi. Tie tiek rādīti Arduino IDE. Nosaukums, arhitektūra un versija tiks parādīta ikvienam, kurš mēģina instalēt pakotni. Šeit jums jāievieto versijas numurs no platformas.txt. Otrā zilā sadaļa ir dēļu saraksts, kas ir iekļauti iepakojumā. Jums varētu būt vairāki dēļi.
  • Zaļā sadaļa: Šī sadaļa ir jāpaskaidro sīkāk.

(Skatīt tabulu attēlos)

Kad esat izveidojis zip failu, saņēmis zip faila kontrolsummu un faila lielumu, tagad varat augšupielādēt zip failu noteiktā vietā. Šis URL būs jāievieto laukā “url”. Ja nosaukums vai kāda no iepriekš minētajām detaļām ir nepareizs, jūsu pielāgoto dēli neizdosies instalēt.

Noteikti augšupielādējiet arī savu package_boardname_index.json failu publiskā vietā internetā. GitHub ir laba iespēja.

Robo HAT MM1 pielāgoto dēļa failu var atrast šeit.

9. solis: pēdējais solis - instalējiet pielāgoto dēli

Pēdējais solis - instalējiet pielāgoto dēli!
Pēdējais solis - instalējiet pielāgoto dēli!
Pēdējais solis - instalējiet savu pielāgoto dēli!
Pēdējais solis - instalējiet savu pielāgoto dēli!

Viss notiek labi, tagad jums vajadzētu būt iespējai iekļaut savu JSON failu Arduino IDE un instalēt pielāgoto tāfeli.

JSON faila iekļaušana ir vienkārša! Arduino IDE - vienkārši dodieties uz “Fails”> “Preferences” un nokopējiet un ielīmējiet jūsu package_boardname_index.json atrašanās vietu (URL) sadaļā “Papildu dēļu pārvaldnieka vietrāži URL”, kas atrodas izvēlnes apakšā.

(Skatīt attēlu)

Pēc tam nospiediet Labi.

Izpildiet norādījumus no augšas, lai instalētu jaunus dēļus, ja esat aizmirsis. Atcerieties šoreiz meklēt savu pielāgoto dēli!

(Skatīt attēlu)

Lai iegūtu sīkāku informāciju par jaunu dēļu uzstādīšanu: Adafruit šeit ir lieliska apmācība, kurā paskaidrots, kā instalēt Feature M0 dēļus.

10. solis: Secinājums

Secinājums
Secinājums
Secinājums
Secinājums

Tas ir bijis jautri, veidojot pielāgotus Arduino dēļus. Nākotnē man vēl ir daudz ko eksperimentēt (pievienojot papildu seriālos portus), taču tā ir bijusi lieliska mācīšanās pieredze!

Noteikti apskatiet arī kampaņu “Crowd Supply”. Tas beidzas 2019. gada 11. jūnijā.

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

Es ceru, ka tas jums palīdzēja vai jums bija jautri lasīt kopā!

Paldies!

Ieteicams: