当前位置:首页Arduino > 正文

Arduino中MAX7219+GPS模块制作的车载GPS码表

作者:野牛程序员:2023-12-25 17:54:14Arduino阅读 2578

使用Arduino、MAX7219和GPS模块制作车载GPS码表可以实现车辆位置的实时显示。以下是一个简单的示例代码,该代码使用MAX7219库和TinyGPS++库,确保已经安装这两个库。

#include <SPI.h>
#include <Max72xxPanel.h>
#include <TinyGPS++.h>

#define RX_PIN 10
#define TX_PIN 11
#define GPS_BAUD 9600

#define SCREEN_SIZE 4 // 根据你的MAX7219模块配置

HardwareSerial gpsSerial(RX_PIN, TX_PIN);
TinyGPSPlus gps;
Max72xxPanel matrix = Max72xxPanel(2, 3, SCREEN_SIZE); // DIN, CS, CLK

void setup() {
  Serial.begin(9600);
  gpsSerial.begin(GPS_BAUD);

  matrix.setIntensity(0); // 设置亮度(0-15)
  matrix.setRotation(0, 1); // 设置模块的旋转方向
  matrix.fillScreen(LOW); // 清空显示屏
}

void loop() {
  while (gpsSerial.available() > 0) {
    if (gps.encode(gpsSerial.read())) {
      updateDisplay();
    }
  }
}

void updateDisplay() {
  matrix.fillScreen(LOW);

  if (gps.location.isValid()) {
    int lat = gps.location.lat() * 100000; // 乘以100000以保留小数点后5位
    int lon = gps.location.lng() * 100000;

    // 在LED矩阵上显示经纬度
    matrix.setCursor(0, 0);
    matrix.print("Lat:");
    matrix.print(lat);

    matrix.setCursor(0, 8);
    matrix.print("Lon:");
    matrix.print(lon);
  } else {
    matrix.setCursor(0, 0);
    matrix.print("GPS无效");
  }

  matrix.write(); // 刷新LED矩阵
}


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击