Somfy

Pour connecter une télécommande Telis RTS Somfy :

15670535858_e024130a51_o 15832227336_4f84ed88f1_o

Souder pour chaque bouton la patte haut droite de chaque, en connectant celle patte à la masse, le bouton est activé.

La masse est en noir sur le schéma, le +3,3v en orange.

La connexion à la carte Arduino se fait via optocoupleur selon le schéma suivant :

20160405_180242-1

2014-11-24 08.39.53

Un exemple de code :

 /////////////////////////////////////////////  
 /// SOMFY   
 // Saisie via le moniteur série des ordres :  
 // Haut - Milieu - Bas  
 ///////////////////////////////////////////  
 #define Haut  2  
 #define Milieu 5  
 #define Bas  6  
 String s_cmd = "";  
 void setup() {  
  // initialize the digital pin as an output.  
  pinMode(Haut, OUTPUT);  
  pinMode(Milieu, OUTPUT);  
  pinMode(Bas, OUTPUT);  
  //-- initialize serial communications and wait for port to open:  
  Serial.begin(9600);  
 }  
 void loop() {   
  keyhandle();  
 }  
 //////////  
 //-- SOMFY Bouton  
 void SomfyOn(int Pin)  
 { digitalWrite(Pin, HIGH);  
  delay(500);  
  digitalWrite(Pin, LOW);  
 }  
 //////////////----------------------------------------  
 // Acquisition de commande via la console ou le port série  
 //----------------------------------------  
 void keyhandle()  
 { int  i_key;  
  i_key = Serial.read();   
  if (i_key == 8 or i_key == 127)  
  {  
   int i_cl = s_cmd.length() - 1;  
   s_cmd = s_cmd.substring(0, i_cl);  
   Serial.write(8); Serial.write(32); Serial.write(8); i_key = 0;  
  }  
  if (i_key > 64 and i_key < 90) {  
   i_key += 32;   
  }  
  if (i_key >= 32) {  
   s_cmd = s_cmd + char(i_key);  
   Serial.write(i_key);  
  }  
  if (i_key == 13) {  
   CLI_exec();  
  }  
 }  
 //----------------------------------------  
 // Traitement des commandes retourne OK ou ERROR  
 //----------------------------------------  
 int CLI_exec()  
 {  
  int i_ret = -1;  
  s_cmd.toUpperCase();  
  if (s_cmd == "BAS")  
  {  
   //-- Switch On  
   Serial.println(" : On baisse le volet");  
   SomfyOn(Bas);  
   i_ret = 0;  
  }  
  if (s_cmd == "HAUT")  
  {  
   //-- Switch On  
   Serial.println(" : On ouvre le volet");  
   SomfyOn(Haut);  
   i_ret = 0;  
  }  
  if (s_cmd == "MILIEU")  
  {  
   //-- Switch On  
   Serial.println(" : Touche milieu");  
   SomfyOn(Milieu);  
   i_ret = 0;  
  }  
  if (i_ret == -1)  
   Serial.println(" : ERROR");  
  else  
   Serial.println("OK");  
  s_cmd = "";  
 }  
2 comments on “Somfy
  1. Nico dit :

    Intéressant, merci. Mais quel type d’optocoupleur avez-vous utilisé? Pourquoi ne pas utiliser le 3.3V de l’Arduino pour se passer de la pile de la télécommande?

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Articles récents
Commentaires récents
fatima sur Bienvenue !
AdminDroid sur Bienvenue !
fatima sur Bienvenue !
Archives
Catégories
%d blogueurs aiment cette page :