12-09-2023, 14:56
Witam. Pracuje nad kodem który wysyła bezustannie kod podczerwieni az do momentu kiedy będe chciał przerwac jego wysyłanie. Pracuje nad kodem, dodałem tam pętle while lecz nie wiem jak z niej wyjść. mam to połączone z aplikacją blynk i jak kliknę przycisk on to chce aby petla wystartowała a jak off to żeby się zatrzymała. Niestety jak juz wystartuje to zapętla bez końca. nie wiem jak stworzyć warunek który po kliknięciu w przycisk off wyjdzie z pętli. Pozdrawiam jestem bardzo początkujący. Dziękuje za pomoc. Przeszukałem juz chyba cały internet od 3 dni ale niec z tego.. Próbowałem z brake ale to chyba nie o to chodzi
Kod:
#define BLYNK_TEMPLATE_ID "TMPL4KTuG4xNc"
#define BLYNK_TEMPLATE_NAME "traker"
#define BLYNK_AUTH_TOKEN "qxbtKRFgXaoMy5FDr65D4fveKHFI8XuA"
#if defined(ESP8266)
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#else
#include <WiFi.h>
#endif // ESP8266
#if defined(ESP32)
#include <BlynkSimpleEsp32.h>
#endif // ESP32
#include <IRremoteESP8266.h>
#include <IRsend.h>
// Pin GPIO ESP8266 używany do sterowania diodą.
const uint16_t kIrLed = 4;
// Konfiguracja pinu sterującego diodą IR
IRsend irsend(kIrLed);
char auth[] = "qxbtKRFgXaoMy5FDr65D4fveKHFI8XuA"; // Token autoryzacji Blynk.
char ssid[] = "Wireless-N"; // SSID sieci Wi-Fi.
// Hasło sieci Wi-Fi. Zostaw puste, jeśli sieć jest otwarta.
char pass[] = "";
void setup() {
irsend.begin();
#if ESP8266
Serial.begin(115200, SERIAL_8N1, SERIAL_TX_ONLY);
#else // ESP8266
Serial.begin(115200, SERIAL_8N1);
#endif // ESP8266
Blynk.begin(auth, ssid, pass);
}
BLYNK_WRITE(V0) {
if (param.asInt() == 1) {
Serial.println("starplus");
irsend.sendNEC(0x80BF49B6);
delay(1000);
irsend.sendNEC(0x80BFE11E);
delay(1000);
irsend.sendNEC(0x80BF49B6);
delay(1000);
}
else if (param.asInt()==19) {
Serial.println("VOLUME-");
irsend.sendNEC(0x80BF31CE);
}
else if (param.asInt()==20) {
Serial.println("VOLUME+");
irsend.sendNEC(0x80BFBB44);
}
else if (param.asInt()==21) {
Serial.println("MUTE");
irsend.sendNEC(0x80BF39C6);
while (param.asInt()==21)
Serial.println("MUTE123");
}
}
void loop() {
Blynk.run();
}