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

Endi men sizga "Android smartfonida g-sensor bilan Arduino-yozuv mashinuvchisini boshqarishni xohlayman"

Ushbu maqolada, men sizga qanday qilib aytayapman ushbu xizmat Remoteksi platforma yoki mashinani masofadan boshqarish pultini sozlash juda oson. Biz "Joystick" nazorati yordamida biz robotataymni boshqaramiz, bu sizning smartfoningizning G-sensoridan ishlashi mumkin. Maqola oxirida siz videoni topasiz va nima qilayotganimizni ko'rishingiz mumkin.

Biz tizimni qanday qurish uchun namoyish qilish uchun juda oddiy ikki g'ildirakli trollni yig'dik masofaviy boshqarish. Trolleyda quyidagi komponentlar ishlatiladi (biz ishlab chiqarish sifatiga ariza bermaymiz, arava resurs variantlarini eslab turish uchun to'plash uchun to'planadi):

  • Platforma - Biz varaq materialidan kesilgan edik. Oddiylik uchun tolali tolali ishlatilgan;
  • Oldingi g'ildirak - stuldan aylantirilgan g'ildirak;
  • Motorli qizil 2 dona .;
  • G'ildirakcha, motor reduktoriga mos keladigan o'q bilan 2 dona. Witsbe motor bilan birga sotib olgan g'ildiraklar;
  • Batareya bo'lmasi 4-kuni barmoq batareyalari (AA turi);
  • Arduino., biz bir xil ko'rgan barcha klonni ishlatdik;
  • Bluetooth HC-06 moduli;
  • Haydovchi motorlari Chip L298nda;

Barcha buyumlarga tinga xitoylik veb-saytida buyurtma berish mumkin. Haqiqat biroz kutishga to'g'ri keladi. Ammo ortiqcha puldan qutqarish yaxshidir

Elektr qismi va mashinaning barcha modullarining ulanish sxemasi quyidagi rasmda keltirilgan.

Boshqaruv dasturi

Ushbu manbaga muharrirni kiriting va quyidagi boshqaruv interfeysini quring:

"Joystick" ekranining markazini o'rnating. Joystik xususiyatlarida, "G Sensorini yoqish" ni o'rnatishni tanlang. G-sensorning almashinuvi pozitsiyasini "NED-LevO" ni tanlang. Shuningdek, sozlamalarda siz rangni qizil rangga o'zgartirishingiz mumkin. Keyingi joystikda biz mashinaning harakatini boshqaramiz.

"Tugmasini" o'rnating. Joystickni qoldiring. Siz shuningdek rangini o'zgartirishingiz mumkin. Pinda 13-da Arduino kengashi boshchiligidagi kalitni boshqaramiz.

Agar siz hamma narsani to'g'ri qilsangiz, ushbu boshqaruv interfeysi haqida kerak:

Loyiha sozlamalarida, biz olgan maqsadli platformani tanlang manba kodi "Arduino (Softwarererial)." "Kodni olish" tugmachasini bosing va dastlabki kodni kompyuteringizga yuklab oling.

Yuklab olingan skepni Arduino Ilardan oching. Sketch xatosiz tuzatiladi. Biroq, albatta, bizning mashinamizni boshqarish uchun hech qanday kod yo'q. Ushbu kodni yozish bizning vazifamiz. Namuna uchun biz yuklangan misoldan foydalanamiz.

Tuzilish ta'rifiga e'tibor bering Remoteksi_typedef. faylda remoteksi.h.. Tarkibi boshqaruv interfeysiga o'rnatilgan boshqaruv elementlariga to'liq mos keladigan maydonlar mavjud. Biz o'zgaruvchini ko'ramiz joystick_1_x. va joystick_1_y.X va y bizning koordinatalarimizni bizning o'zgaruvchan va o'zgaruvchi aks ettiruvchi swith_1.Aks ettiruvchi kalit.

/ * Tuzilishi sizning boshqaruv interfeysingizdagi barcha o'zgaruvchini * / Tenderefef kompozitlarini belgilaydi (

