Sterownik tym razem został oparty na układzie WiFi ESP8266 zamontowanym na module NodeMCU V2 4MB. Wybrałem ten układ ponieważ chciałem aby zarządzanie i konfigurowanie dozownikiem było możliwe przez interface www i łącze wifi. Ten układ ma jeszcze jeden plus można go programować wprost przez Arduino IDE. Nie trzeba się bawić w Lua.
Jedynym minusem NodeMCU jest dość mała ilość wyjść GPIO tylko 13 ( no Arduino MEGA to nie jest) natomiast prawie każdy pin może działać jako PWM, I2C lub 1-Wire. Posiada również jedno wejście/wyjście analogowe z 10 bitowym przetwornikiem ADC.
UWAGA!!!
NodeMCU operuje na logice 3,3V – lepiej o tym pamiętać.
Na rynku moduły NodeMCU występują w dwóch wersjach różniących się wymiarami płytki jednak raster i rozkład pinów jest identyczny dlatego na płytce umieściłem dodatkowe gniazda tak aby w razie konieczności można było montować moduły obu typów.
Sposobu programowania modułów nie będę opisywał w sieci jest bardzo dużo materiałów na ten temat:
- http://feriar-lab.pl/nodemcu-v2-baza-do-iot-za-grosze/
- https://nodemcu-build.com/
- http://www.jarzebski.pl/arduino/arduino-i-klony/nodemcu-v2-esp8266-lua.html
Problem małej ilości GPIO rozwiązałem układem PCF8574A jest to ekspander GPIO sterowany szyną I2C (TWI) umożliwia on podłączenie i sterowanie dodatkowymi 8 pinami cyfrowymi. W NodeMCU domyślnie I2C znajduje się na pinach D1 = SCL i D2 = SDA. Teraz już wiadomo skąd się wzięło 8 pomp, miałem ekstra dodatkowo 8 pinów to czemu ich nie wykorzystać.
PCF8574 data sheet
Adresowanie układu PCF8574A odbywa się poprzez odpowiednie podłączenie pinów A0/A1/A2 do masy lub do plusa. Układ ten może operować na logice 3,3V jak i TTL (5V). Z tabeli poniżej wynika że na raz można podłączyć 8 układów na raz odpowiednio je adresując. Ja podpiąłem PCF’a bezpośrednio do NODE na 3,3V.
Do obsługi PCF8574 użyłem prostej biblioteki do Arduino PCF8574.h autorstwa Roba Tillaarta.
Biblioteka jest bardzo prosta w użyciu, dodatkowe informacje na stronie autora i w przykładach biblioteki.
#include "PCF8574.h" #include <Wire.h> PCF8574 PCF_01(0x38); // PCF8574 PCF_02(0x39); w przypadku drugiego układu itd. wg tabeli setup { PCF_01.begin(); // PCF_02.begin(); } loop{ PCF_01.write8( LOW ); // ustawienie wszystkich kanałów na LOW PCF_01.write(4, HIGH); // ustawienie stanu konkretnego kanału gdzie 4 to numer kanału liczone od 0 do 7 }
Witaj,Maciej,ale nie prościej założyć reaktor + sterownik PH,jeśli oczywiście to akwa morskie.
Na razie nie planuje solniczki. Dozownik dedykowany do holendra czyli zieleniaka 🙂
Witam,
jak się sprawuje dozownik? Czy jest szansa na zakup takiego od Ciebie?
Pracuje nad nową wersją sterowaną ekranem dotykowym. Sam moduł dozujący zostanie taki sam.
TANIE CHIŃSKIE MODUŁY WIFI nie są stabilne ….