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

SomfyDuino IO

コンポーネントと消耗品

>
Arduino Nano R3
× 1
フラットケーブル
× 1
Somfy IO Remote
× 1

必要なツールとマシン

>
はんだごて(汎用)

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

アイデア

こんにちは、

リビングルームにローラーシャッターを含めるために、ArduinoNanoを使用してUSBto SomfyIOアダプターを実装しようとしました。元のサプライヤーからクラウドベースのハードウェアを入手することなく、DIYホームオートメーションシステムに接続したかったのです。うまくいきました-シンプルなIOリモコンを使用しました。

必要なもの:

  • Somfy IORemote-GX037を使用しました。
  • USBコネクタを備えたほとんどすべてのArduinoで問題ありませんが、ソフトシリアルでも機能します。
  • きちんと梱包するための7芯フラットケーブルとシュリンクホース。

付属品に応じた配線。リモコンはArduinoを介して電力を供給されます-送信中に約20mAを使用するため、非常に優れているはずです。したがって、必ずバッテリーを取り外してください。

コードについて:

全体の矛盾を例えばに接続したい場合RPiの場合は、Serial.printのすべてのアイテムを削除することを検討してください。Arduinoがリッスンしてシャットダウンするだけの場合は、Arduinoとの通信がはるかに簡単になります。

コマンドの送信方法はコードで説明されています。

楽しんでください-コメントは大歓迎です!

乾杯、

ビョルン

P.S. -私は1チャンネルのリモコンを使用しました。基本的に5チャンネルリモコンと同じレイアウトを使用していますが、一部のパーツ(追加のLEDとして)が欠落しています。 SELECTがトリガーされた場合、別のチャネルにジャンプするのではないかと思います。 1つのチャンネルが機能するようになって良かったので、まだ試していませんが、これは更新し続けます

P.P.S.チェックしたばかり-残念ながら選択ボタンが有効になりました-チャンネルを変更しませんが、リモコンを台無しにすることもありません。

コード

  • シリアルからソムフィへ
SerialからSomfy Arduino
 // SomfyDuino // by Bjoern Foldenauer // 05 / 2017int progPin =8; int upPin =12; int downPin =10; int myPin =11; int selectPin =9; int ledPin =13; boolean upPress =false; boolean downPress =false; boolean myPress =false; boolean progPress =false; boolean selectPress =false; unsigned long holdTime =0; int repeatSend =0; charcomingChar; void setup(){Serial.begin(9600); Serial.println( "SomfyDuino 0.71"); Serial.println( "Bjoern Foldenauer"); Serial.println( "-----"); Serial.println( "次のような単一のシリアル文字を受け取ります:"); Serial.println( "u-UPを押す準備をします"); Serial.println( "d-DOWNを押す準備をします"); Serial.println( "m-Myを押す準備をします"); Serial.println( "p-PROGを押す準備をします"); Serial.println( "s-SELECTを押す準備をします"); Serial.println( "r-送信カウントを1つ増やします"); Serial.println( "任意の数字X-保持時間をX * 100ミリ秒増やします"); Serial.println( "e-実行!定義された(マルチボタン)長押しを実行します"); /erial.println( ""); Serial.println( "例:通常のUP:u5e"); Serial.println( "3秒UP / DOWN:ud9993e"); Serial.println( "5秒PROG:p999995e"); Serial.println( ""); pinMode(progPin、OUTPUT); pinMode(upPin、OUTPUT); pinMode(downPin、OUTPUT); pinMode(myPin、OUTPUT); pinMode(ledPin、OUTPUT); pinMode(selectPin、OUTPUT); digitalWrite(progPin、HIGH); digitalWrite(upPin、HIGH); digitalWrite(downPin、HIGH); digitalWrite(myPin、HIGH); digitalWrite(selectPin、HIGH); digitalWrite(ledPin、LOW);} void loop(){while(Serial.available()==0){delay(50); } //シリアルコマンドが着信するまで待つif(Serial.available()> 0){incomingChar =Serial.read(); Serial.println(incomingChar); if(incomingChar =='u'){upPress =true;} if(incomingChar =='d'){downPress =true;} if(incomingChar =='m'){myPress =true;} if(incomingChar =='p'){progPress =true;} if(incomingChar =='s'){selectPress =true;} if(incomingChar =='1'){holdTime + =100;} if(incomingChar =='2') {holdTime + =200;} if(incomingChar =='3'){holdTime + =300;} if(incomingChar =='4'){holdTime + =400;} if(incomingChar =='5'){holdTime + =500;} if(incomingChar =='6'){holdTime + =600;} if(incomingChar =='7'){holdTime + =700;} if(incomingChar =='8'){holdTime + =800;} if(incomingChar =='9'){holdTime + =900;} if(incomingChar =='r'){repeatSend ++;} if(incomingChar =='e'){somSend();}}} void somSend(){Serial.print( "Pressing:"); for(int i =0; i <=repeatSend; i ++){if(upPress){digitalWrite(upPin、LOW); Serial.print( "up");} if(downPress){digitalWrite(downPin、LOW); Serial.print( "down");} if(myPress){digitalWrite(myPin、LOW); Serial.print( "my");} if(progPress){digitalWrite(progPin、LOW); Serial.print( "prog");} if(selectPress){digitalWrite(selectPin、LOW); Serial.print( "select");} digitalWrite(ledPin、HIGH); Serial.print( "for"); Serial.print(holdTime); Serial.println( "ms"); delay(holdTime); digitalWrite(progPin、HIGH); digitalWrite(upPin、HIGH); digitalWrite(downPin、HIGH); digitalWrite(myPin、HIGH); digitalWrite(selectPin、HIGH); digitalWrite(ledPin、LOW); delay(holdTime); } upPress =false; downPress =false; myPress =false; progPress =false; selectPress =false; holdTime =0; repeatSend =0; Serial.println( "done。");} 

回路図

ドキュメントがありません。


製造プロセス

  1. RaspberryPiを使用した天気のリモートモニタリング
  2. ラズベリーパイユニバーサルリモコン
  3. LIRCなしでRaspberryPiでIRRemoteを使用する
  4. リモート心拍数モニター
  5. Raspberry Pi /ホログラムSMS制御AC電源スイッチ
  6. ROObockey:リモート制御の照準支援ストリートホッケーロボット
  7. クラウドモニタリング、リモートコントロールシステム
  8. リモート生産管理の5つの利点
  9. grpcurl を使用したリモート gRPC
  10. リモート モニタリングの 3 つの主な利点
  11. リモート監視システムへのアップグレード