====== Lumière (photon + relais) ======
Ce montage permet de commander un relais pour allumer une lampe de chevet à distance, par l'intermédiaire d'une page web. \\
Attention, ce montage est relié au courant du secteur à 230V, prendre les précautions nécessaires!
===== composants =====
* 1 x particle photon
* 1 x [[http://wiki.seeedstudio.com/Grove-Relay/|module relais grove]]
* 1 x bouton miniature
* 1 x résistance 10k
* 1 x plaque d'essai
* quelques fils de connexion
===== schéma du montage =====
{{:atelier:objet_connecte:photon_relais_grove_bouton_bb_lpl.png?direct&600|}}
===== code photon =====
Le relais est déclenché, soit directement par le bouton pour les tests, soit par une commande envoyée depuis la page web. La fonction interne du photon ''controleLumiere'' communique une valeur de retour à la page web selon l'ordre qu'elle a reçu.
/*
Utilisation d'un relais pour déclencher une lampe de chevet reliée au secteur
Quimper, Dour Ru, 11 oct. 2018, pierre lesporteslogiques.net
particle photon + photon firmware 0.7.0
Code sous licence CC BY-SA 4.0 : https://creativecommons.org/licenses/by-sa/4.0/deed.fr
Le relais peut être déclenché par le bouton du circuit ou par une commande web
*/
int broche_led_interne = D7;
int broche_relais = D4;
int broche_bouton = D0;
boolean lumiere_on = false;
void setup() {
pinMode(broche_led_interne, OUTPUT);
pinMode(broche_relais, OUTPUT);
pinMode(broche_bouton, INPUT);
Particle.function("lumiere", controleLumiere);
}
void loop() {
if (digitalRead(broche_bouton) == HIGH) {
lumiere_on = !lumiere_on;
if (lumiere_on) controleLumiere("on");
else controleLumiere("off");
delay(1000);
}
}
int controleLumiere(String commande) {
if (commande.equalsIgnoreCase("on")) {
digitalWrite(broche_led_interne, HIGH);
digitalWrite(broche_relais, HIGH);
return 1;
}
else if (commande.equalsIgnoreCase("off")) {
digitalWrite(broche_led_interne, LOW);
digitalWrite(broche_relais, LOW);
return 0;
}
return -1;
}
===== code web =====