【DFRobot Beetle ESP32-C3开发板试用体验】与GNSS模块串口通信

描述

本文来源电子发烧友社区,作者:ZHOUxxx1121, 帖子地址:https://bbs.elecfans.com/jishu_2291019_1_1.html

硬件设置

  • DFRobot Beetle ESP32-C3
  • 合宙Air 551G
  • LCD 1602A显示屏
  • 杜邦线若干

连线

  • ESP32-C3通过自制一分二的线分别给LCD屏幕和Air 551G供电。
  • ESP32-C3的Pin 8(SDA)和9(SCL)与LCD屏幕连接。
  • ESP32-C3的Pin 20(RX)和21(TX)与Air 551G连接。
    ESP32

代码

#include 
#include 

LiquidCrystal_PCF8574 lcd(0x27); // set the LCD address to 0x27 for a 16 chars and 2 line display

int show = -1;
String comdata="";
void setup()
{
  int error;

  Serial.begin(115200);
  Serial.println("LCD...");
  Serial1.begin(115200,SERIAL_8N1,/*rx =*/20,/*Tx =*/21);  

  // wait on Serial to be available on Leonardo
  while (!Serial&&!Serial1)
    ;

  Serial.println("Dose: check for LCD");

  Wire.begin();
  Wire.beginTransmission(0x27);
  error = Wire.endTransmission();
  Serial.print("Error: ");
  Serial.print(error);

  if (error == 0) {
    Serial.println(": LCD found.");
    show = 0;
    lcd.begin(16, 2); // initialize the lcd

  } else {
    Serial.println(": LCD not found.");
  } // if

    lcd.setBacklight(0);
    delay(400);
    lcd.setBacklight(255);
    lcd.home();
    lcd.clear();
    lcd.setCursor(0, 0);
    lcd.print("Hello DFRobot");
    lcd.setCursor(0, 1);
    lcd.print("ESP32 C3");
    lcd.noBlink();
    lcd.noCursor();
    delay(1000);

} // setup()

void loop()
{
  while(Serial1.available()>0)
  {
    comdata+=char(Serial1.read());
    delay(2);
  }
  if (comdata.length()>0)
  {
    Serial.println(comdata);
    comdata="";
  }
} // loop()

实际效果

ESP32

ESP32

由于在室内,没有GPS信号,显示均为空。

后续

在LCD上显示当前经纬高坐标。

【MarkDown真的赞】

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分