JHD-2X16-I2C is a popular alphanumeric liquid crystal display used in Proteus simulations and real-world electronics projects. It integrates a standard 16x2 LCD with an I2C communication interface (typically using the
Let's create a simple simulation. We will connect an Arduino Uno (or PIC) to the I2C LCD. jhd-2x16-i2c proteus
#include Use code with caution. Copied to clipboard 5. Troubleshooting Common Proteus Issues I2C Debugger (from Proteus instruments) I2C Terminal –
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
- PCF8574 SDA $\rightarrow$ Microcontroller SDA (A4 on Arduino Uno).
- PCF8574 SCL $\rightarrow$ Microcontroller SCL (A5 on Arduino Uno).
- Pull-up Resistors: The I2C bus requires pull-up resistors (typically 4.7k$\Omega$ or 10k$\Omega$) on SDA and SCL lines connected to VCC. Note: Some Proteus versions model these internally, but adding them explicitly ensures stability.
8. Troubleshooting in Proteus
| Problem | Solution |
|-----------------------------|--------------------------------------------------------------------------|
| LCD shows nothing | Check backlight bit in I2C data; ensure address matches code (0x27/0x3F) |
| Random characters | Wrong initialisation sequence or missing pull-ups |
| I2C debugger shows no data | Verify SDA/SCL connections and power |
| Proteus crashes on I2C | Update to latest version or use I2C component with pull-ups | #include #include // Set the LCD address to
You should see the text appear on the simulated JHD-2x16-I2C.
To get the JHD-2X16-I2C displaying text correctly in your simulation: Switch Libraries : Many users find success by switching to the DF Robot LCD Point H library instead of the standard LiquidCrystal one. Verify the Address I2C Scanner Sketch