工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

ARドローンと1SHEELD-ドローンの周りの世界を発見する

コンポーネントと消耗品

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

このプロジェクトについて

私たちのプロジェクトでは、スマートフォンによって記録され、加速度センサー、GPS位置、ノイズドローン、向き、ジャイロスコープなど、PCにリアルタイムで送信されるさまざまな飛行データの制御を確認します。

データ制御には2つのArduinoを使用し、1つはドローンにマウントし、もう1つはコンピューターに、2つのxBeeを使用して1sheeldのリモートデータをPCに通信します。

スマートフォンのすべての機能とセンサーを活用し、素敵な写真を撮る楽しくて簡単な方法;)



コード

  • マスターコード
  • スレーブ
マスターコード C / C ++
このコードは、ドローン上のArduinoを制御するために、PCに接続されている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( "マスターOK"); Serial.println(); Serial.println( "Digit for:"); Serial.println( "'o'方向センサー値"); Serial.println( "'a'加速度センサー値"); Serial.println( "'b'輝度センサー値"); Serial.println( "'g' GPS位置"); Serial.println( "'m'マイクロフォンノイズ"); Serial.println( "'p'写真を撮る"); 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'){ // ----------オリエンテーション------------------------------------- ---- 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'方向センサー値"); Serial.println( "'a'加速度センサー値"); Serial.println( "'b'輝度センサー値"); Serial.println( "'g' GPS位置"); Serial.println( "'m'マイクロフォンノイズ"); Serial.println( "'p'写真を撮る"); xBee.print(c); i =11; }}} // ----------加速---------------------------------- ------- 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'方向センサー値"); Serial.println( "'a'加速度センサー値"); Serial.println( "'b'輝度センサー値"); Serial.println( "'g' GPS位置"); Serial.println( "'m'マイクロフォンノイズ"); Serial.println( "'p'写真を撮る"); xBee.print(c); i =11; }}} // ----------明るさ---------------------------------- ------ 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'方向センサー値"); Serial.println( "'a'加速度センサー値"); Serial.println( "'b'輝度センサー値"); Serial.println( "'g' GPS位置"); Serial.println( "'m'マイクロフォンノイズ"); Serial.println( "'p'写真を撮る"); 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'方向センサー値"); Serial.println( "'a'加速度センサー値"); Serial.println( "'b'輝度センサー値"); Serial.println( "'g' GPS位置"); Serial.println( "'m'マイクロフォンノイズ"); Serial.println( "'p'写真を撮る"); 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'方向センサー値"); Serial.println( "'a'加速度センサー値"); Serial.println( "'b'輝度センサー値"); Serial.println( "'g' GPS位置"); Serial.println( "'m'マイクロフォンノイズ"); Serial.println( "'p'写真を撮る"); xBee.print(c); i =11; } } } // - - - - - ピクチャー - - - - - - - - - - - - - - - - - ------- if(c =='p'){Serial.println( "写真を撮る"); c ='6'; xBee.print(c); delay(20); c ='p'; Serial.println(); Serial.println( "Digit for:"); Serial.println( "'o'方向センサー値"); Serial.println( "'a'加速度センサー値"); Serial.println( "'b'輝度センサー値"); Serial.println( "'g' GPS位置"); Serial.println( "'m'マイクロフォンノイズ"); 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( "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());変数=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());変数=0; } if(variabile =='g'){xBee.print( "Longitudine:"); xBee.print(GPS.getLongitude()); xBee.print( "Latitudine;:"); xBee.println(GPS.getLatitude());変数=0; } if(variabile =='m'){xBee.print( "db:"); xBee.println(Mic.getValue());変数=0; } if(variabile =='b'){xBee.print( "Lumen:"); xBee.println(LightSensor.getValue());変数=0; } if(variabile =='p'){Camera.setFlash(ON); Camera.rearCapture(); xBee.println( "撮影した写真");変数=0; } if(variabile =='1'){TextToSpeech.say( "分析方向");変数=0; } if(variabile =='2'){TextToSpeech.say( "分析アクセラレーション");変数=0; } if(variabile =='3'){TextToSpeech.say( "分析輝度強度");変数=0; } if(variabile =='4'){TextToSpeech.say( "analysis GPS position");変数=0; } if(variabile =='5'){TextToSpeech.say( "analysis decibel noise");変数=0; } if(variabile =='6'){TextToSpeech.say( "写真を撮る");変数=0; } if(variabile =='0'){TextToSpeech.say( "分析が停止しました");変数=0; }} 

回路図

これは、Arduinoとxbeeの間の接続であり、コンピューターに接続するArduinoとドローン上のArduinoについても同じです。

製造プロセス

  1. クラウドとそれがITの世界をどのように変えているか
  2. 世界中の染料業界が実施しているリアリティチェック
  3. ドローンパイ
  4. スマートフォンとコネクテッドカー
  5. AIとIoTが2019年にビジネスの世界を変革する6つの方法
  6. エッジとIoT:IoT World2019からの洞察
  7. AIは、世界の非公式な居住地を検出してマッピングできるようになりました
  8. イスラエルと米国でコンポジットの世界にサービスを提供
  9. ポンプのコーティングの長所と短所
  10. メンテナンス ドキュメントと世界最大のエッグ バスケット
  11. ウォータージェット切断機の精度とパフォーマンスの向上