/ * Kiritish o'zgaruvchisiga * / Imzolaveri char hujstick_1_x; / * \u003d -100..100 MATORAT XINChI XAVFSIZLIK * / Izlangan char Joystick_1_y; / * \u003d -100..100 y Manrown Joystik * / Bitilmagan char tugmachasini koordinata / * \u003d 1 Agar kalit yoqilgan bo'lsa va \u003d 0 bo'lsa, * /

/ * Boshqa o'zgaruvchi * / imzosiz char ulanish_flag; / * \u003d 1 Agar sim ulanmagan bo'lsa, el \u003d 0 * /

) Remotexy_typedef;

Quyidagi asosiy dastur kodi - bu bizning yozuv mashinkamiz dvigatellarini boshqarishga allaqachon qurilgan. Siz shunchaki nusxalashingiz mumkin ushbu kod Sizning eskizingizda yoki kerakli misolga kerakli kodni qo'shing.

#Include. #Include. #Include "Remoteksi.h"

/ * O'ng motorni boshqarish pimlarini aniqlang * /
#Defin Pin_Motor_Right_up 7.
#Defin Pin_Motor_dht_dn 6.
#Defin Pin_Motor_Right_PEWED 10.

/ * Chap motorni boshqarish pinlarini aniqlash * /
#Defin PIN_MOTOR_FORF_UP 5.
#Defin PIN_MOTOR_FORF_DDN 4.
#Defin PIN_MOTOR_FEFT_SPED 9.

/ * LED-ning PIN-kodini belgilang * /
#Defin Pin_Led 13.

/ * Har bir motor uchun pinlarni berish bilan ikki qatorni aniqlang * /
imzolanmagan char to'g'rimotor \u003d (PIN_MOTOR_RIFT_UP, PIN_MOTOR_RIGht_dn, Pin_Motor_Right_Peed);
imzolanmagan char sumotor \u003d (PIN_MOTOR_FORF_UP, PIN_MOTOR_FORF_DN, PIN_MOTOR_FEFT_SPED);

/*
Motor tezligini boshqarish
Motor - pinlar massiviga
V - motor tezligi - 15 dan 100 gacha qiymatlarni olishi mumkin
*/
Bo'sh g'ildirak (taniqsiz char * motor, int v)
{
if (v\u003e 100) v \u003d 100;
If (v.)<-100) v=-100;
if (v\u003e 0) (
DigitalWrite (motor, yuqori);
Digitalwrite (motor, past);
Analog: motor, v * 2.55);
}
Boshqa if (v<0) {
Digitalwrite (motor, past);
DigitalWrite (motor, yuqori);
Analogrwritsi (motor, (-V) * 2.55);
}
Boshqa (
Digitalwrite (motor, past);
Digitalwrite (motor, past);
Analogwrit (motor, 0);
}
}

vOLD sozlamalari ()
{
/ * Pinsni ishga tushirish * /
Pinmode (PIN_MOTOR_RIFTH_UP, Chiqish);
Pinmode (PIN_MOTOR_RIGht_dn, Chiqish);
Pinmode (PIN_MOTOR_LEFT_UP, Chiqish);
Pinmode (PIN_MOTOR_LELFT_DN, Chiqish);
Pinmode (PIN_LED, chiqish);

/ * Remoteksi modulni ishga tushirish * /
Resursexy_init ();

bo'sh ko'cha ()
{
/ * Remoteksi moduli hodisa * /
Remoteksiya_Handler ();

/ * LED zarbasini boshqarish * /
Digitalwrite (PIN_LELLED, (RAFTEXY.SWINCH_1 \u003d\u003d 0)? Kam: yuqori);

/ * O'ng motorni boshqarish * /
G'ildirak (o'ngmotor, resursexy.joystick_1_y - reoteksi.joystick_1x);
/ * chap motorni boshqarish * /
G'ildirak (chap omotor, remoteksi.joystick_1_y + reoteksicy.joystick_1x);
}

