Issue with NHD-C0220BiZ-FSW-FBW-3V3M Display Communication and Hardware Setup
Hello,
I am currently working with the NHD-C0220BiZ-FSW-FBW-3V3M display for a project but am encountering difficulties scanning for the I2C address. Below are the hardware connections I have used:
- RST: 3.3V with a 4.7K pull-up resistor
- SCL: 3.3V with a 10K pull-up resistor
- SDA: 3.3V with a 10K pull-up resistor
- VSS: Connected to GND
- VDD: 3.3V
- VOUT: 1.34V with a 1μF electrolytic capacitor
- C1+: 1.34V with a 1μF electrolytic capacitor connected to C1-
- C1-: 1.34V with a 1μF electrolytic capacitor connected to C1+
I would greatly appreciate any advice or insights on how to resolve this issue.
Thank you.
-
Hi Pavan,
The I2C address can be scanned using an Arduino Uno with the code below. This program scans for the device's 7-bit address. This display specifies its address as an 8-bit write address of 0x78. This corresponds to a 7-bit address of 0x3C. You should be able to get the output below on the Arduino IDE serial monitor.
Please follow the wiring below:
Display Arduino
1 3.3V
2 A4
3 A5
4 GND
5 3.3V
6 1uF cap to VDD
7 1uF cap to display pin 8
8 1uF cap to display pin 7
Please also note that pin 1 is on the right side of the display.
#include <Wire.h>
void setup(){Wire.begin();Serial.begin(9600);while (!Serial); // Leonardo: wait for serial monitorSerial.println("\nI2C Scanner");}
void loop(){byte error, address;int nDevices;Serial.println("Scanning...");nDevices = 0;for(address = 1; address < 127; address++ ){// The i2c_scanner uses the return value of// the Write.endTransmisstion to see if// a device did acknowledge to the address.Wire.beginTransmission(address);error = Wire.endTransmission();
if (error == 0){Serial.print("I2C device found at address 0x");if (address<16)Serial.print("0");Serial.print(address,HEX);Serial.println(" !");
nDevices++;}else if (error==4){Serial.print("Unknown error at address 0x");if (address<16)Serial.print("0");Serial.println(address,HEX);}}if (nDevices == 0)Serial.println("No I2C devices found\n");elseSerial.println("done\n");
delay(5000); // wait 5 seconds for next scan}0 -
Hi,
Thank you for your input. The display is now working properly. It turns out I had connected the display pins from the wrong side based on the diagram.
Thank you!!!
0 -
Hi Pavan,
We are happy to hear that we could help resolve your issue. If you have any further questions, please let us know.
0
Please sign in to leave a comment.
Comments
3 comments