Tartalomjegyzék:
- 1. lépés: Mielőtt elkezdené
- 2. lépés: Áttekintés
- 3. lépés: A meglévő táblák letöltése
- 4. lépés: A táblafájlok keresése és másolása
- 5. lépés: Változat létrehozása
- 6. lépés: Hozzon létre egy tábladefiníciót
- 7. lépés: Frissítse a fórum verzióját
- 8. lépés: Hozza létre a JSON csomagfájlt
- 9. lépés: Az utolsó lépés - Telepítse egyéni tábláját
- 10. lépés: Következtetés
Videó: Arduino IDE: Egyéni táblák létrehozása: 10 lépés
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:41
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.
- Milyen processzort használsz?
- Milyen architektúrát használ?
- Hozzáférhetek a mikroprocesszor adatlapjához?
- 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ó.
- Töltse le a meglévő tábla definícióit és másolatát
- Definíciós fájlok frissítése (variant.h, varient.cpp)
- Táblabejegyzés létrehozása (board.txt)
- A fórum verziójának frissítése (platform.txt)
- Felkészülés a telepítésre (json)
- 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
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
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
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
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
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
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
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
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:
Egyéni térképek létrehozása a Garmin GPS -hez: 8 lépés (képekkel)
Egyéni térképek létrehozása a Garmin GPS -hez: Ha rendelkezik Garmin GPS -szel, amelyet túrázásra és egyéb szabadtéri tevékenységekre terveztek (többek között a GPSMAP, eTrex, Colorado, Dakota, Oregon és Montana sorozatokat), akkor nem kell megelégedni az előre betöltött csupasz csontok térképeivel. E
Egyéni stilizált térképek létrehozása az OpenStreetMap használatával: 7 lépés (képekkel)
Egyéni, stilizált térképek létrehozása az OpenStreetMap használatával: Ebben az oktatóanyagban leírok egy folyamatot, amellyel saját, egyedi stílusú térképeket hozhat létre. A stilizált térkép olyan térkép, ahol a felhasználó megadhatja, hogy mely adatrétegek jelenjenek meg, valamint meghatározhatja az egyes rétegek stílusát
Egyéni műveletek létrehozása a Google Segéd számára: 12 lépés
Egyéni műveletek létrehozása a Google Segéd számára: Látva a Google Segédben rejlő lehetőségeket a Google I/O 18 -ban, valamint a Volvo Cars infotainment rendszerében, nem tudtam ellenállni a kipróbálásnak. Újra felhasználtam az egyik régebbi projektemet, a VasttraPi -t, és összekapcsoltam a Google Segéddel
Első lépések az Esp 8266 Esp-01 használatával az Arduino IDE - -vel Esp táblák telepítése Arduino Ide programozásba és Esp programozása: 4 lépés
Első lépések az Esp 8266 Esp-01 használatával az Arduino IDE | -vel Esp táblák telepítése Arduino Ide programozásba és Esp programozása: Ebben az oktatóanyagban megtanuljuk, hogyan kell telepíteni az esp8266 táblákat az Arduino IDE programba, és hogyan kell programozni az esp-01 kódot, és feltölteni a kódot. ez és a legtöbb ember problémával szembesül
Egyéni táblák hozzáadása az Arduino IDE -hez: 3 lépés
Egyéni táblák hozzáadása az Arduino IDE -hez: Az Arduino IDE 1.6.4 -es verziója hivatalosan támogatta harmadik fél arduino -kompatibilis tábláinak hozzáadását az Arduino Board Manager -hez. Ez a kiegészítés nagyszerű hír, mert lehetővé teszi a felhasználók számára, hogy egyetlen kattintással gyorsan hozzáadhassanak egyéni táblákat