Tartalomjegyzék:

Arduino IDE: Egyéni táblák létrehozása: 10 lépés
Arduino IDE: Egyéni táblák létrehozása: 10 lépés

Videó: Arduino IDE: Egyéni táblák létrehozása: 10 lépés

Videó: Arduino IDE: Egyéni táblák létrehozása: 10 lépés
Videó: Learn Arduino in 30 Minutes: Examples and projects 2024, Július
Anonim
Arduino IDE: Egyéni táblák létrehozása
Arduino IDE: Egyéni táblák létrehozása
Arduino IDE: Egyéni táblák létrehozása
Arduino IDE: Egyéni táblák létrehozása
Arduino IDE: Egyéni táblák létrehozása
Arduino IDE: Egyéni táblák létrehozása

Az elmúlt hat hónapban sok időt töltöttem különböző könyvtárak áthelyezésével a Robotics Masters által kifejlesztett Robo HAT MM1 táblára. Ez ahhoz vezetett, hogy sok mindent megtudhat ezekről a könyvtárakról, azok működéséről a kulisszák mögött, és ami a legfontosabb - mit kell tennie, hogy új táblákat adjon hozzá a jövőben.

Ez az első a felírások sorozatában, amelyet azért fogok tenni, hogy segítsek másoknak, akik könyvtárakat szeretnének átvinni a táblákhoz. Számos információforrás lehet homályos vagy nehezen érthető a kívülállók számára. Remélem, hogy „demisztifikálom” és elmagyarázom, hogyan lehet mindenki számára sikeres kikötőt elérni.

Ma az Arduino platformot fogjuk megvizsgálni. Világszerte több mint 700 000 különböző táblaváltozatot tartalmaz, és az egyik legnépszerűbb elektronikai platform az oktatás, az ipar és a gyártók számára.

Sok Google -keresés után csak nagyon korlátozott információforrásokat találtam a módról. Ezért gondoltam, hogy részletesen írok arról, hogyan csináltam.

Essünk neki!

1. lépés: Mielőtt elkezdené

Mielőtt elkezdené a szoftverkönyvtár vagy a firmware áthelyezését a táblára, ismernie kell néhány kulcsfontosságú pontot az Ön által használt technológiáról, és képesnek kell lennie válaszolni az alábbi kérdésekre.

  1. Milyen processzort használsz?
  2. Milyen architektúrát használ?
  3. Hozzáférhetek a mikroprocesszor adatlapjához?
  4. Van -e a piacon hasonló tábla, amely ugyanazt a mikroprocesszort használja?

Ezek nagyon fontosak. Ez hatással lesz a fejlesztési folyamat megközelítésének számos aspektusára.

Az Arduino táblák általában korlátozott számú processzortípust és architektúrát használnak. A leggyakoribb az AVR architektúrát használó ATMEGA sorozat (Arduino Uno). Az Arduino újabb generációi egyre gyakoribbak a SAMD processzorok (ARM) és más, hatékonyabb processzorok használatával. Ezért fontos ellenőrizni, hogy melyiket használja.

A mikroprocesszor adatlapja elengedhetetlen ahhoz, hogy a kártya a várt módon reagáljon a firmware összeállításakor. Enélkül nem tudja beállítani a megfelelő tűkimeneti funkciókat vagy konfigurálni a soros portokat.

Miután megkapta az összes szükséges információt a használt processzorról, elkezdheti nézni a szoftvert, és módosíthatja azt úgy, hogy az egyéni táblájához illeszkedjen.

2. lépés: Áttekintés

Minden projekt legnehezebb része a jó kiindulópont megtalálása. Nincs ez másként. Nehezen találtam jó oktatóanyagokat, amelyek kellő részletességgel mutattak be egyéni táblákat az Arduino számára. A legtöbb oktatóanyag megmutatja, hogyan kell „egyéni táblát hozzáadni”, de nem az „egyéni tábla létrehozását”. Íme egy rövid összefoglaló arról, hogy miről van szó.

  1. Töltse le a meglévő tábla definícióit és másolatát
  2. Definíciós fájlok frissítése (variant.h, varient.cpp)
  3. Táblabejegyzés létrehozása (board.txt)
  4. A fórum verziójának frissítése (platform.txt)
  5. Felkészülés a telepítésre (json)
  6. A kártya telepítése az Arduino IDE -be

Az alábbiakban részletesen ismertetjük az egyes lépéseket. Széles körű vita lesz arról is, hogy az egyes fájlok hogyan lépnek egymással kapcsolatba, hogy tisztázzák, hogyan működik minden az Arduino IDE mögött.

