Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

SomfyDuino IO

Komponen dan persediaan

Arduino Nano R3
× 1
Kabel Datar
× 1
Somfy IO Remote
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)

Tentang proyek ini

Ide

Halo,

Saya baru saja mencoba menerapkan Adaptor USB ke Somfy IO dengan Arduino Nano untuk memasukkan penutup jendela saya di ruang tamu. Saya ingin terhubung ke sistem otomatisasi rumah DIY saya tanpa harus mendapatkan perangkat keras berbasis cloud dari pemasok asli - dan hei! ITU BEKERJA - hanya menggunakan remote IO sederhana.

Anda membutuhkan:

  • Remote Somfy IO - Saya menggunakan GX037.
  • Hampir semua Arduino dengan konektor USB bisa digunakan - tapi soft serial juga bisa.
  • Kabel datar tujuh inti dan selang susut untuk pengemasan yang rapi.

Pengkabelan sesuai dengan lampiran. Remote ditenagai melalui Arduino - menggunakan sekitar 20mA saat mengirim, jadi Anda akan baik-baik saja. Jadi, pastikan Anda melepas baterai.

Tentang kode:

Jika Anda ingin menghubungkan seluruh alat ke mis. a RPi, Anda mungkin ingin mempertimbangkan untuk menghapus semua item Serial.print - jauh lebih mudah untuk berkomunikasi dengan Arduino jika hanya mendengarkan dan menutup.

Cara mengirim perintah dijelaskan dalam kode.

Bersenang-senang - komentar dipersilakan!

Salam,

Bjoern

P.S. - Saya menggunakan remote satu saluran. Ini pada dasarnya menggunakan tata letak yang sama dengan remote 5 saluran, tetapi beberapa bagian (sebagai LED tambahan) hilang. Saya ingin tahu apakah itu akan melompat ke saluran yang berbeda jika SELECT dipicu. Saya belum mencoba karena saya senang saya memiliki satu saluran yang berfungsi, tetapi saya akan terus memperbaruinya

P.P.S. baru saja dicentang - sayangnya tombol pilih sekarang berpengaruh - tidak akan mengubah saluran tetapi juga tidak akan mengacaukan remote.

Kode

  • Serial untuk Somfy
Serial ke SomfyArduino
// SomfyDuino// oleh 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;char incomingChar;void setup() { Serial.begin(9600); Serial.println("SomfyDuino 0.71"); Serial.println("Bjoern Foldenauer"); Serial.println("-----"); Serial.println("menerima satu karakter serial seperti:"); Serial.println("u - bersiap untuk menekan ATAS"); Serial.println("d - bersiap tekan BAWAH"); Serial.println("m - bersiap untuk menekan Saya"); Serial.println("p - bersiap untuk menekan PROG"); Serial.println("s - bersiap untuk menekan SELECT"); Serial.println("r - menambah jumlah pengiriman satu per satu"); Serial.println("setiap digit X - tambah waktu penahanan sebesar X*100 ms"); Serial.println("e - Jalankan! Jalankan (multi tombol) yang ditentukan, tekan dan tahan"); /erial.println(""); Serial.println("Contoh:UP biasa:u5e "); Serial.println(" ATAS/BAWAH 3 detik:ud9993e "); Serial.println(" PROG 5 detik:p999995e "); Serial.println(""); pinMode(progPin, OUTPUT); pinMode(upPin, OUTPUT); pinMode(Pin bawah, OUTPUT); pinMode(pinsaya, OUTPUT); pinMode(ledPin, OUTPUT); pinMode(pilihPin, OUTPUT); digitalWrite(progPin, TINGGI); digitalWrite(upPin, TINGGI); digitalWrite(downPin, TINGGI); digitalWrite(myPin, TINGGI); digitalWrite(pilihPin, TINGGI); digitalWrite(ledPin, LOW);}void loop() { while (Serial.available() ==0) { delay(50); } // tunggu sampai perintah serial masuk if (Serial.available()> 0) {incomingChar =Serial.read(); Serial.println(Char masuk); 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("Menekan:"); for(int i=0; i <=repeatSend; i++) { if (upPress) {digitalWrite(upPin, LOW); Serial.print("naik ");} if (tekanan bawah) {digitalWrite(downPin, RENDAH); Serial.print("down ");} if (myPress) {digitalWrite(myPin, LOW); Serial.print("my ");} if (progPress) {digitalWrite(progPin, RENDAH); Serial.print("prog ");} if (pilihTekan) {digitalWrite(pilihPin, RENDAH); Serial.print("pilih ");} digitalWrite(ledPin, TINGGI); Serial.print("untuk "); Serial.print(holdTime); Serial.println("ms"); tunda (holdTime); digitalWrite(progPin, TINGGI); digitalWrite(upPin, TINGGI); digitalWrite(downPin, TINGGI); digitalWrite(myPin, TINGGI); digitalWrite(pilihPin, TINGGI); digitalWrite(ledPin, RENDAH); tunda (holdTime); } atasTekan =salah; downPress =salah; myPress =salah; progPress =salah; pilihTekan =salah; waktu tahan =0; ulangiKirim =0; Serial.println("selesai.");}

Skema

Tidak ada dokumen.


Proses manufaktur

  1. Pemantauan Cuaca Jarak Jauh Menggunakan Raspberry Pi
  2. Raspberry Pi Universal Remote
  3. Menggunakan IR Remote dengan Raspberry Pi tanpa LIRC
  4. Monitor Detak Jantung Jarak Jauh
  5. Raspberry Pi / Hologram SMS Sakelar Daya AC Terkendali
  6. ROObockey:Robot Hoki Jalanan yang Dikendalikan dari Jarak Jauh
  7. Pemantauan awan, sistem kendali jarak jauh
  8. 5 keuntungan dari kendali produksi jarak jauh
  9. GRPC jarak jauh menggunakan grpcurl
  10. 3 Manfaat Utama Pemantauan Jarak Jauh