Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

AR Drone 2.0 + 1Sheeld: Streaming Data Penerbangan Real-Time ke PC

Komponen dan Perlengkapan

AR Drone 2.0 + 1Sheeld: Streaming Data Penerbangan Real-Time ke PC
Arduino Mega 2560
×2
AR Drone 2.0 + 1Sheeld: Streaming Data Penerbangan Real-Time ke PC
1Sheeld
×1
AR DRONE 2.0
×1
xbee
×2

Tentang Proyek Ini

Proyek kami memungkinkan pengendalian berbagai data penerbangan yang direkam oleh smartphone dan ditransmisikan secara real-time ke komputer, seperti sensor akselerometer, posisi GPS, derau drone, orientasi, giroskop, dan lainnya.

Kami menggunakan dua Arduino untuk pengontrolan data: satu dipasang pada drone, dan satu lagi pada komputer. Dua modul xBee digunakan untuk berkomunikasi dan mengirim data jarak jauh dari 1Sheeld ke komputer Anda.

Cara menyenangkan dan mudah untuk memanfaatkan semua fitur dan sensor smartphone, sekaligus mengambil beberapa foto bagus ;)

Kode

Kode MasterC/C++

Kode ini dimuat pada Arduino yang terhubung ke PC, untuk mengontrol Arduino pada drone. Pertama, Anda perlu mengunduh perpustakaan https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html

#include <AltSoftSerial.h> int verifica=0; AltSoftSerial xBee; char c; char h; char stop='s'; void setup() { Serial.begin(115200); Serial.println("Master OK"); Serial.println(); Serial.println("Digit for:"); Serial.println("'o' orientation sensor value"); Serial.println("'a' acceleration sensor value"); Serial.println("'b' brightness sensor value"); Serial.println("'g' GPS position"); Serial.println("'m' microfone noise"); Serial.println("'p' take a picture"); xBee.begin(9600); } void loop() { Serial.flush(); if (Serial.available()>0) { c = Serial.read(); if(c=='o'||c=='a'||c=='m'||c=='g'||c=='b'||c=='p'){ //----------Orientament----------------------------------------- if(c=='o'){ Serial.println("Orientament"); c='1'; xBee.print(c); for(int i=0; i<10;i++){ delay(20); c='o'; xBee.print(c); do{ h=0; h=xBee.read(); Serial.print(h); } while(xBee.available()>0); delay(100); i=i-1; if(Serial.available()>0); if(stop==Serial.read()){ Serial.println("Analysis Stopped"); c='0'; Serial.println(); Serial.println("Digit for:"); Serial.println("'o' orientation sensor value"); Serial.println("'a' acceleration sensor value"); Serial.println("'b' brightness sensor value"); Serial.println("'g' GPS position"); Serial.println("'m' microfone noise"); Serial.println("'p' take a picture"); xBee.print(c); i=11; } } } //----------Acceleration----------------------------------------- if(c=='a'){ Serial.println("Acceleration"); c='2'; xBee.print(c); for(int i=0; i<10;i++){ delay(20); c='a'; xBee.print(c); do{ h=0; h=xBee.read(); Serial.print(h); } while(xBee.available()>0); delay(100); i=i-1; if(Serial.available()>0); if(stop==Serial.read()){ Serial.println("Analysis Stopped"); c='0'; Serial.println(); Serial.println("Digit for:"); Serial.println("'o' orientation sensor value"); Serial.println("'a' acceleration sensor value"); Serial.println("'b' brightness sensor value"); Serial.println("'g' GPS position"); Serial.println("'m' microfone noise"); Serial.println("'p' take a picture"); xBee.print(c); i=11; } } } //----------Brightness---------------------------------------- if(c=='b'){ Serial.println("Brightness"); c='3'; xBee.print(c); for(int i=0; i<10;i++){ delay(20); c='b'; xBee.print(c); do{ h=0; h=xBee.read(); Serial.print(h); } while(xBee.available()>0); delay(50); i=i-1; if(Serial.available()>0); if(stop==Serial.read()){ Serial.println("Analysis Stopped"); c='0'; Serial.println(); Serial.println("Digit for:"); Serial.println("'o' orientation sensor value"); Serial.println("'a' acceleration sensor value"); Serial.println("'b' brightness sensor value"); Serial.println("'g' GPS position"); Serial.println("'m' microfone noise"); Serial.println("'p' take a picture"); xBee.print(c); i=11; } } } //----------GPS----------------------------------------- if(c=='g'){ Serial.println("Posizione GPS'"); c='4'; xBee.print(c); for(int i=0; i<10;i++){ delay(20); c='g'; xBee.print(c); do{ h=0; h=xBee.read(); Serial.print(h); } while(xBee.available()>0); delay(500); i=i-1; if(Serial.available()>0); if(stop==Serial.read()){ Serial.println("Analysis Stopped"); c='0'; Serial.println(); Serial.println("Digit for:"); Serial.println("'o' orientation sensor value"); Serial.println("'a' acceleration sensor value"); Serial.println("'b' brightness sensor value"); Serial.println("'g' GPS position"); Serial.println("'m' microfone noise"); Serial.println("'p' take a picture"); xBee.print(c); i=11; } } } //----------MICROFONO----------------------------------------- if(c=='m'){ Serial.println("Microphone"); c='5'; xBee.print(c); for(int i=0; i<10;i++){ delay(20); c='m'; xBee.print(c); do{ h=0; h=xBee.read(); Serial.print(h); } while(xBee.available()>0); delay(100); i=i-1; if(Serial.available()>0); if(stop==Serial.read()){ Serial.println("Analysis Stopped"); c='0'; Serial.println(); Serial.println("Digit for:"); Serial.println("'o' orientation sensor value"); Serial.println("'a' acceleration sensor value"); Serial.println("'b' brightness sensor value"); Serial.println("'g' GPS position"); Serial.println("'m' microfone noise"); Serial.println("'p' take a picture"); xBee.print(c); i=11; } } } //----------PICTURES----------------------------------------- if(c=='p'){ Serial.println("Take a pictures"); c='6'; xBee.print(c); delay(20); c='p'; Serial.println(); Serial.println("Digit for:"); Serial.println("'o' orientation sensor value"); Serial.println("'a' acceleration sensor value"); Serial.println("'b' brightness sensor value"); Serial.println("'g' GPS position"); Serial.println("'m' microfone noise"); Serial.println("'p' take a picture"); xBee.print(c); } } } } 
Kode Peranda (Slave)C/C++

