Përmbajtje:

Arduino IDE: Krijimi i tabelave të personalizuara: 10 hapa
Arduino IDE: Krijimi i tabelave të personalizuara: 10 hapa

Video: Arduino IDE: Krijimi i tabelave të personalizuara: 10 hapa

Video: Arduino IDE: Krijimi i tabelave të personalizuara: 10 hapa
Video: 8597 - Teknologji me TIK - Përdorimi i formave të gatshme për krijimin e kalendarëve dhe orarit... 2024, Korrik
Anonim
Arduino IDE: Krijimi i tabelave të personalizuara
Arduino IDE: Krijimi i tabelave të personalizuara
Arduino IDE: Krijimi i tabelave të personalizuara
Arduino IDE: Krijimi i tabelave të personalizuara
Arduino IDE: Krijimi i tabelave të personalizuara
Arduino IDE: Krijimi i tabelave të personalizuara

Gjatë gjashtë muajve të fundit kam kaluar shumë kohë duke transferuar biblioteka të ndryshme në bordin Robo HAT MM1 të zhvilluar nga Robotics Masters. Kjo ka çuar në zbulimin e shumë gjërave për këto biblioteka, mënyrën e funksionimit të tyre në prapaskenë dhe më e rëndësishmja - çfarë të bëni për të shtuar tabela të reja në të ardhmen.

Kjo është e para në një seri shkrimesh që do të bëj për të ndihmuar të tjerët që dëshirojnë të transferojnë biblioteka për bordet e tyre. Shumë nga burimet e informacionit mund të jenë të paqarta ose të vështira për t'u kuptuar nga të huajt. Shpresoj të ‘çmitizoj’ dhe të shpjegoj se si të arrihet një port i suksesshëm për të gjithë.

Sot, ne do të shikojmë Platformën Arduino. Ajo ka mbi 700, 000 variante të ndryshme bordesh në të gjithë botën dhe është një nga platformat elektronike më të njohura për arsimin, industrinë dhe prodhuesit.

Unë mund të gjej vetëm burime shumë të kufizuara informacioni se si ta bëj këtë pas shumë kërkimeve në Google. Kështu që mendova se do të shkruaja për mënyrën sesi e bëra në detaje.

Ja ku po shkojme!

Hapi 1: Para se të filloni

Para se të filloni të transferoni një bibliotekë softuerike ose firmware në bordin tuaj, duhet të dini disa pika kryesore në lidhje me teknologjinë që po përdorni dhe të jeni në gjendje t'u përgjigjeni pyetjeve më poshtë.

  1. Çfarë procesori po përdorni?
  2. Çfarë arkitekture përdor?
  3. A kam qasje në fletën e të dhënave për këtë mikroprocesor?
  4. A ka një bord të ngjashëm në treg që përdor të njëjtin mikroprocesor?

Këto janë shumë të rëndësishme. Do të ndikojë në shumë aspekte se si i qaseni procesit të zhvillimit.

Bordet Arduino zakonisht përdorin një numër të kufizuar të llojeve dhe arkitekturave të procesorit. Më e zakonshme është diapazoni ATMEGA duke përdorur arkitekturën AVR (Arduino Uno). Ka gjenerata të reja të Arduinos që bëhen më të zakonshme duke përdorur përpunuesit SAMD (ARM) dhe përpunues të tjerë më të fuqishëm. Prandaj, është e rëndësishme të kontrolloni se cilën përdorni.

Fleta e të dhënave për një mikroprocesor është absolutisht jetike për të siguruar që bordi të përgjigjet siç pritej kur përpiloni firmuerin. Pa të, nuk do të jeni në gjendje të vendosni funksionet e sakta të daljes së pin ose të konfiguroni portet serike.

Pasi të keni të gjithë informacionin që ju nevojitet në lidhje me procesorin që po përdorni, mund të filloni të shikoni softuerin dhe ta modifikoni atë për të punuar për bordin tuaj të personalizuar.

Hapi 2: Vështrim i përgjithshëm

