AR DRONE und 1SHEELD - Entdecke die Welt rund um deine Drohne
Komponenten und Verbrauchsmaterialien
| × | 2 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 2 |
Über dieses Projekt
Unser Projekt sieht die Kontrolle verschiedener Flugdaten vor, die von einem Smartphone aufgezeichnet und in Echtzeit an Ihren PC übertragen werden, wie Beschleunigungssensor, GPS-Position, Geräuschdrohne, Ausrichtung, Gyroskop und mehr.
Wir verwenden zwei Arduino für die Datensteuerung, einen an der Drohne und einen am Computer, zwei xBee, um Remote-Daten des 1sheeld an Ihren PC zu übertragen.
Eine unterhaltsame und einfache Möglichkeit, alle Funktionen und Sensoren des Smartphones zu nutzen und auch ein paar schöne Bilder zu machen;)
Code
- Mastercode
- Sklave
MastercodeC/C++
Dieser Code wird auf Arduino geladen, das mit dem PC verbunden ist, um das Arduino auf der Drohne zu steuernZuerst müssen Sie die Bibliothek herunterladen https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
#includeint verifica=0;AltSoftSerial xBee;char c;char h;char stop='s ';void setup () { Serial.begin (115200); Serial.println ("Master OK"); Serial.println(); Serial.println ( "Ziffer für:"); Serial.println ("'o' Orientierungssensorwert"); Serial.println("'a' Beschleunigungssensorwert"); Serial.println("'b' Helligkeitssensorwert"); Serial.println("'g' GPS-Position"); Serial.println ("'m' Mikrofonrauschen"); Serial.println("'p' mach ein Bild"); xBee.begin (9600);}void loop () { Serial.flush (); if (Seriell.verfügbar()>0) {c =Seriell.read(); if(c=='o'||c=='a'||c=='m'||c=='g'||c=='b'||c=='p'){ //----------Orientierung------------------------------------- ---- Wenn (c =='o') {Serial.println ( "Orientierung"); c='1'; xBee.print(c); for(int i=0; i<10;i++){ delay(20); c='o'; xBee.print(c); mach {h=0; h=xBee.read(); Seriendruck (h); } while(xBee.verfügbar()>0); Verzögerung (100); i=i-1; if(Seriell.verfügbar()>0); if (stop ==Serial.read ()) {Serial.println ( "Analyse gestoppt"); c='0'; Serial.println(); Serial.println ( "Ziffer für:"); Serial.println ("'o' Orientierungssensorwert"); Serial.println("'a' Beschleunigungssensorwert"); Serial.println("'b' Helligkeitssensorwert"); Serial.println("'g' GPS-Position"); Serial.println ("'m' Mikrofonrauschen"); Serial.println("'p' mach ein Foto"); xBee.print(c); i=11; } } } //------------- Beschleunigung ---------------------------------- ------- if (c =='a') {Serial.println ( "Beschleunigung"); c='2'; xBee.print(c); for(int i=0; i<10;i++){ delay(20); c='a'; xBee.print(c); mach {h=0; h=xBee.read(); Seriendruck (h); } while(xBee.verfügbar()>0); Verzögerung (100); i=i-1; if(Seriell.verfügbar()>0); if (stop ==Serial.read ()) {Serial.println ( "Analyse gestoppt"); c='0'; Serial.println(); Serial.println ( "Ziffer für:"); Serial.println ("'o' Orientierungssensorwert"); Serial.println("'a' Beschleunigungssensorwert"); Serial.println("'b' Helligkeitssensorwert"); Serial.println("'g' GPS-Position"); Serial.println ("'m' Mikrofonrauschen"); Serial.println("'p' mach ein Foto"); xBee.print(c); i=11; } } } //------------- Helligkeit ---------------------------------- ------ if (c =='b') {Serial.println ( "Helligkeit"); c='3'; xBee.print(c); for(int i=0; i<10;i++){ delay(20); c='b'; xBee.print(c); mach {h=0; h=xBee.read(); Seriendruck (h); } while(xBee.verfügbar()>0); Verzögerung (50); i=i-1; if(Seriell.verfügbar()>0); if (stop ==Serial.read ()) {Serial.println ( "Analyse gestoppt"); c='0'; Serial.println(); Serial.println ( "Ziffer für:"); Serial.println ("'o' Orientierungssensorwert"); Serial.println("'a' Beschleunigungssensorwert"); Serial.println("'b' Helligkeitssensorwert"); Serial.println("'g' GPS-Position"); Serial.println ("'m' Mikrofonrauschen"); Serial.println("'p' mach ein Foto"); 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); mach {h=0; h=xBee.read(); Seriendruck (h); } while(xBee.verfügbar()>0); Verzögerung (500); i=i-1; if(Seriell.verfügbar()>0); if (stop ==Serial.read ()) {Serial.println ( "Analyse gestoppt"); c='0'; Serial.println(); Serial.println ( "Ziffer für:"); Serial.println ("'o' Orientierungssensorwert"); Serial.println("'a' Beschleunigungssensorwert"); Serial.println("'b' Helligkeitssensorwert"); Serial.println("'g' GPS-Position"); Serial.println ("'m' Mikrofonrauschen"); Serial.println("'p' mach ein Foto"); xBee.print(c); i=11; } } } //---------MIKROFONO--------------------------------- ------- if (c =='m') {Serial.println ( "Mikrofon"); c='5'; xBee.print(c); for(int i=0; i<10;i++){ delay(20); c='m'; xBee.print(c); mach {h=0; h=xBee.read(); Seriendruck (h); } while(xBee.verfügbar()>0); Verzögerung (100); i=i-1; if(Seriell.verfügbar()>0); if (stop ==Serial.read ()) {Serial.println ( "Analyse gestoppt"); c='0'; Serial.println(); Serial.println ( "Ziffer für:"); Serial.println ("'o' Orientierungssensorwert"); Serial.println("'a' Beschleunigungssensorwert"); Serial.println("'b' Helligkeitssensorwert"); Serial.println("'g' GPS-Position"); Serial.println ("'m' Mikrofonrauschen"); Serial.println("'p' mach ein Bild"); xBee.print(c); i=11; } } } //-------------BILDER ---------------------------------- ------- if(c=='p'){Serial.println("Fotos machen"); c='6'; xBee.print(c); Verzögerung (20); c='p'; Serial.println(); Serial.println ( "Ziffer für:"); Serial.println ("'o' Orientierungssensorwert"); Serial.println("'a' Beschleunigungssensorwert"); Serial.println("'b' Helligkeitssensorwert"); Serial.println("'g' GPS-Position"); Serial.println ("'m' Mikrofonrauschen"); Serial.println("'p' mach ein Foto"); xBee.print(c); } } }}
Slave C/C++
Dieser Code ist geladen sull'arduino, der auf der Drohne montiert wird, der die Daten an die Drohne an den Boden weitergibtZuerst müssen Sie die Bibliothek herunterladen https://www.pjrc.com/teensy/td_libs_AltSoftSerial.html
und 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(); variabel=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()); variabel=0; } if(variabile=='a'){xBee.print("Asse x:"); xBee.print (Beschleunigungssensor.getX()); xBee.print("Asse y:"); xBee.print (Beschleunigungssensor.getX()); xBee.print(" Asse z:"); xBee.println (Beschleunigungssensor.getX()); variabel=0; } if(variabile=='g'){xBee.print("Longitudine:"); xBee.print (GPS.getLongitude ()); xBee.print("Latitudine;:"); xBee.println(GPS.getLatitude()); variabel=0; } if(variabile=='m'){xBee.print("db:"); xBee.println(Mic.getValue()); variabel=0; } if(variabile=='b'){xBee.print("Lumen:"); xBee.println (LightSensor.getValue()); variabel=0; } if(variabile=='p'){ Camera.setFlash(ON); Camera.rearCapture(); xBee.println("Bilder aufgenommen"); variabel=0; } if(variabile=='1'){ TextToSpeech.say("Analyseorientierung"); variabel=0; } if(variabile=='2'){ TextToSpeech.say("Analysebeschleunigung"); variabel=0; } if(variabile=='3'){ TextToSpeech.say("Analyse Helligkeitsintensität"); variabel=0; } if(variabile=='4'){ TextToSpeech.say("Analyse der GPS-Position"); variabel=0; } if(variabile=='5'){ TextToSpeech.say("Analyse Dezibelrauschen"); variabel=0; } if(variabile=='6'){ TextToSpeech.say("Foto machen"); variabel=0; } if(variabile=='0'){ TextToSpeech.say("Analyse gestoppt"); variabel=0; }}
Schaltpläne
Dies ist die Verbindung zwischen Arduino und xbee, dasselbe gilt für das Arduino, das mit dem Computer verbunden ist, und das Arduino auf der DrohneHerstellungsprozess
- Cloud und wie sie die IT-Welt verändert
- Realitätsprüfungen der Farbstoffindustrie weltweit
- Der Drohnen-Pi
- Ihr Smartphone und das vernetzte Auto
- 6 Wege, wie KI und IoT Ihre Geschäftswelt 2019 verändern
- The Edge und IoT:Einblicke aus der IoT World 2019
- KI kann jetzt informelle Siedlungen in der Welt erkennen und kartieren
- Im Dienste der Composites-Welt in Israel und den USA
- Die Vor- und Nachteile der Beschichtung Ihrer Pumpe
- Wartungsdokumentation und der größte Eierkorb der Welt