Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

AR DRONE e 1SHEELD - Descubra o mundo ao redor de seu drone

Componentes e suprimentos

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

Sobre este projeto


Nosso projeto vê o controle de diversos dados de vôo gravados por um smartphone e transmitidos em tempo real para o seu pc, como sensor acelerômetro, posição gps, drone de ruído, orientação, giroscópio e muito mais.

Usamos dois Arduino para controle de dados, um montado no drone e outro no computador, dois xBee para comunicar dados remotos do 1sheeld para o seu pc.

Uma maneira divertida e fácil de aproveitar todos os recursos e sensores do smartphone, e também de tirar lindas fotos;)






Código

  • Código Mestre
  • Escravo
Código Mestre C / C ++
Este código é carregado no Arduino que se conecta ao PC, para controlar o Arduino no drone
primeiro você precisa baixar a 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 ("Master OK"); Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor do sensor de orientação 'o'"); Serial.println ("'um' valor do sensor de aceleração"); Serial.println ("'b' valor do sensor de brilho"); Serial.println ("'g' posição GPS"); Serial.println ("'m' ruído do microfone"); Serial.println ("'p' tirar uma foto"); 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 ("Orientamento"); c ='1'; xBee.print (c); para (int i =0; i <10; i ++) {atraso (20); c ='o'; xBee.print (c); faça {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); atraso (100); i =i-1; if (Serial.available ()> 0); if (parar ==Serial.read ()) {Serial.println ("Análise interrompida"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor do sensor de orientação 'o'"); Serial.println ("'um' valor do sensor de aceleração"); Serial.println ("'b' valor do sensor de brilho"); Serial.println ("'g' posição GPS"); Serial.println ("'m' ruído do microfone"); Serial.println ("'p' tirar uma foto"); xBee.print (c); i =11; } } } //----------Aceleração---------------------------------- ------- if (c =='a') {Serial.println ("Aceleração"); c ='2'; xBee.print (c); para (int i =0; i <10; i ++) {atraso (20); c ='a'; xBee.print (c); faça {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); atraso (100); i =i-1; if (Serial.available ()> 0); if (parar ==Serial.read ()) {Serial.println ("Análise interrompida"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor do sensor de orientação 'o'"); Serial.println ("'um' valor do sensor de aceleração"); Serial.println ("'b' valor do sensor de brilho"); Serial.println ("'g' posição GPS"); Serial.println ("'m' ruído do microfone"); Serial.println ("'p' tirar uma foto"); xBee.print (c); i =11; } } } //----------Brilho---------------------------------- ------ if (c =='b') {Serial.println ("Brilho"); c ='3'; xBee.print (c); para (int i =0; i <10; i ++) {atraso (20); c ='b'; xBee.print (c); faça {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); atraso (50); i =i-1; if (Serial.available ()> 0); if (parar ==Serial.read ()) {Serial.println ("Análise interrompida"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor do sensor de orientação 'o'"); Serial.println ("'um' valor do sensor de aceleração"); Serial.println ("'b' valor do sensor de brilho"); Serial.println ("'g' posição GPS"); Serial.println ("'m' ruído do microfone"); Serial.println ("'p' tirar uma foto"); xBee.print (c); i =11; } } } //----------GPS---------------------------------- ------- if (c =='g') {Serial.println ("Posizione GPS '"); c ='4'; xBee.print (c); para (int i =0; i <10; i ++) {atraso (20); c ='g'; xBee.print (c); faça {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); atraso (500); i =i-1; if (Serial.available ()> 0); if (parar ==Serial.read ()) {Serial.println ("Análise interrompida"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor do sensor de orientação 'o'"); Serial.println ("'um' valor do sensor de aceleração"); Serial.println ("'b' valor do sensor de brilho"); Serial.println ("'g' posição GPS"); Serial.println ("'m' ruído do microfone"); Serial.println ("'p' tirar uma foto"); xBee.print (c); i =11; }}} // ---------- MICROFONO ---------------------------------- ------- if (c =='m') {Serial.println ("Microfone"); c ='5'; xBee.print (c); para (int i =0; i <10; i ++) {atraso (20); c ='m'; xBee.print (c); faça {h =0; h =xBee.read (); Serial.print (h); } while (xBee.available ()> 0); atraso (100); i =i-1; if (Serial.available ()> 0); if (parar ==Serial.read ()) {Serial.println ("Análise interrompida"); c ='0'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor do sensor de orientação 'o'"); Serial.println ("'um' valor do sensor de aceleração"); Serial.println ("'b' valor do sensor de brilho"); Serial.println ("'g' posição GPS"); Serial.println ("'m' ruído do microfone"); Serial.println ("'p' tirar uma foto"); xBee.print (c); i =11; } } } //----------AS FOTOS---------------------------------- ------- if (c =='p') {Serial.println ("Tirar fotos"); c ='6'; xBee.print (c); atraso (20); c ='p'; Serial.println (); Serial.println ("Dígito para:"); Serial.println ("valor do sensor de orientação 'o'"); Serial.println ("'um' valor do sensor de aceleração"); Serial.println ("'b' valor do sensor de brilho"); Serial.println ("'g' posição GPS"); Serial.println ("'m' ruído do microfone"); Serial.println ("'p' tirar uma foto"); xBee.print (c); }}}} 
Escravo C / C ++
Este código é carregado sull'arduino que monta no drone, que irá fornecer os dados do drone para o solo
primeiro você precisa baixar a biblioteca https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
e http://1sheeld.com/downloads/
#include  #include  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 =mestre; }} 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 ()); variabilidade =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 ()); variabilidade =0; } if (variabile =='g') {xBee.print ("Longitudine:"); xBee.print (GPS.getLongitude ()); xBee.print ("Latitudine;:"); xBee.println (GPS.getLatitude ()); variabilidade =0; } if (variabile =='m') {xBee.print ("db:"); xBee.println (Mic.getValue ()); variabilidade =0; } if (variabile =='b') {xBee.print ("Lúmen:"); xBee.println (LightSensor.getValue ()); variabilidade =0; } if (variabile =='p') {Camera.setFlash (ON); Camera.rearCapture (); xBee.println ("Fotos tiradas"); variabilidade =0; } if (variabile =='1') {TextToSpeech.say ("orientação de análise"); variabilidade =0; } if (variabile =='2') {TextToSpeech.say ("aceleração de análise"); variabilidade =0; } if (variabile =='3') {TextToSpeech.say ("intensidade de brilho de análise"); variabilidade =0; } if (variabile =='4') {TextToSpeech.say ("análise da posição GPS"); variabilidade =0; } if (variabile =='5') {TextToSpeech.say ("análise de ruído em decibéis"); variabilidade =0; } if (variabile =='6') {TextToSpeech.say ("Tirando uma foto"); variabilidade =0; } if (variabile =='0') {TextToSpeech.say ("análise interrompida"); variabilidade =0; }} 

Esquemas

Essa é a conexão entre o Arduino e o xbee, mesmo para o Arduino que se conecta ao computador e o Arduino no drone

Processo de manufatura

  1. Nuvem e como ela está mudando o mundo da TI
  2. Testes de realidade sofridos pela indústria de tinturas em todo o mundo
  3. O Drone Pi
  4. Seu smartphone e o carro conectado
  5. 6 maneiras pelas quais IA e IoT estão transformando seu mundo de negócios em 2019
  6. The Edge e IoT:Insights do IoT World 2019
  7. AI agora pode detectar e mapear assentamentos informais no mundo
  8. Atendendo ao mundo dos compósitos em Israel e nos EUA
  9. Os prós e contras de revestir sua bomba
  10. Documentação de manutenção e a maior cesta de ovos do mundo