怎么开始使用你的1602-Arduino中文社区 - Powered by Discuz! Archiver

hotboy 发表于 2022-2-9 10:57

怎么开始使用你的1602

此贴针对还不会驱动1602的小伙伴。
发现还有很多新手不会驱动LCD,要先调好你的LCD,正确加载库和显示例程,才能开始下一步的工作。

首先把下段代码导入到一个新的ino文件中,记得文件名要与文件夹名称完全相同。
#include <Wire.h>
void setup()
{
Wire.begin();

Serial.begin(9600);
Serial.println("\nI2C Scanner");
}
void loop()
{
byte error, address;
int nDevices;
Serial.println("Scanning...");
nDevices = 0;
for(address = 1; address < 127; 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("Unknow error at address 0x");
      if (address<16)
      Serial.print("0");
      Serial.println(address,HEX);
    }   
}
if (nDevices == 0)
    Serial.println("No I2C devices found\n");
else
    Serial.println("done\n");
delay(5000);         // wait 5 seconds for next scan
}
对于初学者而言,这段代码你不要去理解它,把它当一段工具代码就行了。
打开串口监视器窗口,在其中找到address,常见的两种是0x3F和0x27

然后根据你获得的返回值,再看下面的内容(1602大多数情况下是0x27,反正我手头的几块都是)
然后找个新文件夹,创建一个新ino文件
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,20,2); // 看到这里的0x27没有?如果是3F就在这里换成3F,20是单行的字符数,2是行数
void setup()
{
lcd.init();
lcd.backlight();
lcd.print("Hello,arduino!");
}
void loop(){}

如果编译不过,那么说明你没有正确导入库文件,把LiquidCrystal_I2C复制到C:\Arduino\libraries文件夹中(C:\Arduino根据你自己的安装目录来修正)

好了,现在可以快速的跨越过新手关,开始愉快的使用你的1602了,新手就不要去手工焊接了,直接买一块焊好的1602也就10块钱,进阶以后再慢慢研究吧,因为焊接接触不好还会有很多意想不到的情况。

有其他驱动不上的问题,也欢迎一起讨论


页: [1]
查看完整版本: 怎么开始使用你的1602