Obsah:

Arduino IDE: Vytváranie vlastných dosiek: 10 krokov
Arduino IDE: Vytváranie vlastných dosiek: 10 krokov

Video: Arduino IDE: Vytváranie vlastných dosiek: 10 krokov

Video: Arduino IDE: Vytváranie vlastných dosiek: 10 krokov
Video: Изучите Arduino за 30 минут: примеры и проекты 2024, November
Anonim
Arduino IDE: Vytváranie vlastných dosiek
Arduino IDE: Vytváranie vlastných dosiek
Arduino IDE: Vytváranie vlastných dosiek
Arduino IDE: Vytváranie vlastných dosiek
Arduino IDE: Vytváranie vlastných dosiek
Arduino IDE: Vytváranie vlastných dosiek

Za posledných šesť mesiacov som strávil veľa času prenosom rôznych knižníc na dosku Robo HAT MM1 vyvinutú spoločnosťou Robotics Masters. To viedlo k tomu, že ste sa dozvedeli veľa o týchto knižniciach, o tom, ako fungujú v zákulisí, a čo je najdôležitejšie - čo urobiť, aby ste v budúcnosti pridali nové nástenky.

Toto je prvý zo série zápisov, ktoré urobím, aby som pomohol iným, ktorí chcú portovať knižnice pre svoje nástenky. Mnoho zdrojov informácií môže byť vágnych alebo ťažko pochopiteľných pre cudzincov. Dúfam, že to „demystifikujem“a vysvetlím, ako dosiahnuť úspešný prístav pre každého.

Dnes sa pozrieme na platformu Arduino. Má viac ako 700 000 rôznych variantov dosiek po celom svete a je jednou z najobľúbenejších platforiem elektroniky pre vzdelávanie, priemysel a výrobcov.

Po mnohých vyhľadávaniach Google som našiel iba veľmi obmedzené zdroje informácií o tom, ako to urobiť. Tak som si povedal, že napíšem o tom, ako som to urobil podrobne.

Ideme na to!

Krok 1: Skôr než začnete

Predtým, ako začnete s prenosom softvérovej knižnice alebo firmvéru na svoju dosku, musíte vedieť niekoľko kľúčových bodov o technológii, ktorú používate, a byť schopný odpovedať na nižšie uvedené otázky.

  1. Aky procesor pouzivas
  2. Akú architektúru používa?
  3. Mám prístup k listu s údajmi o tomto mikroprocesore?
  4. Existuje na trhu podobná doska, ktorá používa rovnaký mikroprocesor?

Tieto sú veľmi dôležité. Bude to mať vplyv na mnoho aspektov vášho prístupu k vývojovému procesu.

Dosky Arduino bežne používajú obmedzený počet typov procesorov a architektúr. Najbežnejším je rad ATMEGA využívajúci architektúru AVR (Arduino Uno). K dispozícii sú novšie generácie Arduinos, ktoré sa stávajú bežnejšími pomocou procesorov SAMD (ARM) a ďalších výkonnejších procesorov. Preto je dôležité skontrolovať, ktorý z nich používate.

Technický list pre mikroprocesor je absolútne nevyhnutný na zabezpečenie toho, aby doska pri zostavovaní firmvéru reagovala podľa očakávania. Bez neho nebudete môcť nastaviť správne funkcie výstupu pinov ani nakonfigurovať sériové porty.

Keď budete mať všetky potrebné informácie o procesore, ktorý používate, môžete sa začať pozerať na softvér a upraviť ho tak, aby fungoval pre vašu vlastnú dosku.

Krok 2: Prehľad

Najťažšie na každom projekte je nájsť dobrý východiskový bod. Nie je tomu inak. Snažil som sa nájsť dobré návody s dostatočne podrobnými informáciami o tom, ako vytvárať vlastné dosky pre Arduino. Väčšina návodov ukazuje, ako „pridať vlastnú tabuľu“, ale nie „vytvoriť vlastnú tabuľu“. Tu je krátke zhrnutie toho, o čo ide.

  1. Stiahnite si existujúce definície nástenky a skopírujte ich
  2. Aktualizácia definičných súborov (variant.h, varient.cpp)
  3. Vytvoriť záznam na nástenku (board.txt)
  4. Aktualizovať verziu nástenky (platform.txt)
  5. Príprava na inštaláciu (json)
  6. Inštalácia dosky v Arduino IDE

Každý krok bude podrobne vysvetlený nižšie. Tiež sa bude diskutovať o tom, ako každý súbor navzájom spolupracuje, aby sa objasnilo, ako všetko funguje za Arduino IDE.

V tomto tutoriále vám ukážem, ako vytvoriť vlastnú dosku pre procesory SAMD. Konkrétnejšie SAMD21G18A - čo je mikroprocesor používaný na doske Robo HAT MM1, ktorú som portoval.

Tiež predpokladám, že už máte stiahnuté Arduino IDE 1.8 alebo novšie. V čase písania som použil Arduino 1.8.9.

Krok 3: Sťahovanie existujúcich dosiek

Sťahovanie existujúcich dosiek
Sťahovanie existujúcich dosiek
Sťahovanie existujúcich dosiek
Sťahovanie existujúcich dosiek
Sťahovanie existujúcich dosiek
Sťahovanie existujúcich dosiek

Prvým krokom je stiahnutie najbližšej varianty dosky Arduino, ktorá zodpovedá vašej doske. Pre dosky SAMD je to Arduino Zero.

Od Arduino IDE 1.6 je metóda sťahovania nových dosiek do prostredia pridaním špeciálnych súborov JSON, ktoré poskytujú vývojári softvéru, a následnou inštaláciou vlastných dosiek pomocou „Boards Manager“. Predchádzajúce verzie Arduino IDE používali inú metódu, o ktorej dnes nebudeme diskutovať. Neskôr v tomto návode vytvoríme vlastný súbor JSON, najskôr však pomocou tejto metódy musíme pridať dosku Arduino Zero.

Našťastie pre nás, doska, ktorú chceme stiahnuť, nepotrebuje súbor JSON, pretože súbor JSON je vopred dodávaný s Arduino IDE - stačí, aby ste dosku nainštalovali z „Boards Manager“.

Ak to chcete urobiť, prejdite na „Nástroje“a rozbaľte ponuku „Doska“. V hornej časti ponuky „Rada“bude „Správca dosiek“. Kliknutím na túto možnosť ponuky vyvoláte Správcu dosiek.

(Pozri obrázky)

Po otvorení Správcu dosiek sa pozrie na všetky súbory JSON, ktoré má uložené v IDE Arduino, a potom si zo súboru stiahne nastavenia. Mali by ste vidieť dlhý zoznam dostupných dosiek Arduino, ktoré môžete nainštalovať.

(Pozri obrázky)

Pre tento návod nás zaujíma iba doska „Arduino SAMD Boards (32-bit ARM Cortex-M0+)“, ale v tomto bode by ste sa mohli odchýliť a nainštalovať dosku, ktorú potrebujete. Vyhľadajte a nainštalujte dosku „Arduino SAMD Boards (32-bit ARM Cortex-M0+)“. To je možné vykonať kliknutím na text v zozname a následným kliknutím na tlačidlo „Inštalovať“na pravej strane, ktoré sa zobrazí po kliknutí na text. Inštalácia bude trvať niekoľko minút.

Podrobnejšie informácie o inštalácii nových dosiek: Adafruit má skvelý návod, ktorý vysvetľuje, ako nainštalovať dosky Feature M0.

Teraz, keď sú súbory dosky nainštalované, ich môžeme skopírovať, aby ich bolo možné upraviť pre vašu vlastnú dosku.

Krok 4: Hľadanie a kopírovanie súborov rady

Hľadanie a kopírovanie súborov rady
Hľadanie a kopírovanie súborov rady
Hľadanie a kopírovanie súborov rady
Hľadanie a kopírovanie súborov rady
Hľadanie a kopírovanie súborov rady
Hľadanie a kopírovanie súborov rady

V systéme Windows sa súbory rady nachádzajú v (nezabudnite zmeniť používateľské meno na používateľské meno):

C: / Users / užívateľské meno / AppData / Local / Arduino15 / packages

V tomto priečinku musíte ísť trochu hlbšie, aby ste sa dostali k súborom, ktoré musíte skopírovať a upraviť. V tomto návode pôjdeme k získaniu súborov dosky Arduino Zero, do ktorých sa nainštaluje (nezabudnite zmeniť používateľské meno na používateľské meno):

C: / Users / užívateľské meno / AppData / Local / Arduino15 / packages / arduino / hardware / samd

Skopírujte priečinok s číslom verzie, ktorý sa nachádza v tomto adresári, do nového priečinka v priečinku Dokumenty alebo v priečinku, ktorý si vyberiete. Na účely tohto tutoriálu ich vložím do nového priečinka s názvom „vlastné dosky“do priečinka Dokumenty.

Priečinok obsahuje množstvo priečinkov a adresárov. Tie, ktoré budeme používať, sú uvedené v tabuľke na obrázku.

Krok 5: Vytvorenie variantu

Vytváranie variantu
Vytváranie variantu
Vytváranie variantu
Vytváranie variantu
Vytváranie variantu
Vytváranie variantu
Vytváranie variantu
Vytváranie variantu

Teraz sme pripravení začať vytvárať vlastný záznam na nástenku. Pre tento tutoriál použijem ako príklad Robo HAT MM1. Ako už bolo spomenuté, je to doska založená na SAMD, ktorá je najbližšie k zostave Arduino Zero.

