Мазмұны:
- Жабдықтар
- 1 -қадам: Менің алғашқы тәжірибем
- 2 -қадам: Физикалық бөліктерді біріктіру және жөндеу бойынша кеңестер
- 3 -қадам: Arduino контроллері
- 4-қадам: MPU-6050
- 5-қадам: HC-05 Bluetooth модулі
- 6 -қадам: бөлшектерді қосу
- 7 -қадам: RemoteXY сұлулығы
- 8 -қадам: тестілеу
- 9 -қадам: Мен кодекспен жұмыс жасаймын. Нұсқаулықты бірнеше күнде аяқтайды
Бейне: Мен Arduino дронын жасауды қалаған нұсқаулық: 9 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Бұл құжат - бұл ұялы телефоннан басқаруға болатын қарапайым квадрокоптер құру мақсатыма жету үшін тұжырымдамаларды түсіну үшін қажет «қалай бағыттау керек» қиғаш құжаттамасы.
Бұл жобаны орындау үшін мен дронның не екенін түсінгім келді, менің жағдайда квадрокоптер, сондықтан мен зерттеу жүргізе бастадым. Мен YouTube -те көптеген бейнелерді көрдім, көптеген мақалалар мен бұзылмайтын беттерді оқыдым, менде осылай болды.
Негізінде дронды екіге бөлуге болады. Мен оны «физикалық» және «контроллер» деп атадым. Физикалық - бұл дронды ұшуға мәжбүр ететін механикамен байланысты барлық нәрсе. Бұл қозғалтқыш, жақтау, аккумулятор, пропеллер және дронға ұшуға физикалық мүмкіндік беретін басқа заттар.
Контроллер - бұл негізінен ұшуды басқарушы. Дрон құлап кетпестен тұтас бірлік ретінде ұша алатындай физикалық нәрсені не басқарады. Негізінде микроконтроллер, ондағы бағдарламалық қамтамасыз ету және мойынтіректерді үшбұрыштауға көмектесетін сенсорлар. Дронға ие болу үшін маған контроллер мен контроллерге «басқару» үшін көптеген физикалық бөлшектер қажет болды.
Жабдықтар
Жобаның бюджеті: $ 250
Мерзімі: 2 апта
Сатып алынатын заттар:
- Физикалық кадр 20 доллар
- Пышақтар $ 0 (жақтаумен бірге келеді)
- Батарея пакеті $ 25
- ESC (электронды жылдамдықты реттегіштер) $ 0 (қозғалтқыштармен бірге келеді)
- Мотор 70 доллар
Ұшу диспетчері
- Arduino нано 20 доллар
- Arduino USB кабелі $ 2
- Bluetooth модулі (HC-05) $ 8
- 3 мм жарық диодты және 330 Ом резисторлар мен сымдар $ 13
- GY-87 (акселерометр, гироскоп) 5 доллар
- Прототип тақтасы $ 10
- Ерлер мен Әйелдер тақырыбы $ 5
Басқа
- Дәнекерлеу жиынтығы $ 10
- Мультиметр 20 доллар
Мен бұл жобаны инженер ретінде жасағанды ұнатқым келді, сондықтан мен қажет емес басқа заттарды сатып алдым.
Барлығы: $ 208
1 -қадам: Менің алғашқы тәжірибем
Менің барлық компоненттерімді сатып алғаннан кейін мен бәрін біріктірдім, содан кейін Multiwii көмегімен дронды іске қосуға тырыстым (DIY дронының қауымдастығы қолданатын бағдарламалық жасақтамаға өтіңіз), бірақ мен түсінбейтінімді тез түсіндім. себебі қателіктер көп болғандықтан, мен оларды қалай түзетуге болатынын білмедім.
Осыдан кейін мен дронды бөліп алып, әрбір компонентті бөлшектеп түсініп, болып жатқан нәрсені толық түсінетін етіп қайта құруды шештім.
Келесі бөлімдерде мен жұмбақты біріктіру процесін өтемін. Бұған дейін қысқаша шолуды алайық.
Физикалық
Физикалық үшін бізде болуы керек: жақтау, бұрандалар, аккумулятор және эсс. Оларды біріктіру өте оңай болар еді. Бұл бөліктерді және олардың қайсысын алу керектігін білу үшін мына сілтемеге кіруге болады. Ол мен тізімге енгізген бөлшектердің әрқайсысын сатып алу туралы білу қажет нәрсені түсіндіреді. Бұл Youtube бейнесін де қараңыз. Егер сіз бөлшектерді бір -біріне жабыстырсаңыз, бұл сізге көмектеседі.
2 -қадам: Физикалық бөліктерді біріктіру және жөндеу бойынша кеңестер
Қозғалтқыштар мен қозғалтқыштар
- Қозғалтқыштардың дұрыс бағытта (бұрылған немесе бұрылмаған) бар -жоғын тексеру үшін, оларды қозғалтқыштар көрсеткен бағытта айналдырған кезде (көптеген қозғалтқыштарда олардың қалай айналу керектігін көрсететін жебелері бар), сіз винттердің астында самал желді сезінуіңіз керек..
- Қарама -қарсы винттердің бұрандалары бірдей түсті болуы керек.
- Көршілес бұрандалардың түсі бірдей болуы керек.
- Қозғалтқыштарды жоғарыдағы суреттегідей айналдыратындай етіп орналастырғаныңызға көз жеткізіңіз.
- Егер сіз қозғалтқыштың бағытын бұруға тырыссаңыз, қарама -қарсы ұштарындағы сымдарды ауыстырыңыз. Бұл қозғалтқыштың бағытын өзгертеді.
Батарея мен қуат
- Егер қандай да бір себептермен нәрселер ұшқынға айналса және сіз мұның себебін анықтай алмасаңыз, бұл сіздің позитивті және негативті алмасуыңыздың себебі болуы мүмкін.
- Егер сіз батареяны қашан зарядтау керектігін білмесеңіз, кернеуді тексеру үшін вольтметрді қолдануға болады. Егер ол батареяның сипаттамасынан төмен болса, онда оны зарядтау қажет. Батареяларды зарядтау үшін мына сілтемені қараңыз.
- LIPO батареяларының көпшілігінде батарея зарядтағыштары жоқ. Сіз оларды бөлек сатып аласыз.
3 -қадам: Arduino контроллері
Бұл жобаның ең қиын бөлігі екені даусыз. Компоненттерді жару өте оңай, ал егер сіз не істеп жатқаныңызды білмесеңіз, отладтау өте қиын болуы мүмкін. Сондай -ақ, бұл жобада мен дронды bluetooth көмегімен басқардым, мен сізге қалай жасау керектігін көрсетемін. Бұл жобаны едәуір қиындатты, себебі оқулықтардың 99% -ында радио контроллері қолданылады (бұл шындық емес), бірақ уайымдамаңыз, мен сіз үшін ренжідім.
Бұл саяхатқа шықпас бұрын кеңестер
- Құрылғыны ПХД -мен аяқтамас бұрын, тақтаны пайдаланыңыз. Бұл өзгертулерді оңай енгізуге мүмкіндік береді.
- Егер сіз компонентті кеңінен тексерген болсаңыз және ол жұмыс істемесе, ол жұмыс істемеуі мүмкін!
-
Құрылғыны қоспас бұрын, кернеуді қараңыз!
- Arduino 6 -дан 20 В -қа дейін жұмыс істей алады, бірақ оны жарып жібермеу үшін оны 12 В -қа дейін жабуға тырысыңыз. Оның ерекшеліктері туралы толығырақ мына жерден оқи аласыз.
- HC-05 5В дейін көтере алады, бірақ кейбір түйреуіштер 3.3 В жұмыс істейді, сондықтан оған назар аударыңыз. Бұл туралы кейін сөйлесетін боламыз.
- ХБ (GY-521, MPU-6050) 5В-да жұмыс істейді.
- Біз қосымшаны құру үшін RemoteXY қолданамыз. Егер сіз оны iOS құрылғысына орнатқыңыз келсе, басқа Bluetooth модулін пайдалану қажет (HM-10). Бұл туралы RemoteXY веб -сайтынан білуге болады.
Сіз кеңестерді оқыдыңыз деп үміттенемін. Енді контроллер құрамына кіретін әрбір компонентті бөлек тексерейік.
4-қадам: MPU-6050
Бұл құрылғыда гироскоп пен акселерометр бар, сондықтан ол сізге бағыттағы үдеуді (X, Y, Z) және сол бағыттағы бұрыштық үдеуді айтады.
Мұны тексеру үшін біз осы оқулықты пайдалана аламыз, осы оқулықты Arduino веб -сайтында пайдалана аламыз. Егер ол жұмыс істесе, сіз қисайту, бұру және орнатуды жылдамдату кезінде өзгеретін акселерометр мен гироскоп мәндерінің ағынын алуыңыз керек. Сондай -ақ, не болып жатқанын білу үшін кодты өзгертуге және өңдеуге тырысыңыз.
5-қадам: HC-05 Bluetooth модулі
Бұл бөлікті жасаудың қажеті жоқ, бірақ AT режиміне өту мүмкіндігі маңызды (параметрлер режимі), себебі сізге модуль параметрлерінің бірін өзгерту қажет болады. Бұл жобаның ең ренжіген жерлерінің бірі болды. Мен модульді AT режиміне қалай енгізу керектігін білу үшін көп зерттеулер жүргіздім, себебі менің құрылғым менің командаларыма жауап бермеді. Менің модуль бұзылды деген қорытындыға келгеніме 2 күн болды. Мен басқасына тапсырыс бердім, ол жұмыс істеді. AT режиміне өту туралы осы оқулықты қараңыз.
HC-05 әр түрлі болады, олардың кейбірінде түймелері бар, ал кейбірінде дизайнерлік айнымалылар жоқ. Тұрақты болып табылатын нәрсе - олардың барлығында «34 -ші пин» бар. Бұл оқулықты қараңыз.
Сіз білуіңіз керек нәрселер
- AT режиміне өту үшін, қуат көзіне қосылмас бұрын, Bluetooth модулінің 34 -ші пиніне 5В ұстап тұрыңыз.
- Потенциалды бөлгішті модульдің RX істігіне қосыңыз, себебі ол 3.3В жұмыс істейді. Сіз оны 5В -да қолдана аласыз, бірақ егер бірдеңе дұрыс болмаса, ол түйреуішті қуыруы мүмкін.
- Егер сіз түйреуіш 34 -ті қолдансаңыз (түйменің немесе интернеттен табылған басқа жолдың орнына), модуль bluetooth -дың жіберу жылдамдығын 38400 -ге қояды. Сондықтан жоғарыдағы оқулық сілтемесінде кодта келесі жол бар:
BTSerial.begin (38400); // HC-05 әдепкі жылдамдығы AT командасында
Егер модуль әлі де «OK» деп жауап бермесе, tx және rx түйреуіштерін ауыстырып көріңіз. Ол болуы керек:
Bluetooth => Arduino
RXD => TX1
TDX => RX0
Егер бұл әлі де жұмыс істемесе, кодтағы түйреуіштерді басқа Arduino түйреуіштеріне өзгертуді таңдаңыз. Тексеріңіз, егер ол жұмыс істемесе, tx пен rx түйреуіштерін ауыстырыңыз, содан кейін қайтадан тексеріңіз
SoftwareSerial BTSerial (10, 11); // RX | TX
Жоғарыдағы сызықты өзгертіңіз. Сіз RX = 2, TX = 3 немесе кез келген басқа жарамды комбинацияларды қолдана аласыз. Сіз жоғарыдағы суреттегі Arduino пин сандарын қарай аласыз.
6 -қадам: бөлшектерді қосу
Енді бәрі жұмыс істейтініне сенімді болсақ, оларды біріктіруді бастау керек. Сіз бөлшектерді схемада көрсетілгендей қосуға болады. Мен мұны Electronoobs -тан алдым. Ол маған бұл жобада шынымен көмектесті. Оның жобаның нұсқасын мына жерден қараңыз. Егер сіз осы оқулықты ұстанатын болсаңыз, онда сіз ресивердің қосылымдары туралы алаңдамайсыз: input_Yaw, input_Pitch және т. Сонымен қатар, Bluetooth -ды алдыңғы бөлімдегідей қосыңыз. Менің tx және rx түйреуіштері маған біраз қиындық туғызды, сондықтан мен Arduino -ны қолдандым:
Қалыпты түйреуіштердің орнына RX - 2, ал TX - 3. Әрі қарай, біз қарапайым өнім жазатын боламыз, біз оны соңғы өнімге дейін жетілдіре береміз.
7 -қадам: RemoteXY сұлулығы
Ұзақ уақыт бойы мен дронды басқаруға мүмкіндік беретін қашықтан басқарылатын қосымшаны құрудың қарапайым әдісін ойладым. Көптеген адамдар MIT App Inventor -ды пайдаланады, бірақ интерфейс мен қалағандай әдемі емес, мен сонымен қатар суретті бағдарламалаудың жанкүйері емеспін. Мен оны Android Studio көмегімен жасай алар едім, бірақ бұл тым көп жұмыс болар еді. Мен RemoteXY көмегімен оқулық тапқан кезде қатты қуандым. Міне, сайтқа сілтеме. Қолдану өте оңай және құжаттама өте жақсы. Біз дрон үшін қарапайым интерфейс жасаймыз. Сіз өзіңіздің қалауыңыз бойынша реттей аласыз. Сіз не істеп жатқаныңызды білетіндігіңізге көз жеткізіңіз. Мұнда нұсқауларды орындаңыз.
Сіз мұны жасағаннан кейін біз котердегі дроссельді өзгерту үшін кодты өңдейміз. Кодыңызда / **** істеу керек және неге *** / бар жолдарды қосыңыз.
Егер ол жинақталмаса, кітапхананың жүктелгеніне көз жеткізіңіз. Мысал эскизін ашып, сізде жоқ нәрсені салыстырыңыз.
///////////////////////////////////////////////////////////// RemoteXY қамтиды кітапхана // /////////////////////////////////////////////
// RemoteXY қосылым режимін таңдайды және кітапхананы қосады
#анықтаңыз REMOTEXY_MODE_HC05_SOFTSERIAL
#қосу #қосу #қосу
// RemoteXY қосылымының параметрлері
#REMOTEXY_SERIAL_RX 2 анықтау #REMOTEXY_SERIAL_TX 3 анықтау #REMOTEXY_SERIAL_SPEED 9600 анықтау
// Бұрандалар
L_F_prop сервисі; L_B_prop сервисі; R_F_prop сервисі; R_B_prop сервисі;
// RemoteXY конфигурациясы
#pragma пакеті (push, 1) uint8_t RemoteXY_CONF = {255, 3, 0, 0, 0, 61, 0, 8, 13, 0, 5, 0, 49, 15, 43, 43, 2, 26, 31, 4, 0, 12, 11, 8, 47, 2, 26, 129, 0, 11, 8, 11, 3, 17, 84, 104, 114, 111, 116, 116, 108, 101, 0, 129, 0, 66, 10, 7, 3, 17, 80, 105, 116, 99, 104, 0, 129, 0, 41, 34, 6, 3, 17, 82, 111, 108, 108, 0}; // бұл құрылым басқару интерфейсі құрылымының барлық айнымалыларын анықтайды {
// енгізу айнымалысы
int8_t Joystick_x; // -100..100 x -координаталық джойстик позициясы int8_t Joystick_y; // -100..100 у -координаталық джойстик позициясы int8_t ThrottleSlider; // 0..100 жүгірткі позициясы
// басқа айнымалы
uint8_t connect_flag; // = 1 сым қосылған болса, басқа = 0
} RemoteXY;
#прагма пакеті (поп)
/////////////////////////////////////////////
// END RemoteXY құрамында // ////////////////////////////////////////////////////////////////////////////////////////////////////// /
/********** Дроссель мәнін ұстап тұру үшін осы жолды қосыңыз **************/
int input_THROTTLE;
жарамсыз орнату () {
RemoteXY_Init ();
/********** Қозғалтқыштарды түйреуіштерге бекітіңіз Мәндерді өзіңізге сәйкес етіп өзгертіңіз **************/
L_F_prop.attach (4); // сол жақ алдыңғы қозғалтқыш
L_B_prop.attach (5); // сол жақ мотор R_F_prop.attach (7); // оң жақ алдыңғы қозғалтқыш R_B_prop.attach (6); // оң жақ мотор
/************* Esc бағдарламалау режиміне енуіне жол бермеңіз ********************/
L_F_prop.writeMicroseconds (1000); L_B_prop.writeMicroseconds (1000); R_F_prop.writeMicroseconds (1000); R_B_prop.writeMicroseconds (1000); кешіктіру (1000);
}
void loop () {
RemoteXY_Handler ();
/****** Қолданбадан алатын дроссельдің мәнін 1000 және 2000 -ға дейін салыстырыңыз, бұл ЭСК -ның көпшілігі ********* жұмыс істейді/
input_THROTTLE = карта (RemoteXY. ThrottleSlider, 0, 100, 1000, 2000);
L_F_prop.writeMicroseconds (input_THROTTLE);
L_B_prop.writeMicroseconds (input_THROTTLE); R_F_prop.writeMicroseconds (input_THROTTLE); R_B_prop.writeMicroseconds (input_THROTTLE); }
8 -қадам: тестілеу
Егер сіз бәрін дұрыс жасасаңыз, дроссельді жоғары және төмен жылжыту арқылы коптеріңізді тексере аласыз. Мұны сыртта жасағаныңызға көз жеткізіңіз. Сондай -ақ, винттерді ұстамаңыз, себебі бұл коптер секіруге әкеледі. Біз оны теңестіру үшін кодты әлі жазған жоқпыз, сондықтан мұны пропеллерлермен бірге сынау жаман болады! Мен мұны тек лмао үшін жасадым.
Бұл демонстрация дроссельді қосымшадан басқара алатындығымызды көрсету үшін. Қозғалтқыштардың тоқырап тұрғанын байқайсыз. Бұл ESCs калибрленбегендіктен. Мұны істеу үшін осы Github бетіндегі нұсқауларды қараңыз. Нұсқауларды оқыңыз, ESC-Calibration.ino файлын ашыңыз және осы нұсқауларды орындаңыз. Егер сіз не болып жатқанын түсінгіңіз келсе, Electronoobs осы оқулықты қараңыз.
Сіз бағдарламаны іске қосқан кезде дронды жіптермен байлап қойғаныңызға көз жеткізіңіз, себебі ол толық дроссельге айналады. Сонымен қатар, бұрандалардың қосылмайтынына көз жеткізіңіз. Мен жанымды қалдырдым, себебі мен жындымын. ӨЗДЕРІҢІЗДІ ҚАЛДЫРМАҢЫЗДАР !!! Бұл демонстрация екінші бейнеде көрсетілген.
9 -қадам: Мен кодекспен жұмыс жасаймын. Нұсқаулықты бірнеше күнде аяқтайды
Егер сіз бұл оқулықты қолданып, мені күтіп отырсаңыз, мен әлі де жұмыс жасаймын деп қосқым келді. Менің өмірімде басқа нәрселер пайда болды, мен де жұмыс жасаймын, бірақ уайымдамаңыз, мен оны жақын арада жариялаймын. Соңғысы 2019 жылдың 10 тамызына дейін.
10 тамыз жаңартуы: сізді іліп қоюды қаламадым. Өкінішке орай, менде соңғы аптада жобамен жұмыс жасауға уақыт болмады. Басқа нәрселермен өте бос болды. Мен сені жетелегім келмейді. Мен жақын арада нұсқаулықты аяқтаймын деп үміттенемін. Егер сізде қандай да бір сұрақтарыңыз болса немесе көмек қажет болса, төменге түсініктеме бере аласыз, мен сізге жауап беремін.
Ұсынылған:
Қалаған нәрсені көрсету үшін веб -сайттарды қалай өзгертуге болады: 3 қадам
Веб -сайттарды қалай қалағаныңызды көрсету үшін қалай өзгертуге болады: О, сіздің көңіл көтеруіңіз … Бұл браузердегі веб -сайттарды қалаған нәрсені көрсету үшін өзгертудің қарапайым және қарапайым әдісі. Ескерту. бұл веб -сайтты браузерден басқа жерде өзгертпейді, егер сіз веб -бетті қайта жүктесеңіз, ол кері қайтады
Сіз қалаған DJ бағдарламалық жасақтамасының кеңейтімі!: 6 қадам
Сіз қалаған DJ бағдарламалық жасақтамасының кеңейтімі!: Әркім бірінші күні диджейге түсе алмайды және бірінші күні барлық араластырғыштар мен бұрылмалы табақтар мен ыстық пышақтар дайын болады деп күтуге болмайды, бірақ бұл жерде шынайы болайық: ноутбукпен араластыру өте қиын. Бұл сіздің қаржылық мәселелеріңізді шешу үшін
Өңдеу мен Arduino мен 7 сегменті мен сервистік GUI контроллерін қосу: 4 қадам
Processing and Arduino мен Make 7 Segment and Servo GUI контроллерін қосу: Кейбір жобалар үшін сізге Arduino -ны қолдану қажет, себебі ол прототиптеудің оңай платформасын ұсынады, бірақ Arduino -ның сериялық мониторында графиканы көрсету өте ұзақ уақытты қажет етеді және тіпті қиын. Сіз Arduino сериялық мониторында графиктерді көрсете аласыз
DHT11 температура сенсорын Arduino мен басып шығару температурасы мен жылу мен ылғалдылықта қалай қолдануға болады: 5 қадам
DHT11 температура сенсоры Arduino мен басып шығару температурасы бар жылу мен ылғалдылықта қалай қолданылады: DHT11 сенсоры температура мен ылғалдылықты өлшеу үшін қолданылады. DHT11 ылғалдылық пен температура сенсоры электрониканың өте танымал әуесқойлары, DIY электроникасының жобаларына ылғалдылық пен температура туралы мәліметтерді қосуды жеңілдетеді. Бұл әр
Мотоциклге, автокөлікке немесе қалаған нәрсеге арналған ұялы телефон дабылы: 7 қадам (суреттермен)
Мотоциклге, автокөлікке немесе қалаған нәрсеге арналған ұялы телефон дабылы: Мен қалыпты дыбыстардан қатты шу шығардым, енді ешкім оларды байқамайды. Мен велосипедпен біреудің шатасқанын білмедім, себебі мен дабылды естуге алыс едім, сондықтан мен бұл дабылды ескі ұялы телефонмен жасауға шешім қабылдадым