Kode ini dimuat pada Arduino yang dipasang pada drone, yang akan menyediakan data dari drone ke stasiun tanah. Pertama, Anda perlu mengunduh perpustakaan https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html dan https://1sheeld.com/downloads/

#include <OneSheeld.h> #include<AltSoftSerial.h> char variabile; AltSoftSerial xBee; char master; int voce=0; void setup(){ Serial.begin(115200); Serial.println("Slave ok"); OneSheeld.begin(); xBee.begin(9600); } void loop(){ receiveEvent(); requestEvent(); } void receiveEvent(){ while(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; } if(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("Longitudine: "); xBee.print(GPS.getLongitude()); xBee.print(" Latitudine;: "); xBee.println(GPS.getLatitude()); variabile=0; } if(variabile=='m'){ xBee.print("db: "); xBee.println(Mic.getValue()); variabile=0; } if(variabile=='b'){ xBee.print("Lumen: "); xBee.println(LightSensor.getValue()); variabile=0; } if(variabile=='p'){ Camera.setFlash(ON); Camera.rearCapture(); xBee.println("Pictures taken"); variabile=0; } if(variabile=='1'){ TextToSpeech.say("analysis orientation"); variabile=0; } if(variabile=='2'){ TextToSpeech.say("analysis acceleration "); variabile=0; } if(variabile=='3'){ TextToSpeech.say("analysis brightness intensity"); variabile=0; } if(variabile=='4'){ TextToSpeech.say("analysis GPS position"); variabile=0; } if(variabile=='5'){ TextToSpeech.say("analysis decibel noise"); variabile=0; } if(variabile=='6'){ TextToSpeech.say("Taking a picture"); variabile=0; } if(variabile=='0'){ TextToSpeech.say("analysis stopped"); variabile=0; } } 

Skema Rangkaian

Ini adalah koneksi antara Arduino dan xbee, sama untuk Arduino yang terhubung ke komputer dan Arduino pada drone.

AR Drone 2.0 + 1Sheeld: Streaming Data Penerbangan Real-Time ke PC

Proses manufaktur

  1. Revolusi Cloud: Bagaimana Komputasi Cloud Mengubah IT, Keamanan, dan Karir
  2. Evolusi Industri Warna Global: Pergeseran Ramah Lingkungan, Regulasi Ketat, dan Inovasi Teknologi
  3. Drone Pi: Quadcopter Dual‑Mode Multiwii & Raspberry Pi untuk Kontrol Smartphone dan Remote
  4. Bagaimana Smartphone Mengemban Masa Depan Mobil Terhubung
  5. 6 Cara AI & IoT Merevolusi Operasi Bisnis pada 2019
  6. Wawasan Strategi Edge Computing & IoT dari IoT World 2019
  7. AI Sekarang Memetakan Perdomesan Informal Global dari Satelit Resolusi Rendah
  8. Elbit Systems: Solusi Komposit Terdepan untuk Israel dan AS
  9. Apakah Anda Harus Melapisi Pompa Anda? Menimbang Manfaat dan Kerugian
  10. Menguasai Dokumentasi Pemeliharaan: Pendekatan Terpercaya untuk Melindungi Aset Anda