CXEMKAR ARDUINA - Android bilan Bluetooth dastgohlari. Arduino-dagi oddiy Bluetooth mashinasi

Arduino platformasining keng tarqalgan va arzon narxi va har xil robotlatformning turli xil ta'm uchun radio boshqaruv mashinalarini yaratishga imkon berdi. Smartfonlarning keng tarqalishi ulardan ushbu mashinalar kabi ishlatish imkonini berdi. ARDUOININO Sevimlilar uchun asosiy muammo Android qoshida dasturlash tajribasi yo'q. Bugungi kunda men ushbu muammoni qanday hal qilish, Android dasturlarining chorshanba kuni App Ixmpyuterni ixtiro qilishning chorshanba kuni ishlating.



Har qanday yozuv mashinkasini "temir" bilan boshlash kerak, shuning uchun yozuvingiz uchun nima sifatida ishlatganimni qisqacha aytib beraman:
arduino Nano.
bluetooth moduli HC-05
Z-mini motor sensori qalqon l293d
2wd motorli shassi
Ushbu loyihada "temir" konfiguratsiyasi ushbu loyihada katta rol o'ynaydi, shuning uchun shassi, qalqon va Arduinoning o'zi har qanday hamkasblar bilan almashtirilishi mumkin.

Endi Android dasturining yaratilishiga boraylik. Ilova ixtirochi - Android dasturlarining chorshanba, brauzerdan ishlaydi. Biz saytga boramiz, hisobingizga Google-ga kirishga ruxsat beramiz, "Yarating" tugmasini bosing va yangi loyihani yarating. Yangi loyihada sud-tortish va tushirish loyihasi harakat yo'nalishini tanlash uchun 4 tugmachani yaratadi va Bluetooth modulimizga ulanish uchun. Shunga o'xshash:

Endi "Qurilish" tugmasini bosish orqali dasturni tuzish davom etmoqda.

Eskizni yozish bilan, menimcha, Arduino sevuvchilar muammolari bo'lmaydi, deb aytaman, agar yozuv mashinitor kompyuterdan Sireal porti bilan boshqariladi. Men buni ishlatdim

eskiz

int val;
Int inc1 \u003d 4;
int inc2 \u003d 7;
int e en1 \u003d 6;
int e en2 \u003d 5;

VOLD sozlamalari ()
{
Serial.begin (9600);
Pinmose (in1 chiqarish);
Pinmode (IN2, chiqtirish);
Pinmode (EN1, chiqtirish);
Pinmode (En2, chiqish);

}
bo'sh ko'cha ()
{
Agar (serial.avalansa ())
{
Val \u003d Serial.Radr ();

// oldinga siljishni so'rang
Agar (VI \u003d\u003d WA ») // Siz" W "tugmachasini bosganingizda
{
// Xulosa avtoulov qalqonining ishiga ko'ra sozlangan
// motorlar oldinga siljishmoqda
DigitalWrite (EN1, yuqori);
Digitalwrite (En2, baland);
Digitalwrite (In1, baland);
DigitalWrite (IN2, yuqori);
}

// harakatni orqaga yo'naltiring
agar (VA \u003d 'S »)
{
DigitalWrite (EN1, yuqori);
Digitalwrite (En2, baland);
DigitalWrite (In1, past);
DigitalWrite (IN2, past);
}

// harakatni o'ngga qo'ying
agar (VA \u003d\u003d D »)
{
DigitalWrite (EN1, yuqori);
Digitalwrite (En2, baland);
Digitalwrite (In1, baland);
DigitalWrite (IN2, past);
}

// harakatni chapga qo'ying
Agar (VI \u003d\u003d "A")
{
DigitalWrite (EN1, yuqori);
Digitalwrite (En2, baland);
DigitalWrite (In1, past);
DigitalWrite (IN2, yuqori);
}

// to'xtatish rejimi
// Siz "T" portidagi dasturdagi kalitlarga etganingizda
Agar (VI \u003d\u003d T ») //" t "tugmachasi bosilganda // bosilganda.
{
// Xulosalarni yoqish minusga jalb qilinadi, motorlar ishlamaydi
DigitalWrite (EN1, past);
Digitalwrite (En2, past);
}
}
}


Shunday qilib, bu erda men mashinani oldim:

Arizalar dizayni yoqadiganlar biroz o'zgarishi mumkin. Buni qanday qilib batafsil bayon qilish qiyin emas, buni aniqlash qiyin emas. Men buni faqat bu uchun ishlatishingiz kerak, chunki siz uni qo'llab-quvvatlamaydigan .JNG fayllaridan foydalanishingiz kerak shaffof fon. Masalan, yarim soat yoki bir soat davomida bunday dizaynni har qanday tayyorlanmagan kishini olish mumkin:

P.S. Ilovani ishlab chiqishga duch kelmaganlar uchun 2-ixtirochim 2-ixtirochim bor batafsil qo'llanma Ushbu dasturni ishlab chiqish uchun (siz ko'rish uchun YouTube-ga borishingiz kerak).