Pjesa më e vështirë e çdo projekti është të gjesh një pikënisje të mirë. Kjo nuk është ndryshe. U përpoqa të gjeja mësime të mira me detaje të mjaftueshme se si të krijoja tabela të personalizuara për Arduino. Shumica e mësimeve ju tregojnë se si të "shtoni një tabelë të personalizuar", por jo si të "krijoni një tabelë të personalizuar". Këtu është një përmbledhje e shkurtër e asaj që përfshihet.

  1. Shkarkoni Përkufizimet Ekzistuese të Bordit dhe Kopjoni
  2. Përditësimi i skedarëve me definicion (variant.h, varient.cpp)
  3. Krijo hyrje në bord (board.txt)
  4. Përditëso versionin e tabelës (platform.txt)
  5. Përgatitja për instalim (json)
  6. Bordi i instalimit në Arduino IDE

Çdo hap do të shpjegohet në detaje më poshtë. Do të ketë gjithashtu diskutim të gjerë se si bashkëvepron secili skedar me njëri -tjetrin për të sqaruar se si funksionon gjithçka pas Arduino IDE.

Për këtë tutorial, unë do t'ju tregoj se si të krijoni një tabelë të personalizuar për përpunuesit SAMD. Më konkretisht, SAMD21G18A - i cili është mikroprocesori i përdorur në tabelën Robo HAT MM1 të cilën po e transferoja.

Unë gjithashtu supozoj se ju tashmë keni shkarkuar Arduino IDE 1.8 ose më vonë. Kam përdorur Arduino 1.8.9 në kohën e shkrimit.

Hapi 3: Shkarkimi i tabelave ekzistuese

Shkarkimi i tabelave ekzistuese
Shkarkimi i tabelave ekzistuese
Shkarkimi i tabelave ekzistuese
Shkarkimi i tabelave ekzistuese
Shkarkimi i tabelave ekzistuese
Shkarkimi i tabelave ekzistuese

Hapi i parë është të shkarkoni variantin më të afërt Arduino i cili përputhet me tabelën tuaj. Për bordet SAMD, ky është Arduino Zero.

Që nga Arduino IDE 1.6, metoda për shkarkimin e tabelave të reja në mjedis ka qenë shtimi i skedarëve specialë JSON që ofrojnë zhvilluesit e softuerit dhe më pas instalimi i bordeve të personalizuar duke përdorur "Menaxherin e bordeve". Versionet e mëparshme të Arduino IDE përdorën një metodë të ndryshme për të cilën nuk do të diskutojmë sot. Ne do të krijojmë skedarin tonë JSON më vonë në këtë tutorial, megjithatë, së pari duhet të shtojmë bordin Arduino Zero duke përdorur këtë metodë.

Me fat për ne, bordi që duam të shkarkojmë nuk ka nevojë për një skedar JSON sepse skedari JSON është i para -bashkuar me Arduino IDE - kështu që ne vetëm duhet të instalojmë tabelën nga "Boards Manager".

Për ta bërë këtë, shkoni te "Tools", pastaj zgjeroni menunë "Board". Në krye të menysë "Bordi" do të jetë "Menaxheri i Bordeve". Klikoni në këtë opsion të menysë për të shfaqur Menaxherin e Bordeve.

(Shihni Imazhet)

Kur të hapet Menaxheri i Bordeve, do të shikojë të gjithë skedarët JSON që ka ruajtur në Arduino IDE dhe më pas do të shkarkojë cilësimet nga skedari. Ju duhet të shihni një listë të gjatë të bordeve të disponueshëm Arduino që mund t'i instaloni.

(Shihni Imazhet)

Ne jemi të interesuar vetëm për bordin "Arduino SAMD Boards (32-bit ARM Cortex-M0+)" për këtë tutorial, por ju mund të devijoni dhe instaloni tabelën që ju nevojitet në këtë pikë. Ju lutemi kërkoni dhe instaloni tabelën "Arduino SAMD Boards (32-bit ARM Cortex-M0+)". Kjo mund të bëhet duke klikuar në tekstin nga lista e ndjekur nga butoni "Instalo" në anën e djathtë i cili do të shfaqet pasi të klikoni në tekst. Do të duhen disa minuta për t'u instaluar.

Për më shumë detaje instalimi i tabelave të reja: Adafruit ka një tutorial të mrekullueshëm këtu i cili shpjegon se si të instaloni bordet e tyre Feature M0.

Tani që skedarët e bordit janë instaluar, ne jemi në gjendje t'i kopjojmë ato në mënyrë që ato të mund të modifikohen për tabelën tuaj të personalizuar.

Hapi 4: Gjetja dhe Kopjimi i Dosjeve të Bordit

Gjetja dhe Kopjimi i Dosjeve të Bordit
Gjetja dhe Kopjimi i Dosjeve të Bordit
Gjetja dhe Kopjimi i Dosjeve të Bordit
Gjetja dhe Kopjimi i Dosjeve të Bordit
Gjetja dhe Kopjimi i Dosjeve të Bordit
Gjetja dhe Kopjimi i Dosjeve të Bordit

Për Windows, Skedarët e Bordit gjenden në (mos harroni të ndryshoni emrin e përdoruesit në emrin tuaj të përdoruesit):

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

Në këtë dosje, duhet të shkoni pak më thellë për të arritur te skedarët që duhet të kopjoni për t'i modifikuar. Për këtë tutorial ne do të shkojmë dhe do të marrim skedarët e bordit Arduino Zero të cilët do të instalohen (mos harroni të ndryshoni emrin e përdoruesit në emrin tuaj të përdoruesit):

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

Kopjoni dosjen me numrin e versionit të vendosur në këtë drejtori në një dosje të re në dosjen ose dosjen tuaj të Dokumenteve sipas zgjedhjes suaj. Për qëllimet e këtij mësimi, unë do t'i vendos në një dosje të re të quajtur "tabela të personalizuara" brenda Dokumenteve.

Dosja përmban një numër dosjesh dhe drejtorish. Ato që do të përdorim shënohen në tabelën në pamjen e ekranit.

Hapi 5: Krijimi i një varianti

Krijimi i një varianti
Krijimi i një varianti
Krijimi i një varianti
Krijimi i një varianti
Krijimi i një varianti
Krijimi i një varianti
Krijimi i një varianti
Krijimi i një varianti

Tani jemi gati të fillojmë të krijojmë një hyrje të personalizuar në tabelë. Për këtë tutorial, unë do të përdor Robo HAT MM1 si shembull. Siç u përmend më parë, është një bord i bazuar në SAMD i cili përputhet më së shumti me ndërtimin Arduino Zero.

Ne do të fillojmë duke hyrë në dosjen e varianteve dhe duke kopjuar dosjen arduino_zero të vendosur atje. Ne do ta riemërtojmë variantin e ri të bordit ‘robohatmm1’. Ju mund ta quani tuajin si të doni.

(Shihni Imazhin)

Brenda dosjes robohatmm1 do të jenë dy kunjat që na duhen për të filluar redaktimin: variant.cpp dhe variant.h. Hapini të dy.

Kjo më mori pak kohë për të punuar, kështu që unë do ta shpjegoj këtu për t'ju kursyer pak kohë. Skedari variant.cpp përmban një koleksion shumë të madh të kunjave i cili referohet në të gjithë variantin.h. Të gjitha referencat e pin në variant.h janë një referencë për konfigurimin e pin në një pozicion të veçantë në grupin variant.cpp.

(Shih screenshot me dy skedarë)

Pra, shumica e redaktimeve tuaja do të ndodhin në të dyja këto skedarë, por duhet të siguroheni që nëse ndryshoni rendin e kunjave në variante.cpp - duhet të ndryshoni referencat në skedarin e kokës (variantet.h). Për Robo HAT MM1, më duhej vetëm të ndryshoja disa kunja dhe funksione. Kjo është bërë në variante.h. Shtova disa kunja të reja PWM pasi SAMD21 është në gjendje të trajtojë 12 kanale PWM. Unë gjithashtu shtova disa emra për Servos, Signals (në vend të ADC/Digital) dhe hartë me porosi në funksionet e duhura - të tilla si SPI, UART dhe I2C.

Gjëja e rëndësishme që duhet të theksohet është që të kontrolloni dy herë nëse referencat e grupit që përdorni për funksionet e përshkruara në variantet.h përputhen me atë të kunjit në varaints.cpp - të cilën tani do ta shikojmë.

