- Стъпки за конфигуриране на приложението Blynk:
- Необходими компоненти:
- Обяснение на веригата:
- Работно обяснение:
- Обяснение на програмирането:
Има много видове роботи, от прости като кола играчка до напреднали като индустриални роботи. Вече покрихме много видове роботи, използващи различни технологии, разгледайте ги:
- Line Follower Robot с помощта на микроконтролер 8051
- Line Follower Robot, използващ Arduino
- DTMF контролиран робот, използващ Arduino
- Контролиран от мобилен телефон робот с помощта на микроконтролер 8051
- Компютърно управляван робот, използващ Arduino
- RF контролиран робот
- Edge Избягване на робот, използващ 8051
- Акселерометър, базиран на ръчен жест, контролиран робот, използващ Arduino
- Кола с играчки, контролирана от Bluetooth, използваща Arduino
И сега добавяме още един робот в нашия раздел „Проекти за роботика“, този път ще направим робот, контролиран от Wi-Fi, използвайки Arduino и Blynk App. Този робот, базиран на Arduino, може да се управлява безжично с помощта на всеки смартфон с Android, поддържащ Wi-Fi.
За демонстрация на Wi-Fi контролиран робот използвахме мобилно приложение за Android, наречено „ Blynk “. Blynk е много съвместимо приложение с Arduino, за да направи IoT базиран проект. Това приложение може да бъде изтеглено от Google Play Store и може лесно да бъде конфигурирано.
Стъпки за конфигуриране на приложението Blynk:
1. Първо го изтеглете от Google Play Store и го инсталирайте в мобилния телефон с Android.
2. След това се изисква да създадете акаунт. Можете да използвате текущия си акаунт в Gmail.
3. Сега изберете Arduino Board и дайте име на вашия проект.
4. Запишете Auth Token Code или просто го изпратете на вашия имейл акаунт и след това копирайте и поставете в скицата Arduino (програмен код).
5. Въведете този Auth Token Code в скица на Arduino.
// Трябва да получите Auth Token в приложението Blynk. // Отидете в Project Settings (икона на гайка). char auth = "caa17a11c0124d4083d0eaa995f45917";
6. След това кликнете върху бутона за създаване в приложението Blynk.
7. Сега изберете джаджата на джойстика, щракнете върху джойстика, конфигурирайте джойстика (вижте видеото в края) и натиснете бутона за връщане назад.
8. След това натиснете бутона Play в горния десен ъгъл на екрана.
Целият този процес на използване на приложението Blynk е ясно обяснен във видеото, дадено в края.
Необходими компоненти:
- Arduino UNO
- ESP8266 Wi-Fi модул
- USB кабел
- Свързващи проводници
- L293D
- DC двигатели
- Батерии
- 10K POT (по избор)
- Роботно шаси плюс колело
- Ролково колело
- Мобилен телефон с Android
- Приложение Blynk
Обяснение на веригата:
Електрическа схема на робот, контролиран чрез Wi-Fi, е дадена по-долу. Основно се нуждаем от Arduino и ESP8266 Wi-Fi модул. Изводите Vcc и GND на ESP8266 са директно свързани към 3.3V и GND на Arduino, а CH_PD също е свързан с 3.3V. Tx и Rx щифтовете на ESP8266 са директно свързани към щифтове 2 и 3 на Arduino. Софтуерната серийна библиотека се използва, за да позволи последователна комуникация на пинове 2 и 3 на Arduino. Вече разгледахме подробно взаимодействието на Wi-Fi модула ESP8266 с Arduino.
А L293D Motor Driver IC се използва за задвижване постояннотокови двигатели. Входните щифтове на драйвера на мотора IC са директно свързани към щифтове 8, 9, 10 и 11 на Arduino. И постояннотоковите двигатели са свързани към изходните му щифтове. Тук сме използвали 9 волтова батерия за задвижване на веригата и постояннотоковите двигатели.
Работно обяснение:
Работата с контролирания от Wi-Fi робот е много лесна, трябва само да плъзнете или плъзнете джойстика в посоката, където искаме да преместим робота. Както ако искаме да преместим робота в посока напред, тогава трябва да плъзнем джойстика "кръг" в посока напред. По същия начин можем да преместваме робота в посока наляво, надясно и назад, като плъзгаме джойстика в съответната посока. Веднага щом пуснем джойстика, той ще се върне в центъра и роботът спира.
Приложението Blynk изпраща стойности от двуосен джойстик към Arduino чрез Wi-Fi носител. Arduino получава стойностите, сравнява ги с предварително зададени стойности и премества робота съответно в тази посока.
Обяснение на програмирането:
Програмата е почти готова в Arduino IDE. Трябва само да изтеглим Blynk Library за Arduino. И след като направи някои модификации, потребителят може да направи собствен Wi-Fi контролиран робот.
Първо включихме всички необходими библиотеки за стартиране на този код в Arduino IDE и след това въведохме Auth Token от приложението Blynk в низа за удостоверяване . Тук свързваме Wi-Fi сериен щифт със софтуерен сериал на Arduino. Избран щифт 2 като RX и 3 като TX.
#define BLYNK_PRINT Serial // Коментирайте това, за да деактивирате разпечатките и да спестите място #include
След това дефинирахме изходни щифтове (8,9,10,11) за двигатели и написахме някои функции за посока, за да преместим робота в определена посока: void напред (), void назад (), void надясно () и void наляво ()
След това в функцията за настройка инициализираме всички необходими устройства, като напътстване на щифтове на двигателя, започваме серийна комуникация, предоставяйки потребителско име и парола за Wi-Fi.
void setup () {// Задаване на скорост на предаване на конзолата Serial.begin (9600); забавяне (10); // Задаване на скорост на предаване на ESP8266 // 9600 се препоръчва за Software Serial EspSerial.begin (9600); забавяне (10); Blynk.begin (auth, wifi, "потребителско име", "парола"); // wifi потребителско име и парола pinMode (m11, OUTPUT); pinMode (m12, OUTPUT); pinMode (m21, ИЗХОД); pinMode (m22, OUTPUT); }
Сега проверихме някои условия за управление на робота. Тук избрахме виртуален щифт 1 (V1) за вземане на вход от приложението Blynk за управление на робота. Тъй като използвахме опцията marge в приложението, така ще получим стойности на оста x и y на същия щифт.
BLYNK_WRITE (V1) {int x = param.asInt (); int y = param.asInt (); ако (y> 220) напред (); иначе ако (y <35) назад (); иначе ако (x> 220) вдясно (); иначе ако (x <35) наляво (); else Stop (); }
Най-накрая трябва да стартираме функцията blynk в цикъл, за да стартираме системата.
невалиден цикъл () {Blynk.run (); }