P.P.S. Yangi boshlanuvchilar uchun Arduino bo'yicha 100 dan ortiq o'quv materiallari to'plami

Android va boshqalarga ham manbalar mavjud foydali ma'lumotlar. Ushbu maqolada, men Arduino platformasi uchun CXemkar konjilini ko'rsataman. Siz ARDUOINA to'lovi sifatida deyarli har qanday ARDUININA-MOLTAB-COVE to'lovlaridan foydalanishingiz mumkin: UNO, Nano, Mega, Leonardo va hatto STM32 - Arduino asoslari. Men eBayda 9 dollarga sotib olingan Arduino Nano V3 sharfidan foydalanganman.

Sxema arduino ulanish HC-06 va L298N dvigatel drayveri Bluetooth moduliga:

Diagrammada men jumperni (JMP1 sxemasida) ishlatganman, chunki Bluetooth modul ulanganda, Arduino-da eskizni yuklab etolmaydi. Dasturiy ta'minot paytida Bluetooth moduli jumperni olib tashlash bilan faollashtirilgan.

Platforma sifatida men 25 dollarga sotib olingan kichik rc platformadan foydalandim. Platformaning o'zi alyuminiy bazasidir, u erda ikkita dvigatel biriktirilgan, vitorob va 4-g'ildirak uchun 4 karvon uzatish. Yuqoridan, 3 ta tokchaga partiya to'lovi mavjud.

Platforma yuqori sifatli ishlab chiqarish emas. Men uni yig'ib olganimdan keyin men ovqatni ulashga harakat qildim - dvigatel hatto qimirlamadi, kamchiliklar, kamchiliklar va boshqalar ham harakat qilmadi. Hamma narsani qismlarga ajratish, qo'shimchalarni bo'shashtirish uchun zarur edi, biron bir joyda apellyatsiya qilish uchun hamma narsa yaxshi yog'diradi va oldingi o'qdan olib tashlanadi. Bu orqa g'ildirakli haydovchi versiyasini chiqardi.

Shundan so'ng men Arduino-ga Bluetooth modulini yolladim va buning holatini boshqardim. Bluetooth modullarining navlarida, ularning Arduino bilan bog'liq, ular bilan ishlash va hk. Siz ushbu maqolada o'qishingiz mumkin :. HC-06 moduli issiqlik shrink naychasiga 10 mm joylashtirilgan. Bluetooth shtatida joriy bardoshli rezistorga ega bo'lgan, shuningdek, qisqartirishga joylashtirildi, ammo yanada nozik - 5mm.

Malatada platforma bilan birga borgan holda, men teshiklarni burch va l298n dvigatel haydovchisini himoya qildim. ARDUINO KENGAZI ikki tomonlama lenta bilan biriktirilgan.

Mashinaning alyuminiy platformasi va macatetipi Men 3 li-pro batareyalarni joylashtirdim 3,7v 1100 m * h. Nazoratchi va alohida dvigatellarning kuchi: Arduino bitta batareya quvvati 3,7V va L298n drayveri va L298N drayveri va L298N drayveri. 3.7b. Ikkita 2-pozitsiyali elektr stavkalari mavjud - bir holatda elektr energiyasidan, zaryadlovchi terminallar bo'yicha boshqa holatda.

