Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

AR DRONE y 1SHEELD:descubre el mundo que rodea a tu dron

Componentes y suministros

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

Acerca de este proyecto

Nuestro proyecto ve el control de varios datos de vuelo registrados por un teléfono inteligente y transmitidos en tiempo real a su PC, como el sensor de acelerómetro, la posición del gps, el ruido del dron, la orientación, el giroscopio y más.

Usamos dos Arduino para el control de datos, uno montado en el dron y otro en la computadora, dos xBee para comunicar datos remotos del 1sheeld a su PC.

Una forma divertida y fácil de aprovechar todas las funciones y sensores del teléfono inteligente, y también de tomar algunas fotos bonitas;)



Código

  • Código maestro
  • Esclavo
Código maestro C / C ++
Este código se carga en arduino que se conecta a la PC, para controlar el Arduino en drone
primero debe descargar la biblioteca 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 ("Maestro OK"); Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor del sensor de orientación 'o'"); Serial.println ("'a' valor del sensor de aceleración"); Serial.println ("valor del sensor de brillo 'b'"); Serial.println ("'g' posición GPS"); Serial.println ("'m' ruido de microfono"); Serial.println ("'p' tomar una foto"); xBee.begin (9600);} bucle vacío () {Serial.flush (); if (Serial.available ()> 0) {c =Serial.read (); if (c =='o' || c =='a' || c =='m' || c =='g' || c =='b' || c =='p') { // ---------- Orientación ------------------------------------- ---- if (c =='o') {Serial.println ("Orientación"); c ='1'; xBee.print (c); para (int i =0; i <10; i ++) {retraso (20); c ='o'; xBee.print (c); hacer {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); retraso (100); i =i-1; if (Serial.available ()> 0); if (detener ==Serial.read ()) {Serial.println ("Análisis detenido"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor del sensor de orientación 'o'"); Serial.println ("'a' valor del sensor de aceleración"); Serial.println ("valor del sensor de brillo 'b'"); Serial.println ("'g' posición GPS"); Serial.println ("'m' ruido de microfono"); Serial.println ("'p' tomar una foto"); xBee.print (c); i =11; }}} // ---------- Aceleración ---------------------------------- ------- if (c =='a') {Serial.println ("Aceleración"); c ='2'; xBee.print (c); para (int i =0; i <10; i ++) {retraso (20); c ='a'; xBee.print (c); hacer {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); retraso (100); i =i-1; if (Serial.available ()> 0); if (detener ==Serial.read ()) {Serial.println ("Análisis detenido"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor del sensor de orientación 'o'"); Serial.println ("'a' valor del sensor de aceleración"); Serial.println ("valor del sensor de brillo 'b'"); Serial.println ("'g' posición GPS"); Serial.println ("'m' ruido de microfono"); Serial.println ("'p' tomar una foto"); xBee.print (c); i =11; }}} // ---------- Brillo ---------------------------------- ------ if (c =='b') {Serial.println ("Brillo"); c ='3'; xBee.print (c); para (int i =0; i <10; i ++) {retraso (20); c ='b'; xBee.print (c); hacer {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); retraso (50); i =i-1; if (Serial.available ()> 0); if (detener ==Serial.read ()) {Serial.println ("Análisis detenido"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor del sensor de orientación 'o'"); Serial.println ("'a' valor del sensor de aceleración"); Serial.println ("valor del sensor de brillo 'b'"); Serial.println ("'g' posición GPS"); Serial.println ("'m' ruido de microfono"); Serial.println ("'p' tomar una foto"); xBee.print (c); i =11; } } } //----------GPS---------------------------------- ------- if (c =='g') {Serial.println ("Posición GPS '"); c ='4'; xBee.print (c); para (int i =0; i <10; i ++) {retraso (20); c ='g'; xBee.print (c); hacer {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); retraso (500); i =i-1; if (Serial.available ()> 0); if (detener ==Serial.read ()) {Serial.println ("Análisis detenido"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor del sensor de orientación 'o'"); Serial.println ("'a' valor del sensor de aceleración"); Serial.println ("valor del sensor de brillo 'b'"); Serial.println ("'g' posición GPS"); Serial.println ("'m' ruido de microfono"); Serial.println ("'p' tomar una foto"); xBee.print (c); i =11; }}} // ---------- MICROFONO ---------------------------------- ------- if (c =='m') {Serial.println ("Micrófono"); c ='5'; xBee.print (c); para (int i =0; i <10; i ++) {retraso (20); c ='m'; xBee.print (c); hacer {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); retraso (100); i =i-1; if (Serial.available ()> 0); if (detener ==Serial.read ()) {Serial.println ("Análisis detenido"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor del sensor de orientación 'o'"); Serial.println ("'a' valor del sensor de aceleración"); Serial.println ("valor del sensor de brillo 'b'"); Serial.println ("'g' posición GPS"); Serial.println ("'m' ruido de microfono"); Serial.println ("'p' tomar una foto"); xBee.print (c); i =11; } } } //----------FOTOS---------------------------------- ------- if (c =='p') {Serial.println ("Tomar una foto"); c ='6'; xBee.print (c); retraso (20); c ='p'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor del sensor de orientación 'o'"); Serial.println ("'a' valor del sensor de aceleración"); Serial.println ("valor del sensor de brillo 'b'"); Serial.println ("'g' posición GPS"); Serial.println ("'m' ruido de microfono"); Serial.println ("'p' tomar una foto"); xBee.print (c); }}}} 
Esclavo C / C ++
Este código se carga sull'arduino que se monta en el dron, que proporcionará los datos al dron al suelo.
primero necesita descargar la biblioteca https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
y http://1sheeld.com/downloads/
#include  #include  char variabile; AltSoftSerial xBee; char master; int voce =0; void setup () {Serial.begin (115200); Serial.println ("Esclavo ok"); OneSheeld.begin (); xBee.begin (9600);} bucle vacío () {eventoRecibir (); requestEvent ();} void receiveEvent () {while (xBee.available ()> 0) {master =xBee.read (); variabile =maestro; }} 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 ("Fotografías tomadas"); variabile =0; } if (variabile =='1') {TextToSpeech.say ("orientación del análisis"); variabile =0; } if (variabile =='2') {TextToSpeech.say ("aceleración del análisis"); variabile =0; } if (variabile =='3') {TextToSpeech.say ("intensidad de brillo del análisis"); variabile =0; } if (variabile =='4') {TextToSpeech.say ("análisis de posición GPS"); variabile =0; } if (variabile =='5') {TextToSpeech.say ("análisis de ruido de decibelios"); variabile =0; } if (variabile =='6') {TextToSpeech.say ("Tomando una foto"); variabile =0; } if (variabile =='0') {TextToSpeech.say ("análisis detenido"); variabile =0; }} 

Esquemas

Esta es la conexión entre Arduino y xbee, lo mismo para el Arduino que se conecta a la computadora y el Arduino en drone

Proceso de manufactura

  1. La nube y cómo está cambiando el mundo de las TI
  2. Comprobaciones de la realidad realizadas por la industria de tintes en todo el mundo
  3. El Drone Pi
  4. Su teléfono inteligente y el automóvil conectado
  5. 6 formas en que la IA y la IoT están transformando su mundo empresarial en 2019
  6. The Edge and IoT:Insights from IoT World 2019
  7. La IA ahora puede detectar y mapear asentamientos informales en el mundo
  8. Al servicio del mundo de los compuestos en Israel y los EE. UU.
  9. Pros y contras de recubrir su bomba
  10. Documentación de mantenimiento y la canasta de huevos más grande del mundo
  11. Mejorar la precisión y el rendimiento de su máquina de corte por chorro de agua