Dastlab, pin raqamlari motorlarni boshqarish uchun ishlatilishi aniqlanadi. Keyingi pinlar mos ravishda o'ng va chap motor uchun birlashtirilgan. L298n chipdagi dvigatel orqali har bir vositani boshqarish uchun 3 ta signaldan foydalanish kerak: ikkita diskdan foydalanish kerak: ikkita diskdan foydalanish, aylanish tezligini belgilovchi. Bizda ushbu o'zgarishlar funktsiyasi bor. G'ildirak. Funktsiya faoliyatida biz tanlangan dvigatelning pinlari va aylanish tezligi bo'yicha -100 dan 100 gacha. Agar tezligi uzatilgan bo'lsa, motor o'chirilgan.

Oldindan belgilangan funktsiyada sozlash; o'rnatish. Pinlar ishlab chiqarish sifatida ishlash uchun sozlangan. Analog signal uchun, peshtas konvertorlari sifatida ishlashi mumkin. Bular 9 va 10-sonli pinlar. Ular Arduino muhitida konfiguratsiyani talab qilmaydi.

Oldindan belgilangan funktsiyada pastadir. Dasturning har bir iteratsiyasida REMOTEXY moduli ishlov beruvchini chaqiradi. Keyinchalik, LED gayatsiyasi boshqariladi, keyin motorni boshqarish. Avtomobilni boshqarish uchun Eskirganmoordinatsiyalar asosida mardikorlar koordinata koordinatalari koordinatalari o'qiladi, har bir vosita uchun tezlikni hisoblashning matematikasi amalga oshiriladi va funktsiya deb nomlanadi G'ildirakMotor tezligini ko'rsatish. Ushbu hisob-kitoblar dasturning har bir tsiklida, Joystickning koordinatalari asosida motorlarning kalitlarini hisoblash pullari uzluksizligini ta'minlaydi.

Natijada olib tashlangan Sketch Arduxinni boshqaruvchiga to'ldiring. Smartfon yoki planshetingizda Android mobil ilovasini yuklab oling va ishga tushiring. Qurilmangiz bilan ulaning va ularni boshqarishi mumkin. Joystik dvigatelni barmog'ingiz bilan harakat orqali odatdagi rejimda boshqarilishi mumkin. Siz G-sensorni yoqishingiz mumkin va Joystick dvigatelingiz sizning smartfoningizning nishiga qarab o'zini harakatlantiradi.

Agar qurilmangizni yig'ishdan so'ng, bir yoki ikkalasi ham motor ulanganda simlarni joylarda aylantiring.

Ammo tayyorlangan to'liq to'lanadigan robotni ushbu to'lov asosida sotib olish bilan. Boshlang'ich maktab yoki maktabgacha tarbiya yoshining bolalari uchun bunday tayyorlangan ARDUOINA loyihalari yanada afzalroq, 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 sizga bir xil tarkibiy qismlardan yangi o'yinchoqlar qilish imkonini beradi.

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 batareyalari va zaryadlovchidan tashqari, biz Arduino Uno328 Kengashini, motorlilayhe adapteri, bo'shatqich, masofadan boshqarish pulti va boshqalar olamiz.

Bu va yana bitta robot bilan video:

O'yinchoqlarning yanada batafsil tavsifi va Internet-do'kon 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

Crawler, uyali telefon bilan Bluetooth tomonidan boshqariladi94 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 tezkor etkazib berish robstore onlayn-do'konini taklif etadi. 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?

"Arduino" va "Bluetooth" dagi kodni tahrir qilmasdan. Biz eskizni kompilyatsiya qilish uchun ixtisoslashtirilgan iltifot dasturidan foydalanamiz. Bundan tashqari, bizning hunarmandchilik uchun shassilarni sotib olish shart emas, deyarli har qanday noto'g'ri radio boshqaruvi modeli yoki tank mavjud.

Men Bluetooth-da boshqariladigan mashinasi va uni to'ldirish bo'yicha sharhni ko'rib chiqaman.

Shunday qilib, siz turmush tarzingizni tushunib olaylik, siz o'z qo'llaringizni Bluetooth C Android planshet yoki smartfon mashinasi bilan amalga oshiriladi. G'arib, eng g'alati, dastlabki bilim darajasi uchun mo'ljallangan. Arduino Ilardan kodni tahrirlash bo'yicha qo'llanma yo'q va biz uni faqat bizning kod to'ldirish uchun ishlatamiz. Va biz FRTPOG deb nomlangan dasturda boshqaruv algoritmini tuzamiz. Smartfondan boshqaruv dasturi - Hmikasada_Free. Ammo avval biz kerak bo'lgan bez haqida.

Arduino va Bluetooth-dagi mashina.

Sizga kerak bo'lgan birinchi narsa shassi, Ya'ni biz va boshqalarga quvonchni minadigan g'ildiraklar va motorlar bilan korpusdir. Mening ishimda ish radiokimyoviy o'yinchoqdan foydalanilgan, bunda elektr toki yonib ketgan. Ta'mirlashning istiqbollari mendan xafa bo'lib tuyuldi va men farzandlarim uchun biron bir yangi narsani xohlardim. Shunday qilib, ushbu loyiha tug'ildi. Uyda ikkita dvigatel bor, ular g'ildirakning yon tomonlarida, tank kabi. Barcha elektron to'ldirish ehtiyot qismlarga to'g'ri keldi.

Kelgusi ijodimizning elektr motorlarini boshqarish uchun kerak bo'ladi L298n chipda n-ko'prikAli bilan bog'laning, men buni oldim. Rasm bosilishi mumkin.

Arduino uchun n-ko'prik

Bu 5 - 35 volt kuchlanish oralig'ida ikkita dvigatelni boshqarishi mumkin. PWM ni qo'llab-quvvatlaydi, ya'ni dvigatellarning tezligini o'zgartirishingiz mumkin. Kengashda Arduino quvvatga ega 5 Voltning barqarorlashtirilgan kuchlanishining chiqishi mavjud.

Ulanish sxemasi sodda va sodda:

Bizning loyihamizning elektron to'ldirishining keyingi ajralmas qismi bluetooth moduli HC-06.Arduino uchun eng oddiy modul shunchalik mashhur bo'lib, qo'shimcha tavsifda kerak emas.

HC-06 Arduino uchun Bluetooth

Asosiy element va mening holatdagi miya stendlar arduino Nano.Shuningdek, rasmni joylashtiradigan fotosurat ham bor va men u bilan qanday ishlashni bilmayman. Aytgancha, har qanday ARDUININ OVOZNI BOSHLANDI, agar korpusga mos bo'lsa

Xaridlar uchun batareyalar va simlar, aniq belgilash kerak emas. Batareyalarni tanlash elektr motorlarining ish kuchlanishiga bog'liq.

Arduino va Bluetooth-dagi mashinasi - eskizni tuzish.

Qayta takrorlayman - bu erda kodda qazish bo'lmaydi. Biz mashhur flpt dasturidan foydalanamiz. Uning so'nggi versiyasini yuklab olish rasmiy veb-saytda bo'lishi mumkin. Dastur interfeysi oddiy va sodda, ammo deyarli barcha mashhur modullarni juda katta funktsiyalar va qo'llab-quvvatlash mavjud. Uni qanday ishlatish uchun qanday foydalanish kerak, chunki u bir nechta maqolalarni tortadi. Men shunchaki "Arduino" va uning klonlari uchun rozetkani tuzish uchun qulay va qulay dasturni qabul qilmadim. Interfeys ekranlari:

Fitnaviy interfeys

Saytda matn va video qo'llanmalar bilan to'lgan, menimcha, biz buni aniqlaymiz.

Mening masofaviy boshqariladigan mashina uchun mening loyihamni Yandex Diskdan havolalarni qisqartirish xizmati orqali yuklab olish mumkin.

Arduino va Bluetooth - Android planshetida menejment interfeysi.

Ko'plab so'rovlar bilan, maqolada HMIKACADA Android asosida boshqaruv interfeysini rivojlantirish bo'yicha batafsil ma'lumot yozdim. Klicabelna havolasi.

Android qurilmalari uchun HMIKACADA dasturi mavjud (YandexDisk sahifasiga havola). Dastlab, u qimmat sanoat HMI panellariga alternativa sifatida ishlab chiqilgan. Ammo qiziquvchan ongda hech narsa boshqarishi mumkinligini tezda kesib tashlaydi. Bizning holatda, mashina. Wi-Fi va Bluetooth simsiz interfeyslarini qo'llab-quvvatlaydi va siz to'g'ridan-to'g'ri USB orqali to'g'ridan-to'g'ri ulanishingiz mumkin.