Začneme tým, že prejdeme do priečinka s variantmi a skopírujeme priečinok arduino_zero, ktorý sa tam nachádza. Nový variant dosky premenujeme na „robohatmm1“. Svojho môžete volať, ako chcete.

(Pozri obrázok)

V priečinku robohatmm1 budú dva piny, ktoré musíme začať upravovať: variant.cpp a variant.h. Otvorte ich obe.

Trvalo mi dlho, kým som sa zorientoval, a preto to tu vysvetlím, aby som vám ušetril čas. Súbor variant.cpp obsahuje veľmi veľké pole kolíkov, na ktoré sa odkazuje v celom variante.h. Všetky odkazy na kolíky vo variant.h sú odkazom na konfiguráciu pinov na konkrétnom mieste v poli variant.cpp.

(Pozrite si snímku obrazovky s dvoma súbormi)

Väčšina vašich úprav teda bude prebiehať v oboch týchto súboroch, ale musíte sa uistiť, že ak zmeníte poradie pinov vo variants.cpp - musíte zmeniť odkazy v hlavičkovom súbore (variants.h). Pri Robo HAT MM1 som potreboval zmeniť iba niektoré piny a funkcie. To sa uskutočnilo vo variantoch.h. Pridal som niekoľko nových pinov PWM, pretože SAMD21 dokáže spracovať 12 kanálov PWM. K správnym funkciám - napríklad SPI, UART a I2C - som pridal aj niektoré názvy pre serva, signály (namiesto ADC/Digital) a vlastné mapovanie.

Dôležitá vec, ktorú je potrebné poznamenať, je dvakrát skontrolovať, či sa odkazy na pole, ktoré používate pre funkcie uvedené vo variantochs.h, zhodujú s odkazmi na piny vo varaints.cpp - na ktoré sa teraz pozrieme.

Variants.cpp je veľmi silný a dôležitý súbor. Vykonáva všetku tvrdú prácu pri nastavovaní pinov tak, aby zodpovedali hardvérovým nastaveniam. Najľahšie sa to vysvetľuje príkladom a vysvetlením každej časti.

(Pozri tabuľku na snímke obrazovky)

Príklad (výpis z variants.cpp)

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

Toto je prvý kolík v poli variants.cpp pre Robo HAT MM1. Tabuľka z technického listu bola poskytnutá ako obrázok (sivá tabuľka).

(Pozri obrázky)

Tento konkrétny pin sa používa pre funkciu I2C Data Pin. Keď sa pozrieme na tabuľku, vidíme, že tento pin je možné použiť ako pin I2C SDA (dobrý štart!). Pin je pomenovaný „PA22“, čo je skratka pre PORTA na kolíku 22. Hneď pre tento pin môžeme nastaviť PORT a číslo PINu.

Ďalšia vec, ktorú musíme urobiť, je nastaviť pin ako sériový komunikačný port. Pin má sériovú komunikáciu k dispozícii prostredníctvom funkcie C (PIO_SERCOM) pomocou SERCOM 3 a D pomocou SERCOM5 (PIO_SERCOM_ALT). Na účely Robo HAT MM1 používame na komunikáciu I2C SERCOM3. Toto je na funkcii C; aka. PIO_SERCOM pre variants.cpp.

Pretože plánujeme tento pin používať iba ako I2C SDA, nie je potrebné nastavovať žiadne ďalšie funkcie. V predchádzajúcej tabuľke je možné všetky nastaviť ako možnosti „Nie“alebo „Nie“. Ak by sme však chceli použiť ostatné funkcie - mohli by sme prejsť listom údajov a všetky ich vložiť do správnych medzier. Všetko je uvedené v technickom liste.

Úprava variantných súborov môže nejaký čas trvať. Buďte opatrní a vždy trikrát skontrolujte.

Krok 6: Vytvorte definíciu rady

Vytvorte definíciu rady
Vytvorte definíciu rady

Keď budete mať pripravené súbory svojich variantov, malo by to ísť priamo odtiaľto. Väčšina práce bude kopírovať a vkladať alebo upravovať a aktualizovať súbory.

Počnúc súborom boards.txt.

(Pozri obrázok)

Budete chcieť skopírovať a prilepiť definíciu dosky, ktorá už existuje. Opäť by som odporučil Arduino Zero.

Pre jednoduchosť zmeňte iba názov dosky (prvý riadok), usb_product, usb_manufacturer a variant (robohat). Ostatné argumenty môžete neskôr prispôsobiť svojim požiadavkám - napríklad vlastný bootloader alebo rôzne USB VID/PID na identifikáciu vašej dosky.

