Bonjours je voudrais savoir comment je peux faire pour commander des relais pour un petit projet domotique ...
je vous explique, j'ai un serveur sous ubuntu-server je voudrais y connecter mon arduino uno par usb et le commander via prossesing genre:
un clic sur un bouton de la page web
le serveur le communique a l'arduino
l'arduino active le relais (un certain temps)
mon code fonctionne sous win7 qd j'apuie sur la touche "6" la led de la borne 6 s'allume etc...
mais je ne sait pas comment faire sous linux
avez vous une idée ???
merci d'avance
voila mon code tout dégueu (je ne m'is connais pas du tout )
int incomingByte = 0; // variable pour lecture de l'octet entrant
int relais1 = 6; // Monté
int relais2 = 7; // Descente
int relais3 = 8;
int relais4 = 9;
int relais5 = 10;
int relais6 = 11;
int relais7 = 12;
int relais8 = 13;
void setup() {
Serial.begin(9600); // ouvre le port série et fixe le débit à 9600 bauds
pinMode(relais1, OUTPUT);
pinMode(relais2, OUTPUT);
pinMode(relais3, OUTPUT);
pinMode(relais4, OUTPUT);
pinMode(relais5, OUTPUT);
pinMode(relais6, OUTPUT);
pinMode(relais7, OUTPUT);
pinMode(relais8, OUTPUT);
}
/// Allume la LED, en affichant un message
void led_on1() {
Serial.println("J'allume la LED1");
digitalWrite(relais1, HIGH); // set the LED on
}
/// Eteint la LED, en affichant un message
void led_off1() {
Serial.println("J'éteins la LED1");
digitalWrite(relais1, LOW); // set the LED off
}
/// Allume la LED, en affichant un message
void led_on2() {
Serial.println("J'allume la LED2");
digitalWrite(relais2, HIGH); // set the LED on
}
/// Eteint la LED, en affichant un message
void led_off2() {
Serial.println("J'éteins la LED2");
digitalWrite(relais2, LOW); // set the LED off
}
/// Allume la LED, en affichant un message
void led_on3() {
Serial.println("J'allume la LED3");
digitalWrite(relais3, HIGH); // set the LED on
}
/// Eteint la LED, en affichant un message
void led_off3() {
Serial.println("J'éteins la LED3");
digitalWrite(relais3, LOW); // set the LED off
}
/// Allume la LED, en affichant un message
void led_on4() {
Serial.println("J'allume la LED4");
digitalWrite(relais4, HIGH); // set the LED on
}
/// Eteint la LED, en affichant un message
void led_off4() {
Serial.println("J'éteins la LED4");
digitalWrite(relais4, LOW); // set the LED off
}
/// Allume la LED, en affichant un message
void led_on5() {
Serial.println("J'allume la LED5");
digitalWrite(relais5, HIGH); // set the LED on
}
/// Eteint la LED, en affichant un message
void led_off5() {
Serial.println("J'éteins la LED5");
digitalWrite(relais5, LOW); // set the LED off
}
/// Allume la LED, en affichant un message
void led_on6() {
Serial.println("J'allume la LED6");
digitalWrite(relais6, HIGH); // set the LED on
}
/// Eteint la LED, en affichant un message
void led_off6() {
Serial.println("J'éteins la LED6");
digitalWrite(relais6, LOW); // set the LED off
}
/// Allume la LED, en affichant un message
void led_on7() {
Serial.println("J'allume la LED7");
digitalWrite(relais7, HIGH); // set the LED on
}
/// Eteint la LED, en affichant un message
void led_off7() {
Serial.println("J'éteins la LED7");
digitalWrite(relais7, LOW); // set the LED off
}
/// Allume la LED, en affichant un message
void led_on8() {
Serial.println("J'allume la LED8");
digitalWrite(relais8, HIGH); // set the LED on
}
/// Eteint la LED, en affichant un message
void led_off8() {
Serial.println("J'éteins la LED8");
digitalWrite(relais8, LOW); // set the LED off
}
void loop() {
char cmd;
//relais1
//commande de volet relais actif pendant 10sec seulement
//Monter
if (Serial.available()>0) { // au moins 1 caractère entré ?
cmd = Serial.read(); // lit un caractère
switch(cmd) {
case '6': // volet droit monte je tape 6 ds le moniteur serie
led_on1(); //active le relais la led de la borne 6 s'allume
delay(20000); //patiente 20seconde que le volet soit haut j'attend 20sec
led_off1(); //arrete le relais la led s'eteind
break; // sortie du switch{}
case '7': //volet droit descend
led_on2(); //active le relais
delay(20000); //patiente 20seconde que le volet soit haut
led_off2(); //arrete le relais
break;
case '8': // volet gauche monte
led_on3(); //active le relais
delay(20000); //patiente 20seconde que le volet soit haut
led_off3(); //arrete le relais
break;
case '9': // volet gauche descend
led_on4(); //active le relais
delay(20000); //patiente 20seconde que le volet soit haut
led_off4(); //arrete le relais
break;
case '10': // volet sdb monte
led_on5(); //active le relais
delay(20000); //patiente 20seconde que le volet soit haut
led_off5(); //arrete le relais
break;
case '11': // volet sdb descend
led_on6(); //active le relais
delay(20000); //patiente 20seconde que le volet soit haut
led_off6(); //arrete le relais
break; // sortie du switch{}
case '12': // volet droit monte
led_on7(); //active le relais
delay(20000); //patiente 20seconde que le volet soit haut
led_off7(); //arrete le relais
break;
case '13': // volet droit monte
led_on8(); //active le relais
delay(20000); //patiente 20seconde que le volet soit haut
led_off8(); //arrete le relais
break;
}
}
}