Foto yozuvchilarni zaryadlash bo'yicha:

Dasturiy ta'minot

Dastur ARDUININ OLIMDA 1.01da yozgan. Dastur kodi men yaxshi sharh olishga harakat qildim, ammo agar savollar bo'lsa - forumdan so'rang, c.

#Include "eeprom.h" #defin d dvigatelning 1 #Defin M1 3 // FM dvigatelni boshqarish 1 #Defin dvigateli 2 #Definni almashtirish 2 #Defin M2 // Totatsiya yo'nalishi dvigateli 2 (o'ngda) #defin shox 13 // EXTRA. 1-pin // # ga ulangan 1-kanal 2500 // Chap dvdrning "R" // URART buyrug'i uchun Usart buyrug'i uchun to'sig'li avtoulovlar sonini belgilaydi "H" "H" // UrT buyrug'i o'ngga to'g'ri dvigatel. 1-kanal (masalan, shoxli signal) #Defin CMDF "R" bilan ishlash uchun "R" xotirasi bilan ishlash uchun "R" xotirasi bilan ishlash uchun "R" xotirasi bilan ishlash uchun "R" xotirasi bilan ishlash uchun "R" xotirasi bilan ishlash uchun. ) # "W" CMDW-ni belgilash "W" // UEAART buyrug'i MK bilan ishlash uchun MK bilan ishlash uchun MK bilan ishlash uchun MK bilan ishlash uchun; // Kiruvchi ma'lumotlar char l_data; // chap motor ma'lumotlari l b byti l_index \u003d 0; // char r_data massivlari indeksi; // O'ng motorli ma'lumotlar uchun torli qator R.Idinex \u003d 0; // char h_data massivlari indeksi; // qo'shimchalar uchun qatorlar qatori. Kanal bayt h_index \u003d 0; // H char f_data massivining indeksi; // EEPROM BATEX \u003d 0 bilan ishlash uchun satrli ma'lumotlarni uzatish; // massiv indeks f chary buyrug'i; // jamoasi: r, l yoki satrning oxirini uzatish SurateTime, va avtofoflar; Bo'sh sozlash (Serial.begin (9600); // Pinmode portni ishga tushirish (shox, chiqish); // qo'shimcha kanal Pinmode (D1, chiqtirish); // Pinmod dvigatelini aylantirish yo'nalishini belgilash uchun chiqish (D2, chiqtirish); // Dvigatel /*eeprom.write-ni aylanish yo'nalishini belgilash uchun chiqish (0,255); EEPROM.WRITE (1,255); EEPROM.WRIT (2,255); EEPROM.WRITE (3,255); * / Tier_init (); // Dastur Timer_init () versiyasini toping (uint8_t Sv_autooff \u003d Agar Macotnom parametri bilan »EEPROM parametri" Agar mashina yo'qolganda ", agar (SW_AUTOOFOFOFOFF \u003d\u003d" 1 ") (/ / / / / Agar stop taymeri yoqilgan bo'lsa, char_data \u003d eeeprom.read (1); Varo_data \u003d Atoi \u003d 100; // O'zgaruvchan avtotl. MS sonini saqlash uchun (SW_AUTOFOFOFF \u003d\u003d 0 ') (avtomofok \u003d 255) (avtomofokoff \u003d 255). Agar HEPROM-da hech narsa yozilmagan bo'lsa , so'ngra standart 2.5 soniya bilan) joriy vaqt \u003d millis () dasturni boshlagan vaqtni o'qing) (agar (Serial.Avayable (// agar uart bo'lsa) \u003d. serial.read (); // o'qisangiz bayt (IncomingByte \u003d\u003d cMDL) (// avtomobil l amri uchun ma'lumotlar \u003d cmdl kelsa (// Hozirgi MemSet buyrug'i (L_DATA, 0, sizeof (L_DATA)); // Tozalash bir massiv l_index \u003d 0; // massiv indeksini asl holatiga qaytaring) e \u003d\u003d CMDRR) (// motor r buyrug'i uchun ma'lumotlar \u003d CMDR keldi; Memetset (r_data, 0, o'lchami (r_data)); R_index \u003d 0; ) Boshqa if (// qo'shimcha kanal) uchun (// qo'shimcha kanal uchun ma'lumotlar 1 buyruq (H_DATA, 0, 0, o'lchami (H_DATA, 0)) (H_DATA) (&_\u003d cmdf) (//) (//) Agar ma'lumotlar buyruq bilan ishlashga kelgan bo'lsa \u003d cmdf; memsf (f_data, 0, 0 ;\u003d \\ r ») buyruq \u003d" e "; // yana birining oxiri (Kirish \u003d\u003d \\ t ») buyrug'i \u003d" t "; // xotira buyruqlari uchun satrning tugashi (qo'mondon \u003d\u003d && Kaulingbayte) (l_data \u003d Kimga); // Biz har bir qabul qilingan baytni l_index ++ massivida saqlaymiz; // Joriy qator indeksni oshiramiz) Agar (buyruq \u003d\u003d cmdr && & & & & cmdh && && kmdh && Kmdh && Kmdh && Kmdh && KMDHHETETHET! \u003d Cmdf & & culingbyte! (F_DATA \u003d KIRINGGYTE; F_DINEX ++;) (/, "ATOI (L_DATA), Atoi (R_DATA), Atoi (H_DAta)); kechikish (10);) agar (//-&\u003d FN_DATA, F_DATA, F_DATA); Fasttimecommand \u003d millis (); // dastur boshlanganidan beri o'tgan vaqtni o'qing) Agar (// Fasttimecommand + avtoulov + avtoulovlar bilan taqqoslang) (0,0,0) (0,0,0); / / Stankang)) Nisqe boshqaruv4WD (Int Mlitti, Tarv.thorge, yo'nalishi, Windrrdl, Waldrrdl, Walkr L298 Bayt Valuel uchun (0-255) (mlut\u003e) 0) (Valuel \u003d Mllft; yo'nalishi \u003d 0;), agar (mlust< 0){ valueL = 255 - abs(mLeft); directionL = 1; } else { directionL = 0; valueL = 0; } if(mRight > 0) (Warcer \u003d Miniger; yo'nalishi \u003d 0;), agar (right< 0){ valueR = 255 - abs(mRight); directionR = 1; } else { directionR = 0; valueR = 0; } analogWrite(M1, valueL); // задаем скорость вращения для L analogWrite(M2, valueR); // задаем скорость вращения для R digitalWrite(D1, directionL); // задаем направление вращения для L digitalWrite(D2, directionR); // задаем направление вращения для R digitalWrite(HORN, Horn); // дополнительный канал } void Flash_Op(char FCMD, uint8_t z1, uint8_t z2, uint8_t z3, uint8_t z4){ if(FCMD == cmdr){ // если команда чтения EEPROM данных Serial.print("FData:"); // посылаем данные с EEPROM Serial.write(EEPROM.read(0)); // считываем значение ячейки памяти с 0 адресом и выводим в UART Serial.write(EEPROM.read(1)); Serial.write(EEPROM.read(2)); Serial.write(EEPROM.read(3)); Serial.print("\r\n"); // маркер конца передачи EEPROM данных } else if(FCMD == cmdw){ // если команда записи EEPROM данных EEPROM.write(0,z1); // запись z1 в ячейку памяти с адресом 0 EEPROM.write(1,z2); EEPROM.write(2,z3); EEPROM.write(3,z4); timer_init(); // переинициализируем таймер Serial.print("FWOK\r\n"); // посылаем сообщение, что данные успешно записаны } }

