"Convertir" la fermeture d'un interrupteur en une impulsion
Modérateurs : Francois, smba38
-
- Raspinaute
- Messages : 1585
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
Et pourquoi ne pas simplement utiliser une sonde 1-wire bouton ?
Je n'ai jamais essayé, mais c'est pile poile ce qu'elle est sensée faire
Je n'ai jamais essayé, mais c'est pile poile ce qu'elle est sensée faire
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
-
- Messages : 38
- Enregistré le : lun. 3 nov. 2014 14:04
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
bonjour merci pour tous ces retour
Que voulez vous dire par une sonde 1-wire bouton ?
Le montage utilise déja un e sonde ds18b20 1-wire qui mesure la température du jus dans la bouteille,
elle est reliée a la carte esp-01 sur le GPIO2 !!! si c'est de la même chose que l'on parle!
l'objectif est de faire passer la carte esp-01 de l'état de"veille" a "actif" l'orsquelle entre dans le tunnel de pasteurisation (douche d'eau a 55°puis 65° puis 80°)
Voici pourquoi je pensé incorporer dans le bocal ou ce trouve la carte esp un inter thermique "mécanique" tous ceci afin d'économiser les batteries et de connaitre précisément l'heure de début (traçabilité oblige....)
Merci pour le schemat mais je bloc...encor quelque questions.
Pourquoi 2 résistances en série ?
1 résistance 10 Kohms http://www.gotronic.fr/art-resistance-c ... 6-2760.htm
quel valeur pour la 2eme?
D? est bien une diode 1n4148 http://www.gotronic.fr/art-1n4148-7.htm
le pin ch_pd est alimenté par une résistance 2kohms je la place entre les diodes et le pin ?
Excuser moi pour ces questions un peu... mais la panoplie de matériel est tellement vaste que je mi perd....
Que voulez vous dire par une sonde 1-wire bouton ?
Le montage utilise déja un e sonde ds18b20 1-wire qui mesure la température du jus dans la bouteille,
elle est reliée a la carte esp-01 sur le GPIO2 !!! si c'est de la même chose que l'on parle!
l'objectif est de faire passer la carte esp-01 de l'état de"veille" a "actif" l'orsquelle entre dans le tunnel de pasteurisation (douche d'eau a 55°puis 65° puis 80°)
Voici pourquoi je pensé incorporer dans le bocal ou ce trouve la carte esp un inter thermique "mécanique" tous ceci afin d'économiser les batteries et de connaitre précisément l'heure de début (traçabilité oblige....)
Merci pour le schemat mais je bloc...encor quelque questions.
Pourquoi 2 résistances en série ?
1 résistance 10 Kohms http://www.gotronic.fr/art-resistance-c ... 6-2760.htm
quel valeur pour la 2eme?
D? est bien une diode 1n4148 http://www.gotronic.fr/art-1n4148-7.htm
le pin ch_pd est alimenté par une résistance 2kohms je la place entre les diodes et le pin ?
Excuser moi pour ces questions un peu... mais la panoplie de matériel est tellement vaste que je mi perd....
-
- Raspinaute
- Messages : 629
- Enregistré le : mar. 6 janv. 2015 19:44
- Localisation : finistere
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
Au temps pour moi , j 'ai oublié le symbole de masse , donc les résistances ne sont pas en série , j 'ai également remplacé une diode par une résistance de 100homs ,car celle si aurrait bloquée la mise à zero de cd_pd par le gpio.
la pin ch_pd serat alimenté soit par l'impultion en provenance du condensateur soit par le gpio , il n'y a pas besoin d'autre alim.
la pin ch_pd serat alimenté soit par l'impultion en provenance du condensateur soit par le gpio , il n'y a pas besoin d'autre alim.
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
-
- Raspinaute
- Messages : 1585
- Enregistré le : dim. 10 mai 2015 18:44
- Localisation : Dans la campagne à côté d'Annecy
- Contact :
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
Salut,
Il y a 2 types de sondes 1-wire :christophe27 a écrit :Que voulez vous dire par une sonde 1-wire bouton ?
- les sondes filaires comme le 18b20 qui sont mise donc sur le bus
- les sondes boutons qui ressemblent à des piles boutons : ce sont des datalogger donc elles sont autonomes, stockent les informations dans leur propre mémoire et sont déchargées lorsqu'on les connecte sur un host 1-wire.
- BananaPI : Gentoo, disque SATA de 2 To
- Domotique : 1-wire, TéléInfo, Tablette passée sous Gentoo, ESP8266
- Multimedia par DNLA
- Et pleins d'idées ... et bien sûr, pas assez de temps.
-
- Messages : 38
- Enregistré le : lun. 3 nov. 2014 14:04
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
Bonjour destroyedlolo
si j'ai bien compris les sondes bouton 1-wire sont des enregistreur autonome.
Je veut un contrôle des température en "temps réel."
Ce matériel ne me convient pas car j'aurais les enregistrements que lorsque la sonde sera sortie du tunnel.
Les données arriveront trop tardivement si il y a problème!!
Nous avons deja des "enregistreurs "(je ne connais pas leur fonctionnement!).
Merci pour l'info ça peut toujours être utile
si j'ai bien compris les sondes bouton 1-wire sont des enregistreur autonome.
Je veut un contrôle des température en "temps réel."
Ce matériel ne me convient pas car j'aurais les enregistrements que lorsque la sonde sera sortie du tunnel.
Les données arriveront trop tardivement si il y a problème!!
Nous avons deja des "enregistreurs "(je ne connais pas leur fonctionnement!).
Merci pour l'info ça peut toujours être utile
-
- Messages : 38
- Enregistré le : lun. 3 nov. 2014 14:04
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
une petite "grande" photo
Je commande les composants et reviens vers vous ....MERCI-
- Messages : 38
- Enregistré le : lun. 3 nov. 2014 14:04
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
Bonsoir, le facteur est passé!
J'ai donc essayé le montage...
lorsque je chauffe le contacteur il y a bien une impulsion (mis une led pour vérifier)mais la carte esp ne "démarre" pas...
Il me semble que l'impulsion soit trop courte pour que le qpio0 deviens "true" et donc prennent la suite de l'impulsion...
Voici 2 photo Merci
J'ai donc essayé le montage...
lorsque je chauffe le contacteur il y a bien une impulsion (mis une led pour vérifier)mais la carte esp ne "démarre" pas...
Il me semble que l'impulsion soit trop courte pour que le qpio0 deviens "true" et donc prennent la suite de l'impulsion...
Voici 2 photo Merci
-
- Raspinaute
- Messages : 735
- Enregistré le : lun. 22 déc. 2014 16:50
- Localisation : 67380 LINGOLSHEIM
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
Bonsoir,christophe27 a écrit :une petite "grande" photoWP_20160705_002.jpgsonde.jpg
Je commande les composants et reviens vers vous ....MERCI
C'est vrai qu'une photo c'est plus parlant.
Ma suggestion du jour (respect du concept kiss):
Utiliser un bête interrupteur à lames souples (reed ) pour couper l'alimentation.
Ce contact sera placé au plus près du fond du bocal qui assure la protection et l'étanchéité.
Par défaut, le contact est ouvert et le module non alimenté ne consomme rien.
Poser un aimant permanent sur le bocal, juste avant de mettre la bouteille/capteur au four (on est loin du point de Curie).
Enlever l'aimant à la sortie du four.
http://www.conrad.fr/ce/fr/product/5036 ... 3?ref=list
Si l'avance de la chaîne provoque des secousses qui risquent de faire tomber l'aimant, on peut inverser le fonctionnement c'est à dire utiliser une ILS qui s'ouvre en présence du champ magnétique. Ça existe comme il existe aussi des inverseurs ILS. Dans ce cas, on enlève l'aimant pour activer le capteur et on le repose pour le stockage.
Sylvain
-
- Raspinaute
- Messages : 629
- Enregistré le : mar. 6 janv. 2015 19:44
- Localisation : finistere
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
Bonjour, la solution de spourre et bien aussi .
pour le montage , le condensateur est à l 'envers , le coté + est du coté de l 'intérupteur , de plus je n 'arrive pas a voir si c'est un 10µf ou 1µf. vous pouvez essayez le montage avec un simple intérupteur pour déterminer les temps de commutation du la pin de l'esp.
Dans le programme de l 'esp , il faut également au plus tot metre le gpio au niveau haut puis ensuite cconfigurer la pin en sortie , car si la pin est mise en premier en sortie au niveau bas , le condensateur se décharge casiment instentanement.
@+
pour le montage , le condensateur est à l 'envers , le coté + est du coté de l 'intérupteur , de plus je n 'arrive pas a voir si c'est un 10µf ou 1µf. vous pouvez essayez le montage avec un simple intérupteur pour déterminer les temps de commutation du la pin de l'esp.
Dans le programme de l 'esp , il faut également au plus tot metre le gpio au niveau haut puis ensuite cconfigurer la pin en sortie , car si la pin est mise en premier en sortie au niveau bas , le condensateur se décharge casiment instentanement.
@+
rpi b+ ,osmc, motioneyes
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
rpi 2 raspbian , server minecraft 24h/24 , utilisation gpio
orange pi pc debian ,utilisation gpio, motion cam
-
- Messages : 38
- Enregistré le : lun. 3 nov. 2014 14:04
Re: "Convertir" la fermeture d'un interrupteur en une impulsion
Merci pour vos reponses
J'avais pensée a ce type d'interrupteur que propose spourre...mais si l'opérateur oublie ou "traine"ou...etc ont aura pas un top départ précis.
IL y aura un compteur sur le tapis pour mesurer la position des bouteilles
Je veut faire des contrôle:
-exemple 30% d'avancement = 60°C dans la bouteille
afin de moduler la temperture des douche.... et puis c'est aussi pour le "FUN" de bidoullier et découvrir l'éléctronique
GUIlLLAUME
je confirme le condensateur est bien un 10µf
Je l'ai retourner verfié le code ...mais c'est pareille.
Avec un bouton poussoir, a "l'oeil" il faut 1 seconde!
Voici le programme de l'ESP
(c'est mix de:
https://github.com/Hackable-magazine/Ha ... dallas.ino
et
https://github.com/Hackable-magazine/Ha ... sp/esp.ino)
MERCI
J'avais pensée a ce type d'interrupteur que propose spourre...mais si l'opérateur oublie ou "traine"ou...etc ont aura pas un top départ précis.
IL y aura un compteur sur le tapis pour mesurer la position des bouteilles
Je veut faire des contrôle:
-exemple 30% d'avancement = 60°C dans la bouteille
afin de moduler la temperture des douche.... et puis c'est aussi pour le "FUN" de bidoullier et découvrir l'éléctronique
GUIlLLAUME
je confirme le condensateur est bien un 10µf
Je l'ai retourner verfié le code ...mais c'est pareille.
Avec un bouton poussoir, a "l'oeil" il faut 1 seconde!
Voici le programme de l'ESP
(c'est mix de:
https://github.com/Hackable-magazine/Ha ... dallas.ino
et
https://github.com/Hackable-magazine/Ha ... sp/esp.ino)
Code : Tout sélectionner
#include <ESP8266WiFi.h>
#include <OneWire.h>
#include <DallasTemperature.h>
const char* ssid = "domoAP";
const char* password = "mot2passe";
#define ONE_WIRE_BUS 2 // DS18B20 pin
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);
// Créé le serveur Web en spécifiant le port TCP/IP
// 80 est le port par défaut pour HTTP
WiFiServer server(80);
// démarrage
void setup() {
uint8_t mac[WL_MAC_ADDR_LENGTH];
float temp;
// communication série 115200
Serial.begin(115200);
// petit pause
delay(10);
// GPIO0 à haut //////comfiguration du GPIO0 qui doit alimenter le pin ch_pd
digitalWrite(0, 1);
// GPIO0 en sortie
pinMode(0, OUTPUT);
// Deux sauts de ligne pour faire le ménage car
// le module au démarrage envoi des caractères sur le port série
Serial.println();
Serial.println();
do {
DS18B20.requestTemperatures();
temp = DS18B20.getTempCByIndex(0);
} while (temp == 85.0 || temp == (-127.0));
Serial.print("Temperature: ");
Serial.println(temp);
if(WiFi.macAddress(mac) != 0) {
for(int i=0; i<WL_MAC_ADDR_LENGTH; i++) {
// Serial.print(mac[i],HEX);
if(mac[i]<16) Serial.print ("0");
Serial.print(mac[i],HEX);
Serial.print((i < WL_MAC_ADDR_LENGTH-1) ? ":" : "\n");
}
}
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
Serial.print("Connexion a : ");
Serial.println(ssid);
// Connexion au point d'accès
WiFi.begin(ssid, password);
// On boucle en attendant une connexion
// Si l'état est WL_CONNECTED la connexion est acceptée
// et on a obtenu une adresse IP
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// Démarrage du serveur Web
server.begin();
Serial.println("Server started");
// On affiche notre adresse IP
Serial.println(WiFi.localIP());
}
// boucle principale
void loop() {
float temp;
char strbuffer[10];
// Est-ce qu'un client Web est connecté ?
WiFiClient client = server.available();
if (!client) {
// non, on abandonne ici et on repart dans un tour de loop
return;
}
// Un client est connecté
Serial.println("new client");
// On attend qu'il envoi des données
while(!client.available()){
delay(1);
}
// On récupère la ligne qu'il envoi jusqu'au premier retour chariot (CR)
String req = client.readStringUntil('\r');
// On affiche la ligne obtenue pour information
Serial.println(req);
// La ligne est récupérée, on purge
client.flush();
// Test de la requête
int val;
// est-ce que le chemin dans la requête est "/gettemp" ?
if (req.indexOf("/gettemp") != -1) {
do {
DS18B20.requestTemperatures();
temp = DS18B20.getTempCByIndex(0);
} while (temp == 85.0 || temp == (-127.0));
Serial.print("Temperature: ");
Serial.println(temp);}
// est-ce que le chemin dans la requête est "/gpio/0" ?
else if (req.indexOf("/gpio/0") != -1){
// oui, ceci correspond à "0" (OFF)
val = 0;
}
// non, est-ce que le chemin est "/gpio/1" ?
else if (req.indexOf("/gpio/1") != -1){
// oui, ceci correspond à "1" (ON)
val = 1;
}
else {
// C'est un autre chemin qui est demandé et il ne correspond à rien
// On signal que cette demande est invalide
Serial.println("invalid request");
// et on déconnecte le client du serveur Web
client.stop();
// et on repart dans un tour de boucle
return;
}
// Nous avons obtenu l'état demandé pour la sortie GPIO0
// Nous pouvons écrire l'état de la sortie
digitalWrite(0, val);
// Peut-être le client a-t-il envoyé d'autres données,
// mais nous purgeons la mémoire avant d'envoyer notre réponse
//client.flush();
// Composition de la réponse à envoyer au client
// On commence avec le texte d'une réponse HTTP 200 standard et un début de page HTML
// String m = "HTTP/1.1 200 OK\r\nContent-Type: text/html\r\n\r\n<!DOCTYPE HTML>\r\n<html>\r\nLa sortie est a l'etat ";
// puis on complète avec "haut" ou "bas" en fonction de la la valeur de val
//m += (val)?"haut":"bas";
// et on termine la page HTML
//m += "</html>\n";
// On envoi la réponse au client
//client.print(m);
// petite pause
//delay(1);
// et on le déconnecte du serveur Web
//Serial.println("Client disonnected");
// client.stop() n'est pas utilisé ici,
// le client est automatiquement déconnecté à la fin de la fonction loop(),
// lorsque l'objet "client" est détruit, car la déclaration est locale.}{
// On signal que cette demande est invalide
// Serial.println("invalid request");
// et on déconnecte le client du serveur Web
//client.stop();
// et on repart dans un tour de boucle
// return;
//}
// Peut-être le client a-t-il envoyé d'autres données,
// mais nous purgeons la mémoire avant d'envoyer notre réponse
client.flush();
if (req.indexOf("/gettemp") != -1) {
// do {
// Composition de la réponse à envoyer au client
String s = "HTTP/1.1 200 OK\r\nContent-Type: text/plain\r\n\r\n";
dtostrf(temp, 4, 3, strbuffer);
/*
for(int i=0;i<sizeof(strbuffer);i++){
s += strbuffer[i];
}
*/
s += strbuffer;
s += "\n";
client.print(s);
}
// petite pause
delay(1);
// et on le déconnecte du serveur Web
Serial.println("Client disonnected");
}