Ebben az oktatóanyagban megmutatom, hogyan hozhat létre egyéni táblát a SAMD processzorokhoz. Pontosabban, a SAMD21G18A - ez a mikroprocesszor, amelyet az általam átvitt Robo HAT MM1 táblán használtam.

Feltételezem azt is, hogy már letöltötte az Arduino IDE 1.8 vagy újabb verzióját. Íráskor az Arduino 1.8.9 -et használtam.

3. lépés: A meglévő táblák letöltése

Meglévő táblák letöltése
Meglévő táblák letöltése
Meglévő táblák letöltése
Meglévő táblák letöltése
Meglévő táblák letöltése
Meglévő táblák letöltése

Az első lépés a legközelebbi Arduino tábla letöltése, amely megfelel a táblának. A SAMD táblák esetében ez az Arduino Zero.

Az Arduino IDE 1.6 óta az új táblák környezetbe való letöltésének módja az volt, hogy a szoftverfejlesztők által biztosított speciális JSON fájlokat adtak hozzá, majd telepítették az egyéni táblákat a „Boards Manager” segítségével. Az Arduino IDE korábbi verziói más módszert alkalmaztak, amelyet ma nem tárgyalunk. Ebben az oktatóanyagban később saját JSON -fájlt hozunk létre, azonban először hozzá kell adnunk az Arduino Zero táblát ezzel a módszerrel.

Még szerencse, hogy a letölteni kívánt tábla nem igényel JSON -fájlt, mert a JSON -fájl előcsomagban van az Arduino IDE -vel - tehát csak telepítenünk kell a táblát a „Boards Manager” -ből.

Ehhez lépjen az „Eszközök” menübe, majd bontsa ki a „Tábla” menüt. A „Tábla” menü tetején a „Táblakezelő” lesz. Kattintson erre a menüpontra a Boards Manager megjelenítéséhez.

(Lásd a képeket)

Amikor megnyitja a táblák kezelőjét, megnézi az összes JSON -fájlt, amelyet az Arduino IDE -ben tárolt, majd letölti a beállításokat a fájlból. Látnia kell a telepíthető Arduino táblák hosszú listáját.

(Lásd a képeket)

Ebben az oktatóanyagban csak az „Arduino SAMD Boards (32 bites ARM Cortex-M0+)” lapra vagyunk kíváncsiak, de ekkor eltérhet és telepítheti a szükséges táblát. Kérjük, keresse meg és telepítse az „Arduino SAMD Boards (32 bites ARM Cortex-M0+)” lapot. Ezt úgy teheti meg, hogy rákattint a szövegre a listából, majd a jobb oldalon található „Telepítés” gombra, amely a szövegre kattintás után jelenik meg. A telepítés néhány percet vesz igénybe.

További részletek az új táblák telepítéséről: Az Adafruit itt talál egy nagyszerű oktatóanyagot, amely elmagyarázza, hogyan kell telepíteni a Feature M0 táblákat.

Most, hogy a táblafájlokat telepítettük, képesek vagyunk lemásolni őket, hogy azok módosíthatók legyenek az egyéni táblához.

4. lépés: A táblafájlok keresése és másolása

Táblafájlok keresése és másolása
Táblafájlok keresése és másolása
Táblafájlok keresése és másolása
Táblafájlok keresése és másolása
Táblafájlok keresése és másolása
Táblafájlok keresése és másolása

Windows esetén a Board Files fájlok találhatók (ne felejtse el megváltoztatni a felhasználónevet a felhasználónevére):

C: / Felhasználók / felhasználónév / AppData / Local / Arduino15 / csomagok

Ebben a mappában egy kicsit mélyebbre kell mennie ahhoz, hogy elérje azokat a fájlokat, amelyeket módosítani kell. Ehhez az oktatóanyaghoz megyünk, és beszerezzük az Arduino Zero alaplapi fájlokat, amelyekre telepíteni fogják (ne felejtse el megváltoztatni a felhasználónevet a felhasználónevére):

C: / Users / felhasználónév / AppData / Local / Arduino15 / csomagok / arduino / hardware / samd

Másolja át az ebben a könyvtárban található verziószámmal ellátott mappát egy új mappába a Dokumentumok mappában vagy az Ön által választott mappában. Ennek az oktatóanyagnak a céljaira egy új mappába helyezem őket a „Dokumentumok” belsejében, „egyéni táblák” néven.

A mappa számos mappát és könyvtárat tartalmaz. Azokat, amelyeket használni fogunk, a képernyőkép táblázatában tüntettük fel.

5. lépés: Változat létrehozása

Változat létrehozása
Változat létrehozása
Változat létrehozása
Változat létrehozása
Változat létrehozása
Változat létrehozása
Változat létrehozása
Változat létrehozása