Variants.cpp është një skedar shumë i fuqishëm dhe i rëndësishëm. Ai bën të gjithë punën e vështirë për të vendosur kunjat që të përputhen me cilësimet e harduerit. Mënyra më e lehtë për ta shpjeguar këtë është me një shembull dhe shpjegim të secilës pjesë.

(Shih tabelën në pamjen e ekranit)

Shembull (ekstrakt nga variantet.cpp)

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

Kjo është kunja e parë në grupin e varianteve.cpp për Robo HAT MM1. Tabela nga fleta e të dhënave është dhënë si një imazh (tabela gri).

(Shihni Imazhet)

Kjo kunjë e veçantë përdoret për funksionin e të dhënave të të dhënave I2C. Duke i hedhur një sy tabelës, ne jemi në gjendje të shohim se kjo kunj është në gjendje të përdoret si një kunj I2C SDA (fillim i mbarë!). Kunja quhet "PA22" e cila është e shkurtër për PORTA në pin 22. Menjëherë mund të vendosim numrin PORT dhe pin për këtë kunj.

Gjëja tjetër që duhet të bëjmë është të vendosim pin si një port komunikimi serik. Pina ka komunikim serik të disponueshëm përmes funksionit C (PIO_SERCOM) duke përdorur SERCOM 3 dhe D duke përdorur SERCOM5 (PIO_SERCOM_ALT). Për qëllimet e Robo HAT MM1, ne po përdorim SERCOM3 për komunikimin I2C. Kjo është në funksionin C; aka. PIO_SERCOM për variantet.cpp.

Meqenëse ne planifikojmë ta përdorim këtë pin vetëm si një SDA I2C, nuk ka nevojë të vendosni ndonjë nga funksionet e tjera. Të gjitha ato mund të vendosen si opsione "Jo" ose "Jo" nga tabela e mëparshme. Sidoqoftë, nëse dëshirojmë të përdorim funksionet e tjera - mund të kalojmë nëpër fletën e të dhënave dhe t'i vendosim të gjitha në hapësirat e duhura. E gjitha është në fletën e të dhënave.

Ndryshimi i skedarëve variantë mund të marrë pak kohë. Kini kujdes dhe kontrolloni gjithmonë trefish.

Hapi 6: Krijoni një Përkufizim të Bordit

Krijoni një Përkufizim të Bordit
Krijoni një Përkufizim të Bordit

Pasi të keni gati skedarët tuaj variant, duhet të jetë drejtpërdrejt nga këtu. Shumica e punës do të jetë kopjimi dhe ngjitja ose modifikimi dhe azhurnimi i skedarëve.

Duke filluar me bordet.txt.

(Shihni Imazhin)

Ju do të dëshironi të kopjoni dhe ngjisni një përkufizim të tabelës që është tashmë atje. Unë do të rekomandoja përsëri Arduino Zero.

Për thjeshtësi, ndryshoni vetëm emrin e bordit (rreshti i parë), usb_product, usb_manufacturer dhe variantin (robohat). Argumentet e tjera mund t'i personalizoni më vonë për t'iu përshtatur nevojave tuaja - të tilla si një ngarkues ngarkues me porosi ose USB VID/PID të ndryshëm për identifikimin e bordit tuaj.

Varianti i tabelës duhet të përputhet me emrin e dhënë në dosjen e krijuar në fillim. Për këtë tutorial e quajta 'robohatmm1'.

Gjithashtu do të rekomandohej ndryshimi i pjesës së parë të secilës rresht që të përputhej me emrin e bordit tuaj. Në pamjen e ekranit është ndryshuar në 'robo_hat_mm1'. Ju duhet të zgjidhni një emër për bordin tuaj me të njëjtin format.

Kjo është e gjitha për boards.txt nëse nuk doni të bëni modifikime të tjera të përmendura më lart më vonë.

Hapi 7: Përditësoni versionin e tabelës

Përditëso versionin e tabelës
Përditëso versionin e tabelës

Në platforms.txt ndryshoni emrin në emrin e bordit tuaj të personalizuar. Ndryshoni gjithashtu numrin e versionit. Mos harroni se për çfarë e vendosët këtë, do të na duhet më vonë.

Hapi 8: Krijoni skedarin e paketës JSON

Krijoni skedarin e paketës JSON
Krijoni skedarin e paketës JSON
Krijoni skedarin e paketës JSON
Krijoni skedarin e paketës JSON

Në mënyrë që të instaloni bordin tuaj në Arduino IDE, do t'ju duhet të krijoni një skedar JSON që do të importoni. Skedari JSON i tregon Arduino IDE se ku t'i merrni skedarët për të instaluar tabelën, cilat pako shtesë nevojiten dhe disa pjesë të tjera të meta të dhënave.

Veryshtë shumë e rëndësishme që ta ruani këtë skedar jashtë dosjes në të cilën sapo kemi punuar.

Shumica e skedarit mund të kopjohen dhe ngjiten në atë tuajin. Ju vetëm do të duhet të ndryshoni seksionin "bordet" dhe meta të dhënat e tjera në krye të skedarit. Shikoni pamjen e ekranit për atë që duhet të përditësohet.

(Shihni Imazhin)

  • Seksioni i Kuq: Këto janë meta të dhëna që përdoruesit mund t'i përdorin për të gjetur ndihmë. Ka shumë pak rëndësi teknike.
  • Seksioni Blu: Të gjitha këto janë të rëndësishme. Ato shfaqen në Arduino IDE. Emri, Arkitektura dhe Versioni do t'i tregohen të gjithëve që përpiqen të instalojnë paketën. Këtu ju duhet të vendosni numrin e versionit nga platforms.txt. Seksioni i dytë blu është lista e tabelave që përfshihen në paketë. Mund të keni borde të shumta.
  • Seksioni i Gjelbër: Ky seksion ka nevojë për shpjegime të mëtejshme.

(Shih Tabelën në Imazhe)

Pasi të keni krijuar skedarin zip, të keni përmbledhjen e skedarit zip dhe madhësinë e skedarit, tani mund të ngarkoni skedarin zip në një vendndodhje. Ju do të duhet ta vendosni atë URL në fushën "url". Nëse emri ose ndonjë nga detajet e mësipërme është i pasaktë, bordi juaj personal nuk do të instalohet.

Sigurohuni që gjithashtu të ngarkoni skedarin tuaj package_boardname_index.json në një vend publik në internet. GitHub është një opsion i mirë.

Skedari i bordit me porosi Robo HAT MM1 mund të gjendet këtu.

Hapi 9: Hapi Final - Instaloni bordin tuaj të personalizuar

Hapi i fundit - Instaloni bordin tuaj të personalizuar!
Hapi i fundit - Instaloni bordin tuaj të personalizuar!
Hapi i fundit - Instaloni bordin tuaj të personalizuar!
Hapi i fundit - Instaloni bordin tuaj të personalizuar!

Gjithçka po shkon mirë, tani duhet të jeni në gjendje të përfshini skedarin tuaj JSON në Arduino IDE dhe të instaloni bordin tuaj të personalizuar.

Përfshirja e skedarit JSON është e lehtë! Në Arduino IDE - thjesht shkoni te "Skedari"> "Preferencat" dhe kopjoni dhe ngjisni vendndodhjen (URL) e paketës_boardname_index.json tuaj në seksionin "URL -të e Menaxherit të Bordeve shtesë" në fund të menusë Preferencat.

(Shihni Imazhin)

Pastaj shtypni OK.

Drejtoni udhëzimet nga lart për instalimin e tabelave të reja nëse i keni harruar. Mos harroni të kërkoni bordin tuaj të personalizuar këtë herë!

(Shihni Imazhin)

Për më shumë detaje instalimi i tabelave të reja: Adafruit ka një tutorial të mrekullueshëm këtu i cili shpjegon se si të instaloni bordet e tyre Feature M0.

Hapi 10: Përfundimi

Përfundim
Përfundim
Përfundim
Përfundim

Kjo ka qenë argëtuese duke krijuar tabela të personalizuara Arduino. Ka akoma shumë për mua për të eksperimentuar në të ardhmen (duke shtuar porte serike shtesë), por ka qenë një përvojë e madhe mësimore!

Sigurohuni që të shikoni edhe fushatën e Furnizimit me Turmë. Përfundon më 11 qershor 2019.

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

Shpresoj se kjo ju ka ndihmuar ose jeni argëtuar duke lexuar së bashku!

Faleminderit!

Recommended: