Мазмұны:

Arduino IDE: арнайы тақталарды құру: 10 қадам
Arduino IDE: арнайы тақталарды құру: 10 қадам

Бейне: Arduino IDE: арнайы тақталарды құру: 10 қадам

Бейне: Arduino IDE: арнайы тақталарды құру: 10 қадам
Бейне: BTT GTR v1.0/M5 v1.0 - Basics 2024, Шілде
Anonim
Arduino IDE: арнайы тақталарды құру
Arduino IDE: арнайы тақталарды құру
Arduino IDE: арнайы тақталарды құру
Arduino IDE: арнайы тақталарды құру
Arduino IDE: арнайы тақталарды құру
Arduino IDE: арнайы тақталарды құру

Соңғы алты айда мен әр түрлі кітапханаларды Robotics Masters жасаған Robo HAT MM1 тақтасына тасымалдауға көп уақыт жұмсадым. Бұл осы кітапханалар туралы көп нәрсені ашуға әкелді, олардың сахна артында қалай жұмыс істейтіні және ең бастысы - болашақта жаңа тақталарды қосу үшін не істеу керек.

Бұл кітапханаларды тақтаға орналастырғысы келетіндерге көмектесу үшін мен жазатын жазбалардың бірінші сериясы. Ақпарат көздерінің көбі түсініксіз немесе бөгде адамдарға түсіну қиын болуы мүмкін. Мен бәріне сәтті портқа қалай жетуге болатынын түсіндіремін деп үміттенемін.

Бүгін біз Arduino платформасын қарастырамыз. Оның бүкіл әлем бойынша тақтаның 70000 -нан астам нұсқасы бар және білімге, өндіріске және өндірушілерге арналған ең танымал электроника платформаларының бірі болып табылады.

Мен мұны қалай жасау керектігі туралы шектеулі ақпарат көздерін көптеген Google іздеулерінен кейін ғана таба алдым. Мен мұны қалай істегенімді егжей -тегжейлі жазамын деп ойладым.

Мінеки Біз!

1 -қадам: бастамас бұрын

Бағдарламалық жасақтама кітапханасын немесе микробағдарламаны тақтаға тасымалдауды бастамас бұрын, сіз қолданып жатқан технология туралы бірнеше негізгі ойларды білуіңіз керек және төмендегі сұрақтарға жауап беруіңіз керек.

  1. Сіз қандай процессорды қолданасыз?
  2. Ол қандай архитектураны қолданады?
  3. Менде бұл микропроцессордың деректер кестесіне қатынас бар ма?
  4. Нарықта бірдей микропроцессорды қолданатын ұқсас тақта бар ма?

Бұлар өте маңызды. Бұл сіздің даму үдерісіне қалай қарайтыныңыздың көптеген аспектілеріне әсер етеді.

Arduino тақталарында процессорлар мен архитектураның шектеулі саны қолданылады. Ең кең тарағаны AVR архитектурасын қолданатын ATMEGA диапазоны (Arduino Uno). SAMD процессорларын (ARM) және басқа да қуатты процессорларды қолдана отырып, Arduinos -тың жаңа ұрпақтары жиі кездеседі. Сондықтан сіз қайсысын қолданғаныңызды тексеру маңызды.

Микропроцессордың деректер кестесі микробағдарламаны құрастырған кезде тақта күтілгендей жауап беруін қамтамасыз ету үшін өте маңызды. Онсыз сіз түйреуішті шығару функцияларын дұрыс орната алмайсыз немесе сериялық порттарды конфигурациялай алмайсыз.

Қолданылатын процессор туралы барлық ақпаратты алғаннан кейін сіз бағдарламалық жасақтаманы қарап шығуға және оны реттелетін тақтаға жұмыс істеу үшін өзгертуге болады.

2 -қадам: шолу

Кез келген жобаның ең қиын бөлігі - жақсы бастау нүктесін табу. Бұл өзгеше емес. Мен Arduino үшін арнайы тақталар жасау туралы егжей -тегжейлі жақсы оқулықтарды таба алмадым. Оқулықтардың көпшілігі сізге «реттелетін тақтаны қалай қосу керектігін» көрсетеді, бірақ қалай «реттелетін тақтаны жасауды» көрсетпейді. Міне, қатысатын нәрселердің қысқаша мазмұны.

  1. Бар кеңестің анықтамаларын жүктеп алыңыз және көшіріңіз
  2. Анықтау файлдарын жаңарту (variant.h, varient.cpp)
  3. Board жазбасын құру (board.txt)
  4. Тақтаның нұсқасын жаңарту (platform.txt)
  5. Орнатуға дайындық (json)
  6. Arduino IDE -де орнату тақтасы

Әр қадам төменде егжей -тегжейлі түсіндіріледі. Сондай -ақ, Arduino IDE -де бәрі қалай жұмыс істейтінін түсіндіру үшін әр файлдың бір -бірімен қалай әрекеттесетіні туралы кең талқылау болады.

Бұл оқулықта мен сізге SAMD процессорларына арналған арнайы тақтаны қалай жасау керектігін көрсетемін. Нақтырақ айтқанда, SAMD21G18A - бұл мен тасымалдайтын Robo HAT MM1 тақтасында қолданылатын микропроцессор.

Менің ойымша, сізде Arduino IDE 1.8 немесе одан кейінгі нұсқасы жүктелген. Мен жазу кезінде Arduino 1.8.9 қолдандым.

3 -қадам: Қолданыстағы тақталарды жүктеу

Бар тақталарды жүктеу
Бар тақталарды жүктеу
Бар тақталарды жүктеу
Бар тақталарды жүктеу
Бар тақталарды жүктеу
Бар тақталарды жүктеу

Бірінші қадам - сіздің тақтаңызға сәйкес келетін Arduino тақтасының ең жақын нұсқасын жүктеу. SAMD тақталары үшін бұл Arduino Zero.

Arduino IDE 1.6 нұсқасынан бастап қоршаған ортаға жаңа тақталарды жүктеу әдісі - бағдарламалық жасақтама жасаушылар ұсынатын арнайы JSON файлдарын қосу, содан кейін «тақталар менеджері» көмегімен реттелетін тақталарды орнату. Arduino IDE -дің алдыңғы нұсқалары біз талқыламайтын басқа әдісті қолданды. Біз кейінірек осы оқулықта өзіміздің JSON файлымызды жасаймыз, бірақ алдымен осы әдісті қолданып Arduino Zero тақтасын қосу керек.

Бақытымызға орай, біз жүктегіміз келетін тақтаға JSON файлы қажет емес, себебі JSON файлы Arduino IDE -мен алдын ала жинақталған, сондықтан бізге тақтаны «тақталар менеджерінен» орнату қажет.

Ол үшін «Құралдар» бөліміне өтіп, «Тақта» мәзірін кеңейтіңіз. «Тақта» мәзірінің жоғарғы жағында «Тақталар менеджері» болады. Тақталар менеджерін ашу үшін осы мәзір параметрін нұқыңыз.

(Суреттерді қараңыз)

Тақталар менеджері ашылған кезде, ол Arduino IDE -де сақталған барлық JSON файлдарын қарайды, содан кейін параметрлерді файлдан жүктейді. Сіз орнатуға болатын Arduino тақталарының ұзын тізімін көресіз.

(Суреттерді қараңыз)

Бізге бұл оқулыққа арналған «Arduino SAMD тақталары (32 биттік ARM Cortex-M0+)» тақтасы ғана қызықтырады, бірақ сіз осы сәтте қажет тақтаны ауыстырып, орната аласыз. «Arduino SAMD тақталары (32 биттік ARM Cortex-M0+)» тақтасын іздеп орнатыңыз. Мұны тізімнен мәтінді басу арқылы жасауға болады, содан кейін мәтінді басқаннан кейін пайда болатын оң жақтағы «Орнату» түймесін басу керек. Орнатуға бірнеше минут кетеді.

Жаңа тақталарды орнату туралы толығырақ ақпарат алу үшін: Adafruit -те Feature M0 тақталарын қалай орнату керектігін түсіндіретін тамаша оқулық бар.

Енді тақта файлдары орнатылды, біз оларды сіздің жеке тақтаға өзгертуге болатындай етіп көшіре аламыз.

4 -қадам: тақта файлдарын табу және көшіру

Басқарма файлдарын табу және көшіру
Басқарма файлдарын табу және көшіру
Басқарма файлдарын табу және көшіру
Басқарма файлдарын табу және көшіру
Басқарма файлдарын табу және көшіру
Басқарма файлдарын табу және көшіру

Windows үшін тақта файлдары орналасқан (пайдаланушы атын пайдаланушы атын өзгертуді ұмытпаңыз):

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

Бұл қалтада өзгерту үшін көшіру қажет файлдарға жету үшін сәл тереңірек өту керек. Бұл оқулық үшін біз Arduino Zero тақтасының файлдарын аламыз (пайдаланушы атын пайдаланушы атымен өзгертуді ұмытпаңыз):

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

Осы каталогта орналасқан нұсқа нөмірленген қалтаны Құжаттар қалтасындағы немесе қалаған қалтаңыздағы жаңа қалтаға көшіріңіз. Бұл оқулықтың мақсаты үшін мен оларды Құжаттар ішіндегі «арнайы тақталар» деп аталатын жаңа қалтаға саламын.

Қалтада бірнеше каталогтар мен каталогтар бар. Біз қолданатындар скриншоттағы кестеде көрсетілген.

5 -қадам: Вариант құру

Вариант құру
Вариант құру
Вариант құру
Вариант құру
Вариант құру
Вариант құру
Вариант құру
Вариант құру

Біз енді реттелетін тақта жазбасын құруға кірісуге дайынбыз. Бұл оқулық үшін мен Robo HAT MM1 үлгісін қолданамын. Жоғарыда айтылғандай, бұл Arduino Zero құрылымына ең жақын SAMD негізіндегі тақта.

Біз нұсқалар қалтасына кіріп, онда орналасқан arduino_zero қалтасын көшіруден бастаймыз. Біз тақтаның жаңа нұсқасын «robohatmm1» деп өзгертеміз. Сіз өзіңізге ұнайтын нәрсені шақыра аласыз.

(Суретті қараңыз)

Robohatmm1 қалтасында редакциялауды бастау керек екі түйреуіш болады: variant.cpp және variant.h. Екеуін ашыңыз.

Бұл маған жаттығуға біраз уақыт кетті, сондықтан мен сізге уақытты үнемдеу үшін осында түсіндіремін. Variant.cpp файлында variant.h бойынша сілтеме жасалған өте көп түйреуіштер жиынтығы бар. Variant.h ішіндегі барлық түйін сілтемелері variant.cpp массивіндегі белгілі бір позициядағы түйреуіш конфигурациясына сілтеме болып табылады.

(Екі файлмен скриншотты қараңыз)

Сонымен, сіздің түзетулеріңіздің көпшілігі осы файлдардың екеуінде де болады, бірақ егер сіз variants.cpp ішіндегі түйреуіштердің ретін өзгертсеңіз - тақырып файлындағы (variants.h) сілтемелерді өзгертуіңіз керек екеніне көз жеткізіңіз. Robo HAT MM1 үшін маған тек түйреуіштер мен функцияларды өзгерту қажет болды. Бұл нұсқаларда жасалды.h. Мен жаңа PWM түйреуіштерін қостым, себебі SAMD21 12 PWM арнасын басқара алады. Мен сонымен қатар SPV, UART және I2C сияқты дұрыс функцияларға Servos, Signals (ADC/Digital орнына) және теңшелетін салыстырудың кейбір атауларын қостым.

Айта кету керек, variants.h ішінде көрсетілген функциялар үшін пайдаланылатын массив сілтемелері varaints.cpp ішіндегі түйінге сәйкес келетінін екі рет тексеру - біз қазір қарастырамыз.

Variants.cpp - өте қуатты және маңызды файл. Ол түйреуіштерді аппараттық параметрлерге сәйкес келтіру үшін барлық ауыр жұмысты жасайды. Мұны түсіндірудің ең оңай жолы - әр бөлікті мысалмен және түсіндірумен.

(Скриншоттағы кестені қараңыз)

Мысал (variants.cpp үзіндісі)

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

Бұл Robo HAT MM1 үшін variants.cpp массивіндегі бірінші түйреуіш. Деректер кестесіндегі кесте кескін түрінде берілген (сұр кесте).

(Суреттерді қараңыз)

Бұл нақты түйреуіш I2C деректер түйреуіш функциясы үшін қолданылады. Кестеге қарап, біз бұл түйреуішті I2C SDA түйреуіші ретінде қолдануға болатынын көре аламыз (жақсы бастама!). Іргетас «PA22» деп аталады, ол PORTA үшін 22 -ші істікшеде қысқарады. Біз бірден осы түйреуіштің ПОРТЫ мен пин нөмірін орната аламыз.

Келесі нәрсе - түйреуішті сериялық байланыс порты ретінде орнату. Ілгіште C (PIO_SERCOM) функциясы арқылы SERCOM 3 және D арқылы SERCOM5 (PIO_SERCOM_ALT) арқылы сериялық байланыс бар. Robo HAT MM1 мақсатында I2C байланысы үшін SERCOM3 қолданамыз. Бұл C функциясында; ака Variant.cpp үшін PIO_SERCOM.

Біз бұл түйреуішті тек I2C SDA ретінде қолдануды жоспарлап отырғандықтан, басқа функцияларды орнатудың қажеті жоқ. Олардың барлығын алдыңғы кестедегі «Жоқ» немесе «Жоқ» опциялары ретінде орнатуға болады. Алайда, егер біз басқа функцияларды қолданғымыз келсе - біз мәліметтер парағына өтіп, олардың барлығын дұрыс кеңістіктерге орналастыра аламыз. Мұның бәрі деректер кестесінде.

Нұсқа файлдарын өзгерту біраз уақытты алуы мүмкін. Сақ болыңыз және әрқашан үш рет тексеріңіз.

6 -қадам: тақта анықтамасын жасаңыз

Басқарма анықтамасын жасаңыз
Басқарма анықтамасын жасаңыз

Сізде нұсқалық файлдар дайын болғаннан кейін, ол дәл осы жерден шығуы керек. Жұмыстың көп бөлігі файлдарды көшіру, қою немесе өзгерту немесе жаңарту болады.

Board.txt файлынан басталады.

(Суретті қараңыз)

Сіз бұрыннан бар тақта анықтамасын көшіріп, қойғыңыз келеді. Мен қайтадан Arduino Zero ұсынар едім.

Қарапайымдылық үшін тек тақта атауын (бірінші жол), usb_product, usb_manufacturer және нұсқа (robohat) өзгертіңіз. Басқа аргументтерді кейінірек сіздің қажеттіліктеріңізге сәйкес реттеуге болады - мысалы, жүктеу жүктеушісі немесе тақтаны анықтау үшін әр түрлі USB VID/PID.

Тақтаның нұсқасы басында құрылған қалтаға берілген атқа сәйкес келуі керек. Бұл оқулық үшін мен оны «robohatmm1» деп атадым.

Әр жолдың бірінші бөлігін тақта атауына сәйкес өзгерту ұсынылады. Скриншотта ол «robo_hat_mm1» болып өзгертілді. Сіз тақтаға бірдей форматтағы атауды таңдауыңыз керек.

Бұл жоғарыда айтылған қосымша өзгертулерді кейінірек жасағыңыз келмесе, board.txt үшін.

7 -қадам: тақта нұсқасын жаңарту

Тақтаның нұсқасын жаңарту
Тақтаның нұсқасын жаңарту

Platforms.txt атауын реттелетін тақта атауына өзгертіңіз. Сондай -ақ, нұсқа нөмірін өзгертіңіз. Мұны қалай орнатқаныңызды есіңізде сақтаңыз, ол бізге кейінірек қажет болады.

8 -қадам: JSON пакеттік файлын жасаңыз

JSON пакеттік файлын жасаңыз
JSON пакеттік файлын жасаңыз
JSON пакеттік файлын жасаңыз
JSON пакеттік файлын жасаңыз

Тақтаны Arduino IDE -ге орнату үшін сізге импортталатын JSON файлын жасау қажет болады. JSON файлы Arduino IDE -ге тақтаны орнату үшін файлдарды қайдан алу керектігін, қандай қосымша пакеттер қажет екенін және метадеректердің басқа биттерін айтады.

Бұл файлды біз жұмыс істеп жатқан қалтаның сыртында сақтау өте маңызды.

Файлдың көп бөлігін көшіруге және өзіңізге қоюға болады. Файлдың жоғарғы жағындағы «тақталар» бөлімін және басқа метадеректерді өзгерту қажет болады. Нені жаңарту керектігін білу үшін скриншотты қараңыз.

(Суретті қараңыз)

  • Қызыл бөлім: бұл метадеректер, оны пайдаланушылар көмек іздеуге қолдана алады. Оның техникалық маңыздылығы өте аз.
  • Көк бөлім: Мұның бәрі маңызды. Олар Arduino IDE -де көрсетіледі. Аты, архитектурасы мен нұсқасы пакетті орнатқысы келетіндерге көрсетіледі. Бұл жерде platforms.txt нұсқасының нөмірін қою қажет. Екінші көк бөлім - пакетке кіретін тақталар тізімі. Сізде бірнеше тақта болуы мүмкін.
  • Жасыл бөлім: Бұл бөлім қосымша түсіндіруді қажет етеді.

(Суреттердегі кестені қараңыз)

Zip файлын жасағаннан кейін, zip файлының бақылау сомасы мен файл өлшемін алғаннан кейін, сіз енді zip файлын орынға жүктей аласыз. Сізге URL мекенжайын 'url' өрісіне енгізу қажет болады. Егер жоғарыда аталған атау немесе кез келген мәліметтер қате болса, реттелетін тақта орнатылмайды.

Package_boardname_index.json файлын интернеттегі жалпыға қолжетімді жерге жүктеуді ұмытпаңыз. GitHub - жақсы нұсқа.

Robo HAT MM1 реттелетін тақта файлын мына жерден табуға болады.

9 -қадам: Соңғы қадам - арнайы тақтаны орнатыңыз

Соңғы қадам - жеке тақтаны орнатыңыз!
Соңғы қадам - жеке тақтаны орнатыңыз!
Соңғы қадам - жеке тақтаны орнатыңыз!
Соңғы қадам - жеке тақтаны орнатыңыз!

Бәрі жақсы, енді сіз JSON файлыңызды Arduino IDE -ге қоса аласыз және өзіңіздің жеке тақтаны орната аласыз.

JSON файлын қосу оңай! Arduino IDE -де - «Файл»> «Теңшелімдер» тармағына өтіп, pack_boardname_index.json мекенжайын (URL) көшіріп, Параметрлер мәзірінің төменгі жағындағы «Қосымша тақталар менеджерінің URL мекен -жайлары» бөліміне қойыңыз.

(Суретті қараңыз)

Содан кейін OK түймесін басыңыз.

Егер сіз ұмытып қалсаңыз, жаңа тақталарды орнату бойынша жоғарыдағы нұсқауларды орындаңыз. Бұл жолы арнайы тақтаны іздеуді ұмытпаңыз!

(Суретті қараңыз)

Жаңа тақталарды орнату туралы толығырақ: Adafruit -те M0 тақтасын қалай орнату керектігін түсіндіретін тамаша оқулық бар.

10 -қадам: Қорытынды

Қорытынды
Қорытынды
Қорытынды
Қорытынды

Ардуино тақталарын жасау қызықты болды. Болашақта менде әлі де тәжірибе жасау үшін көп нәрсе бар (қосымша сериялық порттарды қосу), бірақ бұл үлкен оқу тәжірибесі болды!

«Халықты жеткізу» науқанын міндетті түрде тексеріңіз. Ол 2019 жылдың 11 маусымында аяқталады.

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

Бұл сізге көмектесті немесе оқуды қызықты өткіздіңіз деп сенемін!

Рахмет!

Ұсынылған: