Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

SomfyDuino IO

Composants et fournitures

Arduino Nano R3
× 1
Câble plat
× 1
Somfy IO Remote
× 1

Outils et machines nécessaires

Fer à souder (générique)

À propos de ce projet

Idéation

Bonjour,

Je viens d'essayer d'implémenter un adaptateur USB vers Somfy IO avec un Arduino Nano pour inclure mes volets roulants dans le salon. Je voulais me connecter à mon système domotique de bricolage sans avoir à obtenir de matériel basé sur le cloud auprès du fournisseur d'origine - et hé ! ÇA FONCTIONNE - en utilisant juste une simple télécommande IO.

Vous avez besoin de :

  • Une télécommande Somfy IO - J'ai utilisé le GX037.
  • Presque n'importe quel Arduino avec un connecteur USB fera l'affaire - mais la série logicielle fonctionne également.
  • Un câble plat à sept conducteurs et un tuyau thermorétractable pour un emballage soigné.

Câblage selon les pièces jointes. La télécommande est alimentée par l'Arduino - elle utilise environ 20 mA lors de l'envoi, vous devriez donc aller très bien. Assurez-vous donc de retirer la batterie.

Concernant le code :

Si vous souhaitez connecter l'ensemble de l'engin à, par ex. un RPi, vous voudrez peut-être envisager de supprimer tous les éléments Serial.print - il est beaucoup plus facile de communiquer avec l'Arduino s'il écoute et se tait.

Comment envoyer des commandes est expliqué dans le code.

Amusez-vous bien - les commentaires sont les bienvenus !

Salut,

Björn

P.S. - J'ai utilisé une télécommande à un canal. Il utilise essentiellement la même disposition que la télécommande à 5 canaux, mais certaines parties (comme les LED supplémentaires) sont manquantes. Je me demande s'il passera à différents canaux si SELECT est déclenché. Je n'ai pas encore essayé parce que j'étais juste content d'avoir une chaîne qui fonctionne, mais je garderai cela à jour

P.P.S. Je viens de vérifier - le bouton de sélection a malheureusement maintenant un effet - ne changera pas de chaîne mais ne bousillera pas non plus la télécommande.

Code

  • Série vers Somfy
Série vers SomfyArduino
// SomfyDuino// par 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 entrantChar;void setup() { Serial.begin(9600); Serial.println("SomfyDuino 0.71"); Serial.println("Bjoern Foldenauer"); Serial.println("-----"); Serial.println("reçoit des caractères de série uniques comme :"); Serial.println("u - préparez-vous à appuyer sur UP"); Serial.println("d - préparez-vous à appuyer sur DOWN"); Serial.println("m - préparez-vous à appuyer sur My"); Serial.println("p - préparez-vous à appuyer sur PROG"); Serial.println("s - préparez-vous à appuyer sur SELECT"); Serial.println("r - augmente le nombre d'envois d'un"); Serial.println("n'importe quel chiffre X - augmente le temps de maintien de X*100 ms"); Serial.println("e - Execute! Exécute une pression définie (multibouton) et maintenez-la enfoncée"); /erial.println(""); Serial.println("Exemple :normal UP :u5e "); Serial.println(" 3 secondes HAUT/BAS :ud9993e "); Serial.println(" 5 secondes PROG :p999995e "); Serial.println(""); pinMode(progPin, SORTIE); pinMode(upPin, SORTIE); pinMode(downPin, SORTIE); pinMode(monPin, SORTIE); pinMode(ledPin, SORTIE); pinMode(selectPin, OUTPUT); digitalWrite(progPin, HAUT); digitalWrite (upPin, HAUT); digitalWrite (downPin, HAUT); digitalWrite(myPin, HIGH); digitalWrite(selectPin, HIGH); digitalWrite(ledPin, LOW);}void loop() { while (Serial.available() ==0) { delay(50); } // attend jusqu'à ce que la commande série arrive if (Serial.available()> 0) {comingChar =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("Appuyant :"); 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("mon ");} if (progPress) {digitalWrite(progPin, LOW); Serial.print("prog ");} if (selectPress) {digitalWrite(selectPin, LOW); Serial.print("select ");} digitalWrite(ledPin, HIGH); Serial.print("pour "); Serial.print(holdTime); Serial.println("ms"); retard(holdTime); digitalWrite(progPin, HAUT); digitalWrite (upPin, HAUT); digitalWrite (downPin, HAUT); digitalWrite(myPin, HIGH); digitalWrite(selectPin, HIGH); digitalWrite(ledPin, LOW); retard(holdTime); } upPress =false; downPress =false; maPresse =faux ; progPress =false; selectPress =false; temps de maintien =0 ; répéterEnvoi =0 ; Serial.println("fait.");}

Schémas

Aucun document.


Processus de fabrication

  1. Surveillance à distance de la météo à l'aide de Raspberry Pi
  2. Télécommande universelle Raspberry Pi
  3. Utilisation de la télécommande infrarouge avec Raspberry Pi sans LIRC
  4. Moniteur de fréquence cardiaque à distance
  5. Interrupteur d'alimentation AC contrôlé par SMS Raspberry Pi/Hologram
  6. ROObockey :robot de hockey de rue télécommandé et assisté
  7. Cloud monitoring, un système de contrôle à distance
  8. 5 avantages du contrôle de production à distance
  9. Mises à niveau des systèmes de surveillance à distance