Dasturning maoshi va bepul versiyalari mavjud. Ikkalasi ham bor, lekin men bepul versiyasida, sizga yana bir bor bepul versiyaning mutlaq samaradorligiga ishonch hosil qilish uchun yana bir bor loyihani amalga oshirdim. Asosiy farq Pro versiyalardan xoli. Bu faqat Bluetooth-da ishlaydi.

Flpprog Forum kaskad bilan moslik bo'yicha ulkan filialga ega va ishlab chiqaruvchi faol va do'stdir. Men boshqaruv panellarining ekranini ko'rmayapman - bu videoda.

Loyihaning asosiy g'oyasi arzon avtonomli to'rt g'ildirakli mobil platformani yaratishdir.

Loyiha Arduino asosida joylashgan mantiqiy mantiqiy, arzon radio boshqaruvchisi, 9 voltli elektr ta'minotidan foydalanadi. Infraqizil Transert tebtarin sensorlari sifatida ishlatiladi.

Uskunalar arzon bo'lganligi sababli, ushbu maqolani umumiy ko'rsatma va sizning muxtor to'rt g'ildirakli platformaligingiz uchun birinchi qadam sifatida qarash mumkin.

Kerakli uskunalar va materiallar

  • Arduino.
  • Arduino motorli xiyonat
  • Radio boshqariladigan mashina
  • Lehimlash temir
  • Lehim
  • Infraqizil uzatuvchi
  • Infraqizil qabul qilgich
  • Batareya 9 v ulagich bilan
  • Kalit

* Eslatma: Agar mashinangiz katta kontraster taxtasi o'rnatilgan bo'lsa, ehtimol, bu tx2 yoki Rx2 chip. Agar shunday bo'lsa, unda siz dvigatellar uchun o'rnatilgan pulni tejash va o'rnatilgan boshqaruvchilarni ishlatishingiz mumkin. Yaxshi misol (ingliz tilida!).

Biz mashinani qismlarga ajratamiz

Sizning birinchi qadamingiz yozuv mashinuvchisini qismlarga ajratishdir. Ishni olib tashlang va mashinalardan barcha taxtalarni olib tashlang. Motors tegmaydi. Loyihada biz mahalliy shassi, g'ildiraklar va motorlar kerak bo'ladi.


Sensorlarni tayyorlang

Elektronikani tayyorlang. IR uzatgichingizdagi kontaktlardan biriga 100 Ohmga qarshi tura boshlash uchun. Biz simlarni rezistorning boshqa oyog'iga va sensorning oyog'iga yotqizamiz. Shundan so'ng, biz IR qabul qiluvchining oyoqlariga ikkita simni echdik.


Arduino va sensorni o'rnating

Mashinada, siz Arduino boshqaruvchisingiz ostiga teshiklar tayyorlashingiz kerak. Mahkamlash ostidagi teshiklar mashinaning harakatlanadigan platformaning o'lchamlariga bog'liq. Ushbu alohida holatda, kengash "perpendikulyar" tashuvchi tizimi joylashgan. Ushbu manzil, shuningdek, old va orqa osma dvigatellarning doktorlik dvigatellariga taxtaga taxminan bir xil ekanligiga qaraganda qulayroq.

Oldini to'xtatib turish orqali emitent va detektorni o'rnatamiz. Ular Yerga nisbatan yuqori darajadagi narsalarni o'rnatish maqsadga muvofiqdir. Kelgusida siz mashinaning teskari tomonida yoqilgan idagilar orqa tomonidan oldindan tanishishingiz mumkin.



Keyingi bosqichga o'ting.

Ovqat

Loyiha bitta batareyani 9 v (Kron) uchun ishlatadi. Bunday holda, g'ildiraklardagi tashuvchi platforma tizimi ostida o'rnatiladi. Yangi plastmassa tematiklashtirildi. Aslida, bizning mashinamizning avtonom ishi vaqtini oshirish, siz ikkita tojni parallel ravishda o'rnatishingiz mumkin.



Arduino-ga ulaning.