Variant dosky sa musí zhodovať s názvom priečinka vytvoreného na začiatku. Pre tento tutoriál som to nazval „robohatmm1“.

Odporúčame tiež zmeniť prvú časť každého riadka tak, aby zodpovedala názvu vašej nástenky. Na snímke obrazovky bol zmenený na „robo_hat_mm1“. Mali by ste zvoliť názov pre svoju dosku v rovnakom formáte.

To je pre boards.txt všetko, pokiaľ neskôr nebudete chcieť vykonať ďalšie úpravy uvedené vyššie.

Krok 7: Aktualizujte verziu nástenky

Aktualizovať verziu nástenky
Aktualizovať verziu nástenky

V platforms.txt zmeňte názov na názov svojej vlastnej nástenky. Zmeňte tiež číslo verzie. Nezabudnite, na čo ste to nastavili, budeme to potrebovať neskôr.

Krok 8: Vytvorte súbor balíka JSON

Vytvorte súbor balíka JSON
Vytvorte súbor balíka JSON
Vytvorte súbor balíka JSON
Vytvorte súbor balíka JSON

Aby ste mohli nainštalovať svoju dosku do Arduino IDE, budete musieť vytvoriť súbor JSON, ktorý importujete. Súbor JSON hovorí Arduino IDE, kde získať súbory na inštaláciu dosky, aké ďalšie balíky sú potrebné a niekoľko ďalších bitov metadát.

Je veľmi dôležité, aby ste tento súbor uložili mimo priečinka, v ktorom sme práve pracovali.

Väčšinu súboru je možné skopírovať a vložiť do jedného. Budete musieť zmeniť iba sekciu „dosky“a ďalšie metadáta v hornej časti súboru. Čo je potrebné aktualizovať, nájdete na snímke obrazovky.

(Pozri obrázok)

  • Červená sekcia: Toto sú metadáta, ktoré môžu používatelia použiť na nájdenie pomoci. Má veľmi malý technický význam.
  • Modrá sekcia: To všetko je dôležité. Ukazujú sa v IDE Arduino. Meno, architektúra a verzia sa zobrazia každému, kto sa pokúša nainštalovať balík. Tu musíte zadať číslo verzie z platforms.txt. Druhá modrá časť je zoznam dosiek, ktoré sú súčasťou balenia. Môžete mať viacero dosiek.
  • Zelená časť: Táto časť potrebuje ďalšie vysvetlenie.

(Pozri tabuľku na obrázkoch)

Akonáhle vytvoríte súbor zip, získate kontrolný súčet súboru zip a veľkosť súboru, môžete ho teraz nahrať na miesto. Túto adresu URL budete musieť zadať do poľa „URL“. Ak je názov alebo niektoré z vyššie uvedených údajov nesprávne, inštalácia vašej vlastnej dosky sa nepodarí.

Nezabudnite tiež nahrať súbor package_boardname_index.json na verejné miesto na internete. GitHub je dobrá voľba.

Súbor vlastnej dosky Robo HAT MM1 nájdete tu.

Krok 9: Posledný krok - nainštalujte si vlastnú tabuľu

Posledný krok - nainštalujte si vlastnú tabuľu!
Posledný krok - nainštalujte si vlastnú tabuľu!
Posledný krok - nainštalujte si vlastnú tabuľu!
Posledný krok - nainštalujte si vlastnú tabuľu!

Všetko ide dobre, teraz by ste mali mať možnosť zahrnúť svoj súbor JSON do Arduino IDE a nainštalovať si vlastnú dosku.

Zahrnutie súboru JSON je jednoduché! V Arduino IDE - jednoducho choďte na „Súbor“> „Predvoľby“a skopírujte a prilepte umiestnenie (URL) svojho balíka_názov_balíka_index.json do sekcie „Adresy URL ďalších správcov dosiek“v spodnej časti ponuky Predvoľby.

(Pozri obrázok)

Potom stlačte OK.

Ak ste zabudli, prečítajte si pokyny zhora týkajúce sa inštalácie nových dosiek. Nezabudnite sa tentoraz pozrieť na svoju vlastnú nástenku!

(Pozri obrázok)

Podrobnejšie informácie o inštalácii nových dosiek: Adafruit má skvelý návod, ktorý vysvetľuje, ako nainštalovať dosky Feature M0.

Krok 10: Záver

Záver
Záver
Záver
Záver

Bola to zábava vytvárať vlastné dosky Arduino. Je toho veľa, s čím môžem v budúcnosti experimentovať (pridanie ďalších sériových portov), ale bola to skvelá vzdelávacia skúsenosť!

Nezabudnite sa pozrieť aj na kampaň Crowd Supply. Končí sa 11. júna 2019.

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

Dúfam, že vám to pomohlo alebo ste sa pri čítaní zabavili!

Vďaka!

Odporúča: