lukasz1982 Napisano Styczeń 17, 2022 Udostępnij Napisano Styczeń 17, 2022 Witam Zrobiłem prosty sterownik pieca. A dokładniej bardziej odczyt temperatury i sterowanie otwieraniem klapy przez komórkę oraz buzzer który ustawiłem żeby brzęczał po przekroczeniu danej temperatury i wyłączał się jak spadnie.Wszystko udało mi się jakoś ogarnąć i działa. Ale chciałem aby buzzer brzęczał jak alarm dźwiękiem przerywanym, i tu zaczynają się schody bo nie wiem jak to ogarnąć. Sprzęt to: Esp8266 NodeMcu v3, Ds18b20, Servo SG 90-micro, buzzer Szkic programu: W Blynk załączenie buzzera następuje po przekroczeniu ustawionej temperatury w Eventorze i załączenie pinu na którym jest buzzer. Wtedy jest sygnał ciągły który chciałem zmienić na sygnał alarmu. /************************************************************* Rotate a servo using a slider! App project setup: Slider widget (0...180) on V3 *************************************************************/ // Template ID, Device Name and Auth Token are provided by the Blynk.Cloud // See the Device Info tab, or Template settings //#define BLYNK_TEMPLATE_ID "TMPLxxxxxx" //#define BLYNK_DEVICE_NAME "Device" //#define BLYNK_AUTH_TOKEN "GlpFez_uaA6xbo5AEEYRJXcS7tz5eklY" // Comment this out to disable prints and save space #define BLYNK_PRINT Serial #include <ESP8266WiFi.h> #include <BlynkSimpleEsp8266.h> #include <OneWire.h> #include <DallasTemperature.h> #include <Servo.h> OneWire oneWire(D2); // digital D2 pin DallasTemperature sensors(&oneWire); BlynkTimer timer; char auth[] = "xxxxxxxxxxxxxxxxxx"; // Your WiFi credentials. // Set password to "" for open networks. char ssid[] = "xxxxxxxxxx"; char pass[] = "exxxxxxxxx"; Servo servo; float temp = 0; BLYNK_WRITE(V0) { servo.write(param.asInt()); } BLYNK_WRITE(V1) { servo.write(13); } BLYNK_WRITE(V2) { servo.write(59); } BLYNK_WRITE(V3) { servo.write(130); } void setup() { // Debug console Serial.begin(115200); sensors.begin(); Blynk.begin(auth, ssid, pass); // You can also specify server: //Blynk.begin(auth, ssid, pass, "blynk.cloud", 80); //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080); timer.setInterval(1000L, sendTemps); servo.attach(15); servo.write(0); } void sendTemps() { sensors.requestTemperatures(); temp = sensors.getTempCByIndex(0); Serial.println(String("Temperatura=")+temp+ String(" C")); Blynk.virtualWrite(V4, temp); } void loop() { Blynk.run(); timer.run(); Oto szkic sygnału alarmu który chciałbym mieć. Po wgraniu samego kodu brzęczy tak jak chciałem. void setup() { // put your setup code here, to run once: } void loop() { tone(14, 4300); //Wygeneruj sygnał o częstotliwości 4300Hz na pinie A5 delay(150); tone(14, 3500); //Wygeneruj sygnał o częstotliwości 3500Hz na pinie A5 delay(150); } Pomoże mi ktoś to jakoś ogarnąć? Zapomniałem napisać że jestem laikiem w tych sprawach. Ale jakoś udało mi się to ogarnąć, więc szkic może być trochę chaotyczny. Za pomoc z góry dziękuje Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »