Ovládání pojezdové brány
Napsal: 24 čer 2018, 19:13
Dobrý den, měl bych dotaz. Potřebuji trochu poradit s ovládáním brány. Mám desku Arduino WeMos D1 ( viz zde : http://navody.arduino-shop.cz/navody-k-produktum/esp8266-vyvojova-deska-wemos-d1.html ). Mám H-můstek pro ovládání směru motoru (24VDC) z 2-kanálového relé. Jedno relé pro otevření a zavření spínám z aplikace BLYNK a druhé relé bych potřeboval, aby se při sepnutí koncového spínače přepnulo a bylo připraveno zavřít. V tom okamžiku kdy dám povel na zavření tak tam jsem se zaseknul, protože magnet mi rozpojí snímač a brána by se zastavila. Dá se to vyřešit třeba prodlevou v rozepnutí ? Nebo nějaký lepší nápad ? Děkuji za pomoc.
zde můj náčrt programu:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
int rele = D6;
int spinac = D4;
int stavSpinac = 0;
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "kod";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "nazevsite";
char pass[] = "heslo";
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
pinMode(rele, OUTPUT);
pinMode(spinac, INPUT);
}
void loop() {
Blynk.run();
stavSpinac = digitalRead(spinac);
if (stavSpinac == HIGH) {
// zapne rele
digitalWrite(rele, LOW);
}
else {
// vypne rele
digitalWrite(rele, HIGH);
}
}
zde můj náčrt programu:
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
int rele = D6;
int spinac = D4;
int stavSpinac = 0;
// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "kod";
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "nazevsite";
char pass[] = "heslo";
void setup()
{
// Debug console
Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 8442);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8442);
pinMode(rele, OUTPUT);
pinMode(spinac, INPUT);
}
void loop() {
Blynk.run();
stavSpinac = digitalRead(spinac);
if (stavSpinac == HIGH) {
// zapne rele
digitalWrite(rele, LOW);
}
else {
// vypne rele
digitalWrite(rele, HIGH);
}
}