Blokování sepnutí výstupu ovládaného tlačítkem v aplikaci Blynk

Odpovědět
jindza
Příspěvky: 7
Registrován: 03 led 2021, 12:32
Reputation: 0

Blokování sepnutí výstupu ovládaného tlačítkem v aplikaci Blynk

Příspěvek od jindza » 25 úno 2021, 13:18

Zdravím,

potřeboval bych prosím trochu navést, případně odkázat na nějaký příklad. Mám (klon z ali.. wemos D1mini) pomocí tlačítek (ve funkci tlačítka - sepnuto pouze pokud je stisknuto) v aplikaci blynk ovládám relé připojené na výstup ESP. Dále mám na vstup připojen spínací kontakt, jehož stav čtu a zobrazuji stav pomocí led v aplikaci blynk. Potřeboval bych dodělat tuto funkci: když bude sepnut kontakt který sleduji a současně bude stisknuto tlačítko v blynku tak nedojde k sepnutí relé -> blokování sepnutí výstupu který ovládá relé na základě stavu kontaktu. Potřeboval bych poradit jak se dostat k proměnné / funkci která řeší propojení výstupů s tlačítky v aplikaci blynk.

Děkuji za odpověď.

Uživatelský avatar
pavel1tu
Příspěvky: 2054
Registrován: 26 říj 2017, 08:28
Reputation: 0
Bydliště: Trutnov
Kontaktovat uživatele:

Re: Blokování sepnutí výstupu ovládaného tlačítkem v aplikaci Blynk

Příspěvek od pavel1tu » 25 úno 2021, 13:31

Vlož tvuj kod pomoci tlačítka </>
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"

jindza
Příspěvky: 7
Registrován: 03 led 2021, 12:32
Reputation: 0

Re: Blokování sepnutí výstupu ovládaného tlačítkem v aplikaci Blynk

Příspěvek od jindza » 25 úno 2021, 14:39

Ovládání výstupu z tlačítka v blynku je asi přímo v knihovně a to bych právě potřeboval poradit jak do toho vřadit svoji podmínku. V kódu mám měření teploty a čtení vstupu na který je připojen kontakt:

Kód: Vybrat vše

#define BLYNK_PRINT Serial
 
#include <ESP8266WiFi.h>

#include <BlynkSimpleEsp8266.h>

#include <DHT.h> 


char auth[] = "******";
 

char ssid[] = "*******";
char pass[] = "******";
 
#define DHTPIN D4          // What digital pin we're connected to
#define DHTTYPE DHT11     // DHT 11<p>DHT dht(DHTPIN, DHTTYPE);
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
WidgetLED led1(V1);
float t;
float h;

void setup()
{
  // Debug console
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  dht.begin();
  pinMode(D3, INPUT_PULLUP); //  vstup -cteni aktualni hodnoty vystupu
  timer.setInterval(1000L, sendSensor);
  timer.setInterval(1000L, blinkLedWidget1);
}
 
void sendSensor()
{
  h = dht.readHumidity();
  t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
//  l = analogRead(LDR);
  if (isnan(h) || isnan(t)) {
    Serial.println("Failed to read from DHT sensor!");
    return;
  }
  int hum = (int) h;
  int tem = (int) t;
  // You can send any value at any time.
  // Please don't send more that 10 values per second.
  Blynk.virtualWrite(V5, hum);
  
  Blynk.virtualWrite(V4, tem);
}

void blinkLedWidget1()
{
  int sensor = digitalRead(D3);
  Serial.println("přečteno");
  if (sensor == LOW) {
    led1.on();
    Serial.println("LED on V1: on -> brána zavřena");
    }
  else { 
    led1.off();
    Serial.println("LED on V1: off -> brána otevřena");
  
  }
 }  

void loop()
{
  Blynk.run();
  timer.run();
}

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 10 hostů