Kodeksi - Kutubxonada EEPROM AVR xotirasi bilan ishlash uchun foydalanadi. Bitta sozlama xotirada saqlanadi: bu orqali mashina aloqani yo'qotish paytida mashinaning to'xtashi bilan millisekundlar miqdori. Dasturda ro'yxatdan o'tish uchun ushbu "Qattiq" ni yozishingiz mumkin, buning uchun #defin avtomofligidan 2500 (bu erda 2500 millisekund). Shundan so'ng, Flash_op funktsiyasi o'chirilishi mumkin, shuningdek, kichik tahrirlarni, shuningdek, EEProm xotirasi bilan ishlash bo'yicha buyruqlarni qabul qilish uchun mas'ul kodni kiritish kerak bo'ladi.

Ammo tayyorlangan to'liq to'lanadigan robotni ushbu to'lov asosida sotib olish bilan. Bolalar uchun boshlang'ich maktab yoki tayyorgarlik yoshi bunday tayyor aRDUINA loyihalari. Hatto afzal, chunki "Noto'g'ri" yig'im zerikarli ko'rinadi. Shunday yo'l Elektr sxemalari juda qiziq bo'lmaganlar uchun javob beradi.

Robotning ishchi modelini sotib olib, I.E. Aslida tayyor yuqori texnologiyali o'yinchoq, siz mustaqil dizayn va robotlarni yaratishga qiziqish uyg'otishingiz mumkin. Bunday o'yinchoqda o'ynash va uning qanday ishlashiga olib kelishda siz modelni yaxshilash, ajralish, drayvlar va sensorlar platformadan foydalanib, Arduino-da yangi loyihalarni to'plashingiz va yangi loyihalarni to'plashni boshlaysiz. Arduino platformasining ochiqligi bir xil imkoniyatga ega komponent qismlari Massiv yangi o'yinchoqlar.

Arduino kengashi shahridagi tayyor robotlarning kichik bir sharhini taklif etamiz.

Arduino-dagi mashina Bluetooth orqali boshqariladi

Bluetooth orqali mashina boshqaradi, 100 dollardan bir oz kamroq qiymatga ega. Demontaj shaklida keladi. Uy-joy, motor, g'ildiraklar, lityum batareyalaridan tashqari va zaryadlovchiBiz Arduino UNU328 Kengashini, motor kontsepteri, Bluetooth adapteri, masofadan turib masofaviy boshqarish va boshqalar.

Bu va yana bitta robot bilan video:

Ko'proq batafsil tavsif O'yinchoqlar va Internet-do'kon veb-saytida dilerexstreme veb-saytida sotib olish imkoniyati.

Arduino robot toshbaqasi

Robot toshbaqasini yig'ish uchun to'plam taxminan 90 dollarga teng. Ushbu qahramonning hayoti uchun qobiq etarli emas: Arduino Bola, Sero Draw, Sense, Kuzatuvchi modullar, IR qabul qiluvchi va masofadan boshqarish pulti.

Toshbaqa sotib olish mumkin, AliExpress-dagi shunga o'xshash arzon robotni sotib olish mumkin.

Arduino-dagi krepler mashinasi uyali telefondan boshqariladi

Bluetooth tomonidan boshqariladigan kuzatilgan mashina mobil telefon 94 dollarlik narx. Tırtıllar bazasidan tashqari, biz Arduino BMT boshqaruvi va kengaytma kengashi, Bluetooth kudel, batareya va zaryadlovchi olamiz.

Kuzatilgan avtomobil sotuv o'tkazgichida sotib olinishi mumkin, batafsil tavsif mavjud. Ehtimol, yanada qiziqarli temir Arduino-tank AliExpress-da

Arduino avtomobili labirintlarni o'tkazmoqda

Labirintlarni bosib o'tadigan mashina83 dollarlik qiymat. Dvigatellar, Arduino BMT kartalari va boshqa zarur fitnes modullari va turg'unlik modullari.

Tayyor robot yoki robot ramkasi

Barduino robotlarini yaratish uchun tayyor to'plamlardan foydalanish bilan bir qatorda, siz robotni alohida ramka (tana) sotib olishingiz mumkin - bu g'ildiraklar yoki tırtıllar, gumanizm, o'rgimchak va boshqa modellardagi platforma bo'lishi mumkin. Bunday holda, robotni to'ldirish buni o'zingiz amalga oshirishi kerak. Bunday binolarning sharhi biznikiga beriladi.

Tayyor robotlarni sotib olish uchun yana joy

Sharhda biz xitoylik onlayn do'konlardan tayyor yaratilgan Arduino robotlarimizni ko'rib chiqamiz. Agar Xitoydan posilkani kutishga vaqt bo'lmasa - Amperka va Desy onlayn-do'konlarda tayyor robotlarning katta tanlovi. Kam narxlar Va tez etkazib berish uchun Onlayn do'konni taklif qiladi. Tavsiya etilgan do'konlar ro'yxati.

Ehtimol, Arduinoda loyihalar sharhlari bilan qiziqasiz:


Arduino mashg'ulotlari.

Arduinani qayerdan o'rganishni boshlashni bilmayapsizmi? Siz yaqinroq deb o'ylang - o'zingizning oddiy modellaringizni yig'ish va asta-sekin ularning murakkabligi yoki tanishuvlari ko'proq murakkab, ammo tayyor echimlar bilan tanishishmi?

Axborotning asosiy manbai - Easyelektronika.com

Bitta Arduian bu erda etarli emas. Hali ham kerak:
- Omilni boshqarish va yorug'lik uchun noma'lum modullar
- Modul Quvvat manbai
- Aloqa moduli

Arduin faqat miya va juda jinoyat.

ARDUIAN bilan motorning mosligi masalasi ko'p ma'noga ega emas. Gap shundaki, to'g'ridan-to'g'ri Arduinning deyarli dvigatel emas, bu mumkin emas, yonadi.
Arduin va motor o'rtasida vositachi - elektr moduli bo'ladi. Shu sababli Arduin aslida dvigatel bilan mos keladi.

Qaerda sotib olish haqida "yoki onlayn do'konlaryoki do'konlar elektron komponentlar. Shaharingizda qidirishni qidiring. Katta shaharlarda siz hamma narsani bir joyda sotib olishingiz mumkin, ammo Ali bilan solishtirganda 1,5-5 raqamiga ortiqcha to'lovlar.

Mashinani qanday qilardim.

Miya sifatida yuqori daraja Va aloqa moduli, men ESp32 yoki ESP8266-dan biron bir narsani olaman. Bluetooth va WiFi bilan birinchi ishlar. Ikkinchisi faqat Wi-Fi bilan ishlaydi.

Arduin perifery tekshiruvchisi sifatida keladi. Ammo! Men qoziq taxtalar va simlardan bog'dan bo'lardim - ehtimol, bu mashinaning tanasiga mos kelmaydi va agar u bo'lsa, bu juda qo'rqinchli bo'ladi.

Shuning uchun men ushbu dizaynning barcha tarkibiy qismlari maxsus ishlab chiqilgan petkaKeyinchalik mening buyurtmamda biron bir rezonans paydo bo'ladi.

1) Sizning joylashuvingiz va taxminlaringizga kichik xarajatlarga bog'liq. Siz, agar siz 14-40 kunni kutishga tayyor bo'lsangiz, siz 14-40 kunni kutishga tayyor bo'lsangiz, siz umumiy miqdorning kichik qismini tejashga tayyor bo'lganingiz mumkin.
Uning o'zi shaxsan quyidagi o'rtoqlarga buyurdi:

Hech qanday muammolar yo'q edi.
2) Agar shunday bo'lsa, sizga ikkita DC dvigatellari va bitta xizmat kerak. Shunchaki "DC Motor" va "Sero" haydash.
Imsiya misollari:

Servo tanlashda siz viteslarga e'tibor berishingiz va tezkor ishg'olchilikka e'tibor berishingiz kerak. Aslida, Banal o'yinchoq mashinasi uchun misoldan birinchi variant mavjud. Ammo kelajak uchun sud ijrochisi "Mg" ning metall uzatilishini anglatadi umumiy qurilma Bu sinishga chidamli, ammo bu ularni bekor qilmaydi.
Butun tizimni boshqarish uchun siz ham "avtoulov qalqon" deb nomlanganingiz kerak:

