Dozownik nawozów do akwarium wersja 2.0 ;)

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:

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ć.

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

}

5 myśli do „Dozownik nawozów do akwarium wersja 2.0 ;)”

    1. Pracuje nad nową wersją sterowaną ekranem dotykowym. Sam moduł dozujący zostanie taki sam.
      TANIE CHIŃSKIE MODUŁY WIFI nie są stabilne ….

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

This site uses Akismet to reduce spam. Learn how your comment data is processed.