LCD display, encoder, button
Samovar 7.00: the control button is enabled on the "Hardware" («Оборудование») tab of the configurator.
Warning.
Samovar works without a display, an encoder and the universal button. All the information is available in the web interface and, if the integration is enabled, in Blynk as well. A display is handy next to the unit; an encoder without a display is usually not needed, while a separate button can be useful.
The project uses a four-line display: 20X4 LCD2004 with an I2C module. Without the module you will not be able to connect the display to Samovar.
Here is the module I2C
And this is a 20x4 display with the I2C module soldered on.
You can buy a display with the module already soldered on, or buy them separately as a kit and solder it yourself.
The display backlight can be blue, green, yellow or white (this affects the price). If you do not need the backlight or it gets in the way, you can turn it off after setting up the display by removing the LED jumper on the I2C module. The text stays readable.
Most displays support only the Latin font, but some support Cyrillic. Samovar uses Latin.
Connection.
The display is connected to the Samovar board with 4 wires from the I2C module, according to the pinout of the module and the board.
As a rule, on the first power-up the backlight comes on but there is no text. Turn the trimmer resistor on the I2C module. The text will appear. Set the highest contrast.
That completes the display setup.
Note.
If some lines or characters on the display are shown incorrectly, carefully re-solder the connections between the module and the display. Remove the flux.
The project uses an EC11 encoder with a "breakout board". It looks like this.
It is connected to the Samovar board with 5 wires according to the pinout. Its main job is "scrolling" through the lines on the LCD2004 display.
If the encoder scrolls the display lines in the wrong direction, swap the wires on the S1 and S2 contacts.
A normally open tactile button will do. Connect it between the input and +3.3 V: GPIO39 on ESP32 DevKit or GPIO47 on ESP32-S3. The input needs an external 10 kOhm pull-down resistor to GND.
If you do not use the button, the resistor is not needed on ESP32 DevKit, but you must clear the "Use control button" («Использовать кнопку управления») checkbox on the "Hardware" («Оборудование») tab of the configurator, or comment out the button in the Samovar_ini.h file:
//#define USE_BTN //use the button
On ESP32-S3 the button input GPIO47 is always enabled regardless of this setting, so the 10 kOhm resistor to GND is needed even without a button; otherwise false presses are possible.
Warning!
At startup, holding the separate button for about two seconds starts the Wi-Fi access point. Holding the encoder button for about two seconds deletes only the saved Wi-Fi settings. The other hardware settings are not reset