Съдържание:

Робот, управляван с жестове, използващ Arduino: 7 стъпки
Робот, управляван с жестове, използващ Arduino: 7 стъпки

Видео: Робот, управляван с жестове, използващ Arduino: 7 стъпки

Видео: Робот, управляван с жестове, използващ Arduino: 7 стъпки
Видео: Leap Motion SDK 2024, Декември
Anonim
Робот с контролиран жест, използващ Arduino
Робот с контролиран жест, използващ Arduino

Роботите се използват в много сектори като строителство, военни, производство, сглобяване и т.н. Роботите могат да бъдат автономни или полуавтономни. Автономните роботи не изискват човешка намеса и могат да действат сами според ситуацията. Полуавтономните роботи работят според инструкциите, дадени от хората. Тези полуавтономни могат да се контролират чрез дистанционно, по телефон, с жестове и т.н. Преди това сме създали няколко роботи базирани на IoT, които могат да се контролират от уеб сървъра.

В днешната статия ще изградим робот, управляван с жестове, използвайки Arduino, акселерометър MPU6050, двойка трансивър nRF24L01 и модул за драйвер на двигател L293D. Ние ще проектираме този робот на две части. Единият е предавателят, а другият е приемникът. Предавателната секция се състои от Arduino Uno, MPU6050 акселерометър и жироскоп и nRF24L01, докато приемната секция се състои от Arduino Uno, nRF24L01, два DC двигателя и драйвер за двигател L293D. Предавателят ще действа като дистанционно за управление на робота, където роботът ще се движи според жестовете.

Стъпка 1: Необходими компоненти

Необходими компоненти
Необходими компоненти
Необходими компоненти
Необходими компоненти
  • Arduino Uno (2)
  • NRF24L01 (2)
  • Мотор MPU6050DC (2)
  • L293D Модул за задвижване на двигателя
  • Тесто

Акселерометър и жироскоп MPU6050 Модулът на сензора MPU6050 е цялостна 6-осна (3-осен акселерометър и 3-осен жироскоп) микро-електро-механична система. Сензорният модул MPU6050 има и вграден сензор за температура. Той има I2C шина и спомагателен I2C шинен интерфейс за комуникация с микроконтролерите и други сензорни устройства като 3-осен магнитометър, сензор за налягане и др. MPU6050 сензорният модул се използва за измерване на ускорение, скорост, ориентация, изместване и някои други движения -свързани параметри. Този сензорен модул има и вграден цифров процесор за движение, който може да извършва сложни изчисления.

NRF24L01 трансивер модул

nRF24L01 е едночипов радиопредавател за световния ISM обхват 2,4 - 2,5 GHz. Трансивърът се състои от напълно интегриран честотен синтезатор, усилвател на мощност, кристален осцилатор, демодулатор, модулатор и подобрен протоколен механизъм ShockBurs. Изходната мощност, честотните канали и настройката на протокола са лесно програмируеми чрез SPI интерфейс. Обхватът на работното напрежение на този трансивър модул е от 1.9V до 3.6V. Той има вградени режими за изключване и режим на готовност, които го правят енергоспестяващ и лесно реализуем.

Стъпка 2: Работа на робот, контролиран с жестове, с помощта на Arduino

Работа на робот, контролиран с жестове с ръце, с помощта на Arduino
Работа на робот, контролиран с жестове с ръце, с помощта на Arduino
Работа на робот, контролиран с жестове, с помощта на Arduino
Работа на робот, контролиран с жестове, с помощта на Arduino

За да разберем работата на тази кола за управление с жестове на Arduino, нека разделим този проект на две части. Първата част е предавателната част (дистанционна), в която сензорът за акселерометър MPU6050 непрекъснато изпраща сигнали към приемника (робот) чрез Arduino и nRF предавател.

Втората част е частта на приемника (кола -робот), в която nRF приемникът получава предадените данни и ги изпраща до Arduino, който ги обработва допълнително и съответно премества робота.

Сензорът за акселерометър MPU6050 чете координатите X Y Z и изпраща координатите до Arduino. За този проект се нуждаем само от X и Y координати. След това Arduino проверява стойностите на координатите и изпраща данните към предавателя nRF. Предадените данни се приемат от nRF приемника. Получателят изпраща данните към Arduino на страната на приемника. Arduino предава данните на IC драйвера на двигателя и водачът на двигателя завърта двигателите в желаната посока.

Стъпка 3: Електрическа схема

Електрическа схема
Електрическа схема
Електрическа схема
Електрическа схема

Този робот, управляван с жестове с ръка, използващ хардуер Arduino, е разделен на две секции

  1. Предавател
  2. Приемник

Стъпка 4: Предавателна верига за автомобил, контролиран с жестове Arduino

Схема на предавател за автомобил, контролиран с жестове Arduino
Схема на предавател за автомобил, контролиран с жестове Arduino
Схема на предавател за автомобил, контролиран с жестове Arduino
Схема на предавател за автомобил, контролиран с жестове Arduino
Схема на предавател за автомобил, контролиран с жестове Arduino
Схема на предавател за автомобил, контролиран с жестове Arduino

Предавателната секция на този проект се състои от MPU6050 акселерометър и жироскоп, трансивер nRF24L01 и Arduino Uno. Arduino непрекъснато получава данни от MPU6050 и изпраща тези данни към предавателя nRF. RF предавателят предава данните в околната среда.

Стъпка 5: Схема на приемник за автомобил, управляван с жестове Arduino

Схема на приемник за автомобил, управляван с жестове Arduino
Схема на приемник за автомобил, управляван с жестове Arduino
Схема на приемник за автомобил, управляван с жестове Arduino
Схема на приемник за автомобил, управляван с жестове Arduino
Схема на приемник за автомобил, управляван с жестове Arduino
Схема на приемник за автомобил, управляван с жестове Arduino

Секцията на приемника на този управляван с жестове робот се състои от Arduino Uno, трансивер nRF24L01, 2 DC двигателя и модул за драйвер на мотор. Приемникът NRF24L01 получава данните от предавателя и ги изпраща до Arduino. След това според получените сигнали, Arduino премества DC двигателите.

Стъпка 6: Обяснение на програмата

За робот, управляван с жестове, използващ Arduino, пълният код е достъпен тук. По -долу обясняваме програмата ред по ред.

Странична програма на предавателя

В тази програма Arduino чете данните от MPU6050 и ги изпраща към предавателя nRF 24L01.

1. Стартирайте програмата, като добавите необходимите библиотечни файлове. Можете да изтеглите библиотечните файлове от дадените връзки.

SPI.h

nRF24L01.h

Wire.h

MPU6050.h

2. След това дефинирайте променливите за данните от жироскопа и акселерометъра MPU6050. Тук ще се използват само данните от акселерометъра.

3. Определете адресите на радиоканалите за комуникационните и nRF предавателите CN и CSN щифтове.

4. В рамките на функцията void setup () стартирайте серийния монитор. И също така инициализирайте телената и радио комуникацията. radio.setDataRate се използва за задаване на скоростта на предаване на данни.

5. Прочетете данните от сензора MPU6050. Тук използваме само данни за акселерометъра за посока X и Y.

6. Накрая предайте сензорните данни с помощта на функцията radio.write.

Странична програма на приемника

1. Както обикновено, стартирайте програмата, като включите необходимите библиотечни файлове.

2. Определете адресите на радиоканалите за комуникационните и nRF предавателите CN и CSN щифтове.

3. Определете левия и десния щифт на DC двигателя.

4. Сега проверете дали радиото е налично или не. Ако е така, прочетете данните.

5. Сега сравнете получените данни и задвижете двигателите според условията.

Стъпка 7: Тестване на робота, управляван с жестове с ръка, с помощта на Arduino

След като хардуерът е готов, свържете както предавателя, така и приемника Arduinos към вашия лаптоп и качете кода. След това преместете акселерометъра MPU6050, за да контролирате колата -робот.

Пълната работа на управлявания с жестове робот може да се намери във видеото.

Препоръчано: