I2C LCD 40×4

Salam,

Aku ada sekeping 40×4 LCD yang disambungkan dengan IIC/I2C/TWI board dengan chip PCF8574At.

 IIC/I2C/TWI 40x4 LCD
 IIC/I2C/TWI 40x4 LCD
 IIC/I2C/TWI 40x4 LCD

Masalahnya, file original yang aku buat dulu dah hilang sebab terdelete. Sefaham aku, benda adalah ni ada address dia sendiri dan unik mcm 0x38, 0x37 etc. So setelah try macam macam  library, sample, masih belum terhasil. Burn dalam 4 – 5 jam gitu.

Nie sample code yang aku dapatkan dari internet. Sumber: http://forum.arduino.cc/index.php?topic=200478.0

#include <Wire.h>  // la libreria wire serve per la comunicazione i2c
#include <LiquidCrystal_I2C.h>   //includi la libreria
 
LiquidCrystal_I2C lcd(0x38,4,20);  // qua metti l'indirizzo 0x38 in questo caso e 0x38 ma può essere anche un altro quindi                             
                                                             //devi chiederlo a chi te la venduto.       4,20  sta a quante righe e composto il tuo lcd
                                                             // nel tuo caso e 4,20 (4 sta alle righe giù)(20 alle righe a destra)
 
void setup()
{
  lcd.init();                      
  
  // qui esegui il programma che scrivera
  lcd.backlight();
  lcd.print("Ciao come va XD");
}
 
void loop()
{
}

 

Then baru teringat, rupanya ada scanner untuk scan address bagi I2C nih. Code macam bawah. Sumber: http://playground.arduino.cc/Main/I2cScanner

  1. // ————————————–
  2. // i2c_scanner
  3. //
  4. // Version 1
  5. //    This program (or code that looks like it)
  6. //    can be found in many places.
  7. //    For example on the Arduino.cc forum.
  8. //    The original author is not know.
  9. // Version 2, Juni 2012, Using Arduino 1.0.1
  10. //     Adapted to be as simple as possible by Arduino.cc user Krodal
  11. // Version 3, Feb 26  2013
  12. //    V3 by louarnold
  13. // Version 4, March 3, 2013, Using Arduino 1.0.3
  14. //    by Arduino.cc user Krodal.
  15. //    Changes by louarnold removed.
  16. //    Scanning addresses changed from 0…127 to 1…119,
  17. //    according to the i2c scanner by Nick Gammon
  18. //    http://www.gammon.com.au/forum/?id=10896
  19. // Version 5, March 28, 2013
  20. //    As version 4, but address scans now to 127.
  21. //    A sensor seems to use address 120.
  22. //
  23. //
  24. // This sketch tests the standard 7-bit addresses
  25. // Devices with higher bit address might not be seen properly.
  26. //
  27. #include <Wire.h>
  28. void setup()
  29. {
  30.   Wire.begin();
  31.   Serial.begin(9600);
  32.   Serial.println(\nI2C Scanner”);
  33. }
  34. void loop()
  35. {
  36.   byte error, address;
  37.   int nDevices;
  38.   Serial.println(“Scanning…”);
  39.   nDevices = 0;
  40.   for(address = 1; address < 127; address++ )
  41.   {
  42.     // The i2c_scanner uses the return value of
  43.     // the Write.endTransmisstion to see if
  44.     // a device did acknowledge to the address.
  45.     Wire.beginTransmission(address);
  46.     error = Wire.endTransmission();
  47.     if (error == 0)
  48.     {
  49.       Serial.print(“I2C device found at address 0x”);
  50.       if (address<16)
  51.         Serial.print(“0”);
  52.       Serial.print(address,HEX);
  53.       Serial.println(”  !”);
  54.       nDevices++;
  55.     }
  56.     else if (error==4)
  57.     {
  58.       Serial.print(“Unknow error at address 0x”);
  59.       if (address<16)
  60.         Serial.print(“0”);
  61.       Serial.println(address,HEX);
  62.     }
  63.   }
  64.   if (nDevices == 0)
  65.     Serial.println(“No I2C devices found\n);
  66.   else
  67.     Serial.println(“done\n);
  68.   delay(5000);           // wait 5 seconds for next scan
  69. }

Then voila. Address yang sepatutnya adalah :

 IIC/I2C/TWI 40x4 LCD

So tukar saja address tu dan terus OK.

 IIC/I2C/TWI 40x4 LCD

Tq kerana rajin membaca.

 

Leave a comment

Your email address will not be published. Required fields are marked *