Most már készen állunk arra, hogy egyéni táblás bejegyzést hozzunk létre. Ebben az oktatóanyagban a Robo HAT MM1 -et fogom használni példaként. Mint korábban említettük, ez egy SAMD alapú kártya, amely a legközelebb áll az Arduino Zero buildhez.

Kezdjük azzal, hogy bemegyünk a Variant mappába, és lemásoljuk az ott található arduino_zero mappát. Az új táblaváltozatot „robohatmm1” -nek nevezzük át. A magáét hívhatja, ahogy akarja.

(Lásd a képet)

A robohatmm1 mappában lesz a szerkesztéshez szükséges két érintkező: variant.cpp és variant.h. Nyisd ki mindkettőt.

Ennek eltartása sokáig tartott, ezért itt elmagyarázom, hogy időt takarítsak meg. A variant.cpp fájl nagyon nagy számú tűt tartalmaz, amelyekre a változat.h hivatkozik. A h.variáns összes tüskehivatkozása a vari.cpp tömb egy adott pozíciójában lévő tűkonfigurációra való hivatkozás.

(Lásd a Képernyőképet két fájllal)

Tehát a legtöbb szerkesztés mindkét fájlban meg fog történni, de meg kell győződnie arról, hogy ha megváltoztatja a tűk sorrendjét a varian.cpp -ben - meg kell változtatnia a fejlécfájl hivatkozásait (variants.h). A Robo HAT MM1 esetében csak néhány tűt és funkciót kellett megváltoztatnom. Ez változatokban történt.h. Hozzáadtam néhány új PWM csapot, mivel a SAMD21 képes kezelni 12 PWM csatornát. Hozzáadtam néhány nevet a szervókhoz, jelekhez (az ADC/Digital helyett) és az egyéni leképezést a megfelelő funkciókhoz - például SPI, UART és I2C.

Fontos megjegyezni, hogy kétszer ellenőrizze, hogy a vari.h.

A Variants.cpp egy nagyon hatékony és fontos fájl. Minden nehéz munkát elvégez, hogy a csapokat a hardverbeállításokhoz igazítsa. Ennek legegyszerűbb magyarázata az egyes részek példájával és magyarázatával.

(Lásd a táblázatot a képernyőképen)

Példa (kivonat a variants.cpp -ből)

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

Ez az első csap a Vario.cpp tömbben a Robo HAT MM1 számára. Az adatlap táblázatát képként adtuk meg (szürke táblázat).

(Lásd a képeket)

Ezt a tűt használják az I2C adatcsap funkcióhoz. Ha megnézzük a táblázatot, láthatjuk, hogy ez a csap I2C SDA tűként használható (jó kezdés!). A csap neve „PA22”, ami a PORTA rövidítése a 22 -es tűn. Rögtön beállíthatjuk ennek a csapnak a PORT -ját és a PIN -számát.

A következő dolog, amit meg kell tennünk, a tűt soros kommunikációs portként kell beállítani. A csap soros kommunikációval érhető el a C (PIO_SERCOM) funkción keresztül a SERCOM 3 és a D segítségével a SERCOM5 használatával (PIO_SERCOM_ALT). A Robo HAT MM1 alkalmazásában SERCOM3 -at használunk az I2C kommunikációhoz. Ez a C funkción van; más néven. PIO_SERCOM változatokhoz.cpp.

Mivel ezt a csapot csak I2C SDA -ként kívánjuk használni, nincs szükség más funkciók beállítására. Ezek mindegyike beállítható „Nem” vagy „Nem” opcióként az előző táblázatból. Ha azonban használni szeretnénk a többi funkciót - átmehetnénk az adatlapon, és mindegyiket a megfelelő helyekre írhatnánk. Minden benne van az adatlapban.

A változatfájlok módosítása eltarthat egy ideig. Legyen óvatos, és mindig háromszor ellenőrizze.

6. lépés: Hozzon létre egy tábladefiníciót

Hozzon létre egy tábladefiníciót
Hozzon létre egy tábladefiníciót

Miután elkészítette a változatfájljait, innen azonnal tovább kell lépnie. A legtöbb munka a fájlok másolása és beillesztése vagy módosítása és frissítése lesz.

A táblák.txt fájlból kiindulva.

(Lásd a képet)

Érdemes másolni és beilleszteni egy már létező tábladefiníciót. Ajánlom újra az Arduino Zero -t.

Az egyszerűség kedvéért csak a tábla nevét (első sor), usb_product, usb_manufacturer és változatát (robohat) módosítsa. A többi érvet később személyre szabhatja az igényeinek megfelelően - például egy egyéni rendszerbetöltőt vagy különböző USB VID/PID -ket a tábla azonosításához.

A tábla változatnak meg kell egyeznie az elején létrehozott mappa nevével. Ehhez az oktatóanyaghoz „robohatmm1” -nek neveztem el.

Azt is javasoljuk, hogy minden sor első részét változtassa meg a tábla nevével. A képernyőképen „robo_hat_mm1” -re módosult. Válasszon nevet a táblának ugyanabban a formátumban.

Ez csak a boards.txt fájlra vonatkozik, hacsak nem kívánja később elvégezni a fent említett további módosításokat.

7. lépés: Frissítse a fórum verzióját

Frissítse a fórum verzióját
Frissítse a fórum verzióját

A Platform.txt fájlban módosítsa a nevét az egyéni táblája nevére. Változtassa meg a verziószámot is. Ne feledje, mire állította be, később szükségünk lesz rá.

8. lépés: Hozza létre a JSON csomagfájlt

Hozzon létre JSON csomagfájlt
Hozzon létre JSON csomagfájlt
Hozzon létre JSON csomagfájlt
Hozzon létre JSON csomagfájlt

Az alaplap Arduino IDE -be történő telepítéséhez létre kell hoznia egy importálni kívánt JSON -fájlt. A JSON fájl megmondja az Arduino IDE -nek, hogy honnan szerezze be a fájlokat a tábla telepítéséhez, milyen extra csomagokra van szükség, és néhány más metaadatot.

Nagyon fontos, hogy mentse ezt a fájlt azon a mappán kívül, ahol éppen dolgoztunk.

A fájl nagy része másolható és beilleszthető a saját fájljába. Csak a „táblák” részt és a többi metaadatot kell megváltoztatnia a fájl tetején. Tekintse meg a képernyőképet, hogy mit kell frissíteni.

(Lásd a képet)

  • Vörös szakasz: Ez a metaadat, amelyet a felhasználók használhatnak segítség kereséséhez. Nagyon kevés technikai jelentősége van.
  • Kék szakasz: Mindezek fontosak. Megjelennek az Arduino IDE -ben. A név, az architektúra és a verzió megjelenik mindenkinek, aki megpróbálja telepíteni a csomagot. Itt kell megadnia a platform.txt verziószámát. A második kék rész a csomagban található táblák listája. Több táblája is lehet.
  • Zöld szakasz: Ez a rész további magyarázatra szorul.

(Lásd a táblázatot a képeken)

Miután létrehozta a zip fájlt, megkapta a zip fájl ellenőrző összegét és fájlméretét, most feltöltheti a zip fájlt egy helyre. Ezt az URL -t be kell írnia az „url” mezőbe. Ha a név vagy a fenti adatok bármelyike helytelen, az egyéni tábla telepítése sikertelen lesz.

Győződjön meg róla, hogy a package_boardname_index.json fájlt is feltöltötte egy nyilvános helyre az interneten. A GitHub jó lehetőség.

A Robo HAT MM1 egyedi táblafájl itt található.

9. lépés: Az utolsó lépés - Telepítse egyéni tábláját

Az utolsó lépés - telepítse egyedi tábláját!
Az utolsó lépés - telepítse egyedi tábláját!
Az utolsó lépés - telepítse egyedi tábláját!
Az utolsó lépés - telepítse egyedi tábláját!

Minden jól megy, most már képesnek kell lennie arra, hogy JSON -fájlját az Arduino IDE -be illessze, és telepítse az egyéni táblát.

A JSON fájl beillesztése egyszerű! Az Arduino IDE -ben - csak lépjen a „Fájl”> „Beállítások” menüpontra, és másolja be, majd illessze be a package_boardname_index.json fájl helyét (URL -jét) a Beállítások menü alján található „További táblák kezelő URL -címei” szakaszba.

(Lásd a képet)

Ezután nyomja meg az OK gombot.

Ha elfelejtette, hajtsa végre a fenti utasításokat az új táblák telepítéséhez. Ne feledje, hogy ezúttal keressen egyedi deszkát!

(Lásd a képet)

További részletek az új táblák telepítéséről: Az Adafruit itt talál egy nagyszerű oktatóanyagot, amely elmagyarázza, hogyan kell telepíteni a Feature M0 táblákat.

10. lépés: Következtetés

Következtetés
Következtetés
Következtetés
Következtetés

Jó móka volt egyedi Arduino táblák létrehozása. A jövőben még sokat kell kísérleteznem (további soros portok hozzáadásával), de nagyszerű tanulási élmény volt!

Feltétlenül nézze meg a Crowd Supply kampányt is. 2019. június 11 -én ér véget.

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

Remélem, ez segített neked, vagy jól szórakoztál az olvasásban!

Kösz!

Ajánlott: