LCD (HD44780) + Embeetle + SimulIDE
SimulIDE
SimulIDE
is a cool tool to simulate analog and digital Circuits, Here how they describe itself on their site: SimulIDE
is a simple real time electronic circuit simulator, intended for hobbyist or students to learn and experiment with analog and digital electronic circuits and microcontrollers.
The more important thing for me is: It supports PIC
, AVR
, Arduino
and other MCUs and MPUs.
So lets build our own Circuit!
We need just 2 components HD44780
and nano
. We will do connections later so this step is compete.
Embeetle IDE and LCD Library
Embeetle
The clean and efficient IDE, tailor-made for your MCU. It supports different MCUs an it supports arduino nano
board that we will use in this example. We need to go into Libraries
window.
And Search here for PololuHD44780
Library
After we install this library we need to go back to Library
tab in startup screen. For some reason it hides in sensors
not displays
section. And here we need to right-click to open sample menu and find Test
project.
Importer window will appear where we need to select the right board arduino-nano
and maybe change project name to PololuHD44780-Test
And click Next
and after some time click Finish
after importing is done we can build a our project.
We should see a build log with result:
Preparing: application.size
"/embeetle/beetle_tools/windows/gnu_avr_toolchain_7.3.0_32b/bin/avr-size" application.elf
text data bss dec hex filename
4452 182 179 4813 12cd application.elf
make.exe: Leaving directory 'E:/projects/PololuHD44780-Test/build'
/embeetle/beetle_tools/windows/gnu_make_4.2.1_64b/make.exe: exit code '0'
Now we need to check what connections we need to make, it described in comments in another example BasicTest.ino
I will copy it here:
/* The pins specified below will need to be connected to your
LCD. The pins are specified in this order:
RS, E, DB4, DB5, DB6, DB7. */
PololuHD44780 lcd(7, 6, 5, 4, 3, 2);
Running firmware
Now we need to load Firmware
to SimulIDE
nano
board, Righ-click on board to get a menu
We need to select hex
file from BasicTest\build
folder
finally run
and … nothing on a display …
My wild guess is that SimulIDE
does not know how to work with custom characters that this demo trying to display. We have 2 options here 1st go to step where select witch project to import and instead of Test
choose Basic-Test
or 2nd is go back to Embeetle
and find loop
function
void loop()
{
lcd.reinitialize();
loadCustomCharacters();
and comment out call to loadCustomCharacters
void loop()
{
lcd.reinitialize();
// loadCustomCharacters();
then build
and load firmware
in SimulIDE
again, hit RUN
and IT WORKS!