Danh sách sản phẩm

Mạch chuyển đổi giao tiếp I2C cho LCD

Mã sản phẩm: IMA086   |   Tình trạng: Còn 18 sản phẩm có sẵn
25.000₫
  • Nhập IMA-90 giảm 90%, tối đa 2K
  • Nhập IMA-5K giảm 5k, đơn từ 199K
  • Nhập IMA-35K giảm 35k, đơn từ 499K

Mô tả sản phẩm

Để sử dụng các loại LCD có driver là HD44780 (LCD 1602, LCD 2004,… ) cần có ít nhất 6 chân của MCU kết nối với các chân RS, EN, D7, D6, D5 và D4 để có thể giao tiếp với LCD.

Nhưng với mạch chuyển đổi giao tiếp I2C cho LCD, các bạn chỉ cần 2 chân (SDA và SCL) của MCU kết nối với 2 chân (SDA và SCL) của module là đã có thể hiển thị thông tin lên LCD. Ngoài ra có thể điều chỉnh được độ tương phản bởi biến trở gắn trên module.

Lưu ý : Các phiên bản cũ địa chỉ của bus i2c là 0X27, loại mới là 0x3F

Module được thiết kế dễ dàng cắm vào màn hình LCD theo các chân định sẵn, xem LCD 1602 để biết cách kết nối với Arduino

Thông số kỹ thuật:

  • Kích thước: 41.5mm(L)X19mm(W)X15.3MM(H)
  • Trọng lượng: 5g
  • Điện áp hoạt động: 2.5v-6v
  • Jump chốt: Cung cấp đèn cho LCD hoặc ngắt
  • Biến trở xoay độ tương phản cho LCD

Sơ đồ chân:


Code tham khảo Arduino: 

/*************************************************** 
  Kết nối:
              I2C                    UNO R3              MEGA
              VIN                     5V                 5V
              GND                     GND                GND
              SCL                     A5                 SCL
              SDA                     A4                 SDA


  Nạp code mở Serial Monitor chọn No line ending, baud 9600.
 ****************************************************/


#include <Wire.h>
void setup()
{
  Wire.begin();
  Serial.begin(9600);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("
I2C 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
");
  else
    Serial.println("done
");
 
  delay(5000);           // wait 5 seconds for n
}


Video tham khảo:

Khách hàng nhận xét