Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

AR DRONE и 1SHEELD - Откройте для себя мир вокруг вашего дрона

Компоненты и расходные материалы

Arduino Mega 2560
× 2
1Sheeld
× 1
AR DRONE 2.0
× 1
xbee
× 2

Об этом проекте

В нашем проекте мы видим контроль различных полетных данных, записываемых смартфоном и передаваемых в режиме реального времени на ваш компьютер, таких как датчик акселерометра, положение GPS, шум беспилотного летательного аппарата, ориентация, гироскоп и многое другое.

Мы используем два Arduino для управления данными:один установлен на дрон, второй - на компьютер, два xBee - для передачи удаленных данных с 1sheeld на ваш компьютер.

Веселый и простой способ воспользоваться всеми функциями и сенсорами смартфона, а также сделать красивые снимки;)



Код

  • Мастер-код
  • Раб
Мастер-код C / C ++
Этот код загружается на Arduino, который подключается к ПК, для управления Arduino на дроне.
сначала вам нужно скачать библиотеку https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
#include  int verifica =0; AltSoftSerial xBee; char c; char h; char stop ='s '; void setup () {Serial.begin (115200); Serial.println («Мастер ОК»); Serial.println (); Serial.println ("Цифра для:"); Serial.println ("значение датчика ориентации"); Serial.println («значение датчика ускорения»); Serial.println («значение датчика яркости 'b'»); Serial.println ("положение GPS"); Serial.println («шум микрофона»); Serial.println («'p' сфотографировать»); xBee.begin (9600);} недействительный цикл () {Serial.flush (); если (Serial.available ()> 0) {c =Serial.read (); if (c =='o' || c =='a' || c =='m' || c =='g' || c =='b' || c =='p') { // ---------- Ориентация ------------------------------------- ---- if (c =='o') {Serial.println ("Ориентация"); c ='1'; xBee.print (c); для (int я =0; я <10; я ++) {задержка (20); c ='о'; xBee.print (c); делать {h =0; h =xBee.read (); Серийный отпечаток (ч); } while (xBee.available ()> 0); задержка (100); я =я-1; если (Serial.available ()> 0); if (stop ==Serial.read ()) {Serial.println («Анализ остановлен»); c ='0'; Serial.println (); Serial.println ("Цифра для:"); Serial.println ("значение датчика ориентации"); Serial.println («значение датчика ускорения»); Serial.println («значение датчика яркости 'b'»); Serial.println ("положение GPS"); Serial.println («шум микрофона»); Serial.println («'p' сфотографировать»); xBee.print (c); я =11; }}} // ---------- Ускорение ---------------------------------- ------- if (c =='a') {Serial.println ("Ускорение"); c ='2'; xBee.print (c); для (int я =0; я <10; я ++) {задержка (20); c ='а'; xBee.print (c); делать {h =0; h =xBee.read (); Серийный отпечаток (ч); } while (xBee.available ()> 0); задержка (100); я =я-1; если (Serial.available ()> 0); if (stop ==Serial.read ()) {Serial.println («Анализ остановлен»); c ='0'; Serial.println (); Serial.println ("Цифра для:"); Serial.println ("значение датчика ориентации"); Serial.println («значение датчика ускорения»); Serial.println («значение датчика яркости 'b'»); Serial.println ("положение GPS"); Serial.println («шум микрофона»); Serial.println («'p' сфотографировать»); xBee.print (c); я =11; }}} // ---------- Яркость ---------------------------------- ------ if (c =='b') {Serial.println ("Яркость"); c ='3'; xBee.print (c); для (int я =0; я <10; я ++) {задержка (20); c ='b'; xBee.print (c); делать {h =0; h =xBee.read (); Серийный отпечаток (ч); } while (xBee.available ()> 0); задержка (50); я =я-1; если (Serial.available ()> 0); if (stop ==Serial.read ()) {Serial.println («Анализ остановлен»); c ='0'; Serial.println (); Serial.println ("Цифра для:"); Serial.println ("значение датчика ориентации"); Serial.println («значение датчика ускорения»); Serial.println («значение датчика яркости 'b'»); Serial.println ("положение GPS"); Serial.println («шум микрофона»); Serial.println («'p' сфотографировать»); xBee.print (c); я =11; } } } //----------GPS---------------------------------- ------- if (c =='g') {Serial.println ("Posizione GPS '"); c ='4'; xBee.print (c); для (int я =0; я <10; я ++) {задержка (20); c ='g'; xBee.print (c); делать {h =0; h =xBee.read (); Серийный отпечаток (ч); } while (xBee.available ()> 0); задержка (500); я =я-1; если (Serial.available ()> 0); if (stop ==Serial.read ()) {Serial.println («Анализ остановлен»); c ='0'; Serial.println (); Serial.println ("Цифра для:"); Serial.println ("значение датчика ориентации"); Serial.println («значение датчика ускорения»); Serial.println («значение датчика яркости 'b'»); Serial.println ("положение GPS"); Serial.println («шум микрофона»); Serial.println («'p' сфотографировать»); xBee.print (c); я =11; }}} // ---------- МИКРОФОНО ---------------------------------- ------- if (c =='m') {Serial.println ("Микрофон"); c ='5'; xBee.print (c); для (int я =0; я <10; я ++) {задержка (20); c ='м'; xBee.print (c); делать {h =0; h =xBee.read (); Серийный отпечаток (ч); } while (xBee.available ()> 0); задержка (100); я =я-1; если (Serial.available ()> 0); if (stop ==Serial.read ()) {Serial.println («Анализ остановлен»); c ='0'; Serial.println (); Serial.println ("Цифра для:"); Serial.println ("значение датчика ориентации"); Serial.println («значение датчика ускорения»); Serial.println («значение датчика яркости 'b'»); Serial.println ("положение GPS"); Serial.println («шум микрофона»); Serial.println («'p' сфотографировать»); xBee.print (c); я =11; } } } //----------ФОТОГРАФИЙ---------------------------------- ------- if (c =='p') {Serial.println ("Сделать снимок"); c ='6'; xBee.print (c); задержка (20); c ='p'; Serial.println (); Serial.println ("Цифра для:"); Serial.println ("значение датчика ориентации"); Serial.println («значение датчика ускорения»); Serial.println («значение датчика яркости 'b'»); Serial.println ("положение GPS"); Serial.println («шум микрофона»); Serial.println («'p' сфотографировать»); xBee.print (c); }}}} 
Подчиненный C / C ++
Этот код загружается в sull'arduino, который устанавливается на дрон, который будет передавать данные дрону на землю.
сначала вам нужно скачать библиотеку https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
и http://1sheeld.com/downloads/
#include  #include  char variabile; AltSoftSerial xBee; char master; int voce =0; void setup () {Serial.begin (115200); Serial.println («Подчиненный ок»); OneSheeld.begin (); xBee.begin (9600);} недействительный цикл () {receiveEvent (); requestEvent ();} void receiveEvent () {в то время как (xBee.available ()> 0) {master =xBee.read (); variabile =master; }} void requestEvent () {if (variabile =='o') {xBee.print ("Asse x:"); xBee.print (OrientationSensor.getX ()); xBee.print ("Asse y:"); xBee.print (OrientationSensor.getY ()); xBee.print ("Asse z:"); xBee.println (OrientationSensor.getZ ()); variabile =0; } если (variabile =='a') {xBee.print ("Asse x:"); xBee.print (AccelerometerSensor.getX ()); xBee.print ("Asse y:"); xBee.print (AccelerometerSensor.getX ()); xBee.print ("Asse z:"); xBee.println (AccelerometerSensor.getX ()); variabile =0; } if (variabile =='g') {xBee.print ("Продольный:"); xBee.print (GPS.getLongitude ()); xBee.print ("Широта;:"); xBee.println (GPS.getLatitude ()); variabile =0; } если (variabile =='м') {xBee.print ("db:"); xBee.println (Mic.getValue ()); variabile =0; } если (variabile =='b') {xBee.print ("Люмен:"); xBee.println (LightSensor.getValue ()); variabile =0; } если (variabile =='p') {Camera.setFlash (ON); Camera.rearCapture (); xBee.println («Сделанные фотографии»); variabile =0; } if (variabile =='1') {TextToSpeech.say («ориентация на анализ»); variabile =0; } if (variabile =='2') {TextToSpeech.say («ускорение анализа»); variabile =0; } if (variabile =='3') {TextToSpeech.say ("интенсивность анализа яркости"); variabile =0; } if (variabile =='4') {TextToSpeech.say ("анализ положения GPS"); variabile =0; } if (variabile =='5') {TextToSpeech.say («анализ шума в децибелах»); variabile =0; } if (variabile =='6') {TextToSpeech.say ("Фотографирование"); variabile =0; } if (variabile =='0') {TextToSpeech.say («анализ остановлен»); variabile =0; }} 

Схема

Это соединение между Arduino и xbee, то же самое для Arduino, которые подключаются к компьютеру, и Arduino на дроне.

Производственный процесс

  1. Облако и как оно меняет мир ИТ
  2. Проверки реальности, проводимые красильной промышленностью во всем мире
  3. Дрон Пи
  4. Ваш смартфон и подключенный автомобиль
  5. 6 способов, которыми ИИ и Интернет вещей меняют мир вашего бизнеса в 2019 году
  6. Edge и IoT:выводы из IoT World 2019
  7. ИИ теперь может обнаруживать и наносить на карту неформальные поселения в мире
  8. Обслуживание мира композитов в Израиле и США
  9. Плюсы и минусы покрытия вашей помпы
  10. Документация по техническому обслуживанию и самая большая в мире корзина для яиц