Shift registrining mavjudligi sababli berilgan misollarning birinchisi, bir vaqtning o'zida to'rtta motorni bir vaqtning o'zida boshqarishga imkon beradi. Muammo bo'ladigan yagona narsa - ovqat, chunki Tegishli operatsiya uchun har biri 5V dan talab qilinadi, aks holda rivojlangan hokimiyat bilan bog'liq muammolar bo'lishi mumkin.
Ikkinchidan, ikkinchisida birdan to'rt g'ildirakni, ularni juft-juft qilib bog'lab, ularni juft bo'lib (Tomonlarning tezligidagi farqni ishlatish uchun) boshqarilishi mumkin. Ammo sizning holatingizda ikkinchi variant bo'ladi. Ayniqsa, u birinchilarga qaraganda yuqori oqimni ishlatishga imkon beradi.
3) Faqat LED sotib oling va ularni bog'lang va to'g'ridan-to'g'ri (qarshilik ko'rsatuvchilarni unutmaslik) yoki biron bir chiplar orqali ulang.
"Diot"

4) egri arduino IID-ni o'rnating va C / C ++ dan foydalaning

O'qish uchun manbalar:

P.S. bor masofadan kirishKeyin yuqoridagi o'rtog'ingizning javobiga e'tibor bering

1) Arduino o'zi qayerdan sotib olish mumkin?
Ha
2) Ushbu bitta uchuvchi bilan qanday motorlar mos keladi? Menga mashinaning kursi uchun bir juft dvigatel kerak va shuning uchun men mashinani burish uchun sizga o'tirish motori kerakligini tushunaman.
Har qanday, lekin boshqa dvigatel ulanmaganligi sababli, masalan, maxsus dvigatelni boshqarish qalqon kerak, masalan, masalan. Aylanadigan mexanizm uchun bosqichma-bosqich dvigatellar ishlatiladi, ammo

Arduino-dagi mashina Bluetooth boshqaruvim Android telefon - Motor qalqon modulidan foydalangan holda Arduino Beo-dagi juda oddiy, ammo qiziqarli loyihadir. Ushbu sahifada siz Arduindagi robot mashinalari ishlab chiqarishni talab qiladigan tarkibiy qismlar nima kerakligini bilib olasiz, bosqichma-bosqich ko'rsatmalar Yig'ish orqali elektr toki va siz hamma narsani yuklab olishingiz mumkin kerakli dasturlar Android va Arduino uchun.

Video. Bluetooth-dagi ARDUINO

Ushbu loyiha uchun motor qalqoni L293D modulidan foydalanilgan, Arduino Beo, Bluetooth moduli, HC-05 va ikkita faralar uchun. Nazorat smartfon yoki planshetdan Bluetooth signal orqali masofadan turib. Model va o'rnatilgan dasturlarni yig'ishdan so'ng, siz mashinani Smartfondagi dastur orqali aylantirishingiz, orqaga va orqaga o'ting, faralar yoqing va tashqariga chiqing.

Arduino-dagi mashinasi buni o'zingiz bajaring

Ushbu loyiha uchun bizga kerak bo'ladi:

  • arduino UNO taxtasi;
  • Motorni boshqarish qalqonli l293d;
  • Bluetooth moduli HC-05/06;
  • vitombox va g'ildiraklar bo'lgan ikkita motor;
  • 9v batareya (toj);
  • 2 ta turtki va 2 LED;
  • eski mashinadan uy-joy va g'ildiraklar;
  • lehimlash temir, termal, ish stantsiyalari pichog'i;
  • simlar, lewer va lenta.
Robot uchun tafsilotlar - Arduino Boladagi mashinalar

Arduino-dagi mashinasini yig'ish sxemasi

Agar sizda barcha kerakli ma'lumotlar bo'lsa (loyihada olib borishingiz mumkin bo'lgan loyihada olib borishingiz mumkin), keyin biz uni o'zingiz ham ARDUININI qanday qilish kerakligini ko'rib chiqamiz. Avvaliga, siz Motorning Motors kontaktlarining kontaktlariga o'tishingiz va kontaktlar buzilmasligi uchun ularni lenta bilan tuzatishingiz kerak. M1 va M2 terminallariga m1 va m2 terminallariga ulangan bo'lishi kerak (keyin poligon o'zgartirilishi mumkin).


Bluetooth modulidagi quvvat Loyihada xizmatda kontaktlardan amalga oshiriladi, bizda biz uchun kerak bo'lmaydi. Va biz uchun mos keladigan oziq-ovqat mahsulotlarida 5 voltning barqarorlashtirilgan kuchlanish mavjud. TX va RX portlari "Onam" ulagichlari va motor qalqonli pinsidagi (Bls) dagi "onam" konini va PIN0 va PIN1 PIN1 portlarini sotib olish uchun qulayroq bo'ladi. Shunday qilib, siz Eskizni yuklab olishingiz kerak bo'lsa, siz ARDUINO-dan Bluetooth modulini osongina o'chirishingiz mumkin.

LED nazorati "PIN2" portidan keladi, shu yerda sim to'g'ridan-to'g'ri portga lolyatsiyalanishi mumkin. Agar siz bir vaqtning o'zida boshqariladigan Bluetooth bilan bir nechta mashina yasasangiz, biz HC-05 moduli miltillashni tavsiya etamiz. Modul dasturiy ta'minot juda oddiy, keyin siz endi mashinada yo'q bo'lib ketmaysiz, chunki har birining har biri Android-dagi noyob nomini namoyish etadi.

ARDUINA Mashinalar uchun ilova va eskiz

Tualni yig'ib, mashinani yuklab olish uchun quyidagi eskizni yuklab oling (ARDUINOEH modulini ARDUININE dan o'chirishni unutmang) va arizani smartfonga o'rnating. Loyiha uchun barcha fayllar (AFMotor.h kutubxonasi, mashinasozlik va Android dasturini eskiz) Siz bitta arxivni to'g'ridan-to'g'ri havola uchun yuklab olishingiz mumkin.

#Include. // Kutubxonani Shilda bilan bog'lang Af_dcmootor motor1 (1); // motorni M1 terminal bariga ulang Af_dcmootor motor2 (2); // motorni m2 terminal bariga ulang Int val; // boshqaruverda bepul xotira VOLD sozlash () (Serial .Begin (9600); pinmose (2, chiqtirish); // LEDLAR UChUN port Motor1.setpid (250); Motor1.run (chiqarilishi); // motorni to'xtating. Motor2.setspid (250); // belgilang maksimal tezlik Motor Motor2.run (chiqarilishi); // motorni to'xtating. ) bo'sh ko'cha () (agar (seriyali .Ave ()) // har qanday buyruqlar keladimi yoki yo'qligini tekshiring (Val \u003d Serial .Radr (); Agar biz (Val \u003d\u003d "F") (oldinga). 250);) if (VL \u003d\u003d "B") (//) motor1.run (orqaga qaytayotganimiz); motor2.run (orqaga); motor2.setspid (200);) (Val \u003d\u003d 'S ») ( // To'xta Motor1.run (chiqarilishi); Motor2.run (chiqarilishi); ) if (VL \u003d\u003d LA ») if ( // chapga buriling Motor1.run (oldinga); Motor1.setpid (100); Motor2.run (orqaga); Motor2.setspid (250); ) if (VL \u003d\u003d 'R ») ( // o'ng tomonga buriling Motor1.run (orqaga); Motor1.setpid (250); Motor2.run (oldinga); Motor2.setspid (100); ) if (VL \u003d\u003d '1 ») ( // LEDlarni yoqing Digitalwrite (2, yuqori); ) if (VL \u003d\u003d "0") ( // LEDlarni o'chiring Digitalwrite (2, past); )))

Kodga tushuntirish:

  1. Sinov uchun siz kompyuterdan USB orqali buyruqlarni yuborishingiz mumkin;
  2. Batareya bilan ulanganda motorlarni aylantirish boshqacha bo'ladi;
  3. Siz aylanish tezligingizni motorlar bilan o'rnatishingiz mumkin.

Mashinani tekshirgandan so'ng, dasturni smartfoningiz yoki planshetingizga o'rnating. Siz Bluetooth-ga birinchilashganda, HC-05/06 modul, siz Android juftligini yaratishingiz kerak (keyin juftlashtirish avtomatik ravishda amalga oshiriladi). Agar siz ulanish bilan murakkablik bo'lsa - ushbu maqolani o'qing.

Sizga maqola yoqdimi? Do'stlar bilan bo'lishish uchun: