ESP 32 ICONS AND ANIMATIONS
by JJ Slabbert in Circuits > Microcontrollers
3105 Views, 8 Favorites, 0 Comments
ESP 32 ICONS AND ANIMATIONS
Did you ever wonder how you can generate your own (Animated) icons or characters on one of the LCDs
In this instructable, I will provide examples for a house, thermometer and humidity sensor. Animations for a rain storm and cup anemometer is also included.
Supplies
ESP32 Wemo Lolin V1 or other ESP32
LCD 16x2 or 20x4. Make sure it is for 3.3 volt Power and Logic (some is 5 volt). Most LCD's use the HD44780 controller and will be compatible with this code
Lots of Male to Male jumpers
Breadboard
Potentiometer (Try anything from 5 KOhms-250KOhms). I used a 100 KOhms Most resources use 250 KOhms
220 Ohms resistor (Or Smaller).
BUILD YOUR CIRCUIT AND LOAD SKETCH
Build your circuit exactly as in the image. Make sure the ESP32 and LCD is not powered.
If you finish building, power up your ESP32.
Load a one of the attached sketches (There is a vew). You may study the sketch to understand how it works. Valuable info can be found on https://www.engineersgarage.com/arduino/making-cu... Basically each each block in the 16x2 matrics have a sub matrics of 8x5 dots or bits. each of this bits need to be switched on or of. My sketches use 4 of these blocks to create one icon.
For the above yellow-green image, the code will be byte dots[8]={B00000, B00000, B01010, B00000, B10001, B01110, B00000, B00000}
RUN YOUR CIRCUIT
If you want more detail on how the LCD works (Memory etc), the following resource is very useful
https://www.engineersgarage.com/arduino/making-cus...
I have an Arduino Simulation on:
https://www.tinkercad.com/things/g6IFAg6ayAL-lcd-...
The following page https://www.tinkercad.com/things/g6IFAg6ayAL-lcd-... may assist you in designing your characters.
You can also run this with an Arduino. You may have to change your pin out to suite your Arduino and the initialization line in the sketch.
If the screen does not display any characters, turn the pod. You may also remove the (220 Ohms) resistor since your LCD driver board may have it.