Ulanish rasm asosida ajratish mumkin. Ammo, agar quyidagi hollarda, quyida matn shaklida ulanishning aylanishini ko'rsatadi.



IR LED

Ijobiy aloqa - 5V

Salbiy aloqa - zamin

Ijobiy aloqa - Analog pin 5

Salbiy aloqa - zamin

Dvigatel

Salbiy aloqa - Animal Canel Canel -

Aylanish uchun dvigatel

Ijobiy aloqa - motorli qurilish kanali b +

Salbiy aloqa - mot motorli qurilish B -

Ijobiy aloqa - motorli tik

Salbiy aloqasi - motorli moslik GND

Arduino dasturi

Loyihaning o'ziga xos xususiyatlarini hisobga olgan holda, siz mashinalar va g'ildiraklar, g'ildirakning tezligi, avtomobillarning vazni, atrof-muhit yoritgichlariga bog'liq bo'lgan tub sonlarda juda ko'p o'zgarishlar qilishingiz kerak.

int irsenor \u003d a5;

int o'lchov \u003d 1;

int A Bringer \u003d 0;

// A (kanali a kanal)

pinmose (12, chiqadigan); // Kanal kanalining harakati a

pinmode (9, chiqadigan); // eng yaxshi aloqalarni boshlash - a tormoz kanali

pinmose (IRSENSOR, KIRISH);

digitalwrite (IRSENSOR, yuqori);

Serial.begin (9600);

amalerrir \u003d Atrof-muhit + analogread (Irsendor);

o'lchov \u003d o'lchov + 1;

amalerrir \u003d Americal / 10;

masofa \u003d ANGroguced (Irsendor);

digitalwrite (12, yuqori); // Biz rotorni kanalda aylantirishning teskari yo'nalishini a

digitalwrite (9, past); // tormozni kanalda o'chiring a

analog (3, 100); // Motor Rotorni maksimal inqiloblarning yarmiga aylantiring

agar (masofa\u003e amerikalik - 50) (

digitalwrite (12, past);

digitalwrite (9, past);

analog (3, 100);

Serial.println (masofa);

Arduino dasturining yuqorida qayd etilgan (va hatto kerak!) Maxsus dizayningiz ostida ta'mirlash, ammo siz erishishingiz kerak bo'lgan umumiy tushuncha.

Natija, sinov va qo'shimcha variantlar uchun qo'shimcha variantlar

Suratda ko'rganingizdek, mashinaning asl korpusi bejning rangida bo'yalgan va harakatlanadigan to'rt g'ildirakli platformadagi tokchalarga o'rnatilgan.



Dizaynli dizaynni sinab ko'rganingizdan so'ng, siz taqsimlashingiz mumkin quyidagi muammolar:

  • Cheklangan sensor sezgirlik darajasi;
  • Mashinaning tezligi bilan bog'liq muammolar, ya'ni tez to'xtashning mumkin emasligi;
  • Turli xil yoritish sharoitlari uchun sensorni o'zgartirish kerak;
  • Va, albatta, arzon xitoy plastikasi hech qanday yo'lda Arduino-dagi avtonom yozuv mashinka va dizaynning ishonchliligi uchun avtonom yozuv mashinuvchisini beradi.

Aslida, siz yoritish darajasiga qarab kompensatsiya qilishingiz mumkin, ammo bu alohida hikoya va asosiy loyihaning vazifalariga kiritilmagan alohida hikoya va modifikatsiya.

Mashina devorga qulab tushmaydi, lekin 90% ga ega bo'lgan bamperni xonadagi stul va stollarning barcha oyoqlarini yig'adi. Ya'ni kichik to'siqlarni aniqlash bilan aniq muammolar mavjud. Shunga ko'ra, emitentlar sonini ko'paytirish yoki ko'proq sezgirlik bilan qimmatroq modellardan foydalanish kerak.

Sizning sharhlaringizni, savollaringizni va aktsiyangizni qoldiring shaxsiy tajriba quyida. Munozarada yangi g'oyalar va loyihalar tug'iladi!

Bluetooth boshqarmasi bilan Arduino-dagi mashina 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, arizani smartfon 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: