The aim of the project is the creation of a board that can control up to 8 light bulbs (using the buttons installed at home) and have 8 relays available to control various loads, in general the board consists of;
1)Voltage regulator module via LM1085
2)External Display Connector
3)Display backlight driving circuit
4)Lights management
5Automation Management
I2C amplifier circuit
Section ESP32
H2O sensor
East_I2c
PZEM energy meter
Buzzer
External conn
PIR
I2C address
RtC
AHT10 sensor
DHT22 sensor
Alarm in progress
Cycle Led
\-\-\-\-\-in detail\-\-\-\-\-
Block 1:
From connector U5 there is a 12V or 5V power supply (coming from a stabilized power supply) connector H1 will position itself according to the input voltage
Block 2:
An external display is provided, the ILI9354ddd or the 956as13d and the brightness of this display is controlled by block 3.
Block 4:
Here are the 8 relays that will drive the house lights, the reference voltage is 220V, for an absorption that does not exceed 50 ~ 70 Watts
The CNY1 and CNY2 opto isolators isolate the voltage coming from the contact of the buttons connected between CP1 and CP2 ~ CP5, from the board, then through the output signal from the opto isolators the MCP23017 is piloted which in turn activates the ULN2804A door. which in cascade activates the connected relays.
Block 5:
Here are the 8 relays that will drive the loads connected to them, the reference voltage is 220V, for an absorption that does not exceed 1,000 Watts
The operation is similar to block 4, but in this case the relays will not be activated by the buttons but by code from the ESP32
Block 6:
It is a circuit to amplify the I2C signal (which was created to be used over very short distances, in the order of Centimeters) and thus be able to reach greater distances (I have successfully tested it up to 30 meters), this circuit and identical for both the transmitting and the receiving part, therefore this module can be both RX and TX.
Block 7:
Here the heart of the system, an ESP32 is powered through the 5V on the Vin pin, it also integrates the WiFi the simplest method to program it is with Arduino IDE.
Block 8:
Connection with the DS18B20 sensor I wrote H2O because I connect it to the hot water production system and activate / deactivate the boiler
Block 9:
External connection for the I2C bus
Block 10:
Connection with PZEM-004T sensor
Block 11:
Connection with an external buzzer, for any use
Block 12:
Connection with two spare IO pins, for any use:
Block 13:
Connection to a proximity sensor, for the automatic management of the switching on of a light bulb or other uses, always with presence detection
Block 14:
Jumper to set the addresses of the two MCP23017
Block 15:
Connection with a DS3231 RTC, for storing and managing the time, previously read by an NTP server
Block 16:
Connection with sensorAHT10 (temperature)
Block 17
Connection with sensorDHT22 (temperature and humidity)
Block 18:
My dedicated use, I take the output of the 12V alarm siren in my home and with that I close the relay contacts and activate an alarm on my mobile phone
Block 19:
To monitor the activity of the ESP32, connected with an external LED, it flashes according to the cycle speed.