ESP8266 a rele modul.
Moderátor: Moderátoři
ESP8266 a rele modul.
ESP8266 NodeMcu V3 a 4 rele modul.
https://www.aliexpress.com/item/33038634587.html
4 rele modul na 3,3V jsem na ali nenašel, a 3,3V jsou o dost dražši než 5V.
V šupliku jsem vyhrabal 5V.
ESP napajim trafem přes VIN a u rele jsem oddělal tu žlutou propojku a rele take napajím 5V.
Logiku ovladam přes GPIO 3,3V a funguje jak ma.
Při zapnutí ESP, mi však rele procvaknou.
Je nějake řešení?
Děkují.
- pocitujlasku
- Příspěvky: 2764
- Registrován: 12 pro 2005, 00:00
- Bydliště: SR, Poprad
Kód: Vybrat vše
Pins HIGH at Boot
There are certain pins that output a 3.3V signal when the ESP8266 boots. This may be problematic if you have relays or other peripherals connected to those GPIOs. The following GPIOs output a HIGH signal on boot:
GPIO16
GPIO3
GPIO1
GPIO10
GPIO9
Kód: Vybrat vše
Pins used during Boot
The ESP8266 can be prevented from booting if some pins are pulled LOW or HIGH. The following list shows the state of the following pins on BOOT:
GPIO16: pin is high at BOOT
GPIO0: boot failure if pulled LOW
GPIO2: pin is high on BOOT, boot failure if pulled LOW
GPIO15: boot failure if pulled HIGH
GPIO3: pin is high at BOOT
GPIO1: pin is high at BOOT, boot failure if pulled LOW
GPIO10: pin is high at BOOT
GPIO9: pin is high at BOOT
https://randomnerdtutorials.com/esp8266 ... nce-gpios/
Pins HIGH at Boot.
Ty rele se ale spinají, když je na GPIO LOW. Při HIGH jsou rozeple.
Po startu v programu použitém při těch testech nastavuje GPIO na LOW. Z toho co je tam vidět zkuste za účelem odstranění cvaknutí při zapnutí použít pro daný účel GPIO tam označený jako D2 a k tomu použijte relé, které bude spínat když bude GPIO ve stavu HIGH a ve stavu LOW bude rozepnuté. V setup části programu nastavte zmíněný GPIO na LOW což bude implicitně rozepnutý stav relé.
Pokud používáte relé, které je ve stavu LOW sepnuté tak vám to vždy při zapnutí cvakne, protože relé zřejmě zareaguje dříve než na GPIO naběhne stav HIGH. Některá relé jako třeba tyto mají propojky jimiž lze zvolit zda mají reagovat na HIGH nebo LOW.
Le_Ze píše:Při zapnutí ESP, mi však rele procvaknou.
Ty relé se ale spínají, když je na GPIO LOW. Při HIGH jsou rozeplé.
Ještě mne napadá spínat 5V napájení relé přes tranzistor z pinu D2 na ESP, a to se zpožděním. Až naběhne ESP a piny z nichž ovládáte jednotlivá relé budou v setup části programu bezpečně nahozeny do implicitního stavu HIGH tak za to vložit zpoždění třeba delay(500); tj. 500ms a teprve pak nahodit do stavu HIGH i pin D2 a tím zapnout 5V napájení relé. Pak už by relé při zapínání procvaknout neměly, protože v době přechodných stavů na ostatních pinech ESP budou relé bez napájení jelikož pin D2 na ESP je po zapnutí ve stavu LOW.
- pocitujlasku
- Příspěvky: 2764
- Registrován: 12 pro 2005, 00:00
- Bydliště: SR, Poprad
bu2520 píše:Nevím jestli to souvisí, ale podobnou věc mi dělal bootloader u arduina. Až po jeho vynechání a nahrávání programu přes SPI problém ustal.
pri klasickom arduine musis dat pull_up odpory, lebo po zapnuti su nastavene ako vstupne bez internerneho pull_up. a ten bootloader tam ma nejaky maly delay, ktory caka na pripadne data zo serioveho portu a az potom startuje program. to je o.i. spominane aj v arduino dokumentacii.
https://randomnerdtutorials-com.transla ... _x_tr_hl=c
Jak docilim toho, aby se web stranka překreslovala třeba každou vteřinu?
Už jsem to jednou řešil, ale marně hledam
Děkují.
Kód: Vybrat vše
<html>
<head>
<title>Titulek stranky</title>
<meta http-equiv="refresh" content="5">
</head>
<body>
... tady budou data pro zobrazení ve stránce ...
</body>
</html>client.println("<meta http-equiv=\"refresh\" content=\"1\">");
Kde je problem u tohoto?
client.println("<meta http-equiv="refresh" content="30">");
Compilation error: unable to find string literal operator 'operator""refresh' with 'const char [27]', 'unsigned int' arguments
- Dumitru
- Příspěvky: 254
- Registrován: 11 pro 2015, 00:00
- Bydliště: Slovensko,Bratislava
- Kontaktovat uživatele:
Le_Ze píše:Děkují, už vyřešene takto.
client.println("<meta http-equiv="refresh" content="1">");
Kde je problem u tohoto?
client.println("<meta http-equiv="refresh" content="30">");
Compilation error: unable to find string literal operator 'operator""refresh' with 'const char [27]', 'unsigned int' arguments
Kód: Vybrat vše
client.println("<meta http-equiv="refresh" content="30">");skús takto
Edit : úvodzovky je špeciálny znak medzi ktorého s vkladá string a ked je ich tam viac kompilátor nevie kde je začiatok a kde koniec
Kód: Vybrat vše
client.println("<meta http-equiv='refresh' content='30'>");