机器人控制器编程实践指导书旧版-实践六 LCD液晶显示(点阵)

2022-09-21 09:12:14 浏览数 (1)

适用于UNO/2560/DUE/ESP8266/ESP32,2021年之前使用版本。


6.1 实践目的

  • 运用Arduino[ESP32]单片机和LCD液晶屏对传感器检测的数值进行显示。

6.2 实践设备

  • PC机一台
  • Arduino[ESP32]开发板及配件等
  • 万用表和示波器等

6.3 实践原理

  • 初级:无
  • 中级:

将滑动变阻器阻值发送到液晶显示。

示意图

原理图

高级:无

6.4 实践内容

阅读6.3中示意图、原理图和代码,在Arduino[ESP32]平台上完成实践。

6.5 实践问题

将旋钮替换为温度或空气质量传感器,是否需要修改代码实现温度和空气质量的检测呢?

需要。

void setup() {

  Serial.begin(9600);

  Serial.println("Initializing BMP280");

  boolean status = bmp280.begin(0x76);

  if (!status) {

    Serial.println("Not connected");

}

}

void loop() {

  Serial.println(WiFi.localIP());

  float temp = bmp280.readTemperature();

   Serial.println("Temperature:");

  }

6.6 实践总结

回顾本次实践,遇到哪些问题,如何解决,经验和启发有哪些?

LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形。

void setup() {

    //设置LCD要显示的列数、行数,即2行16列

    lcd.begin(16, 2);

}

void loop() {

    lcd.setCursor(0, 0);

    lcd.autoscroll();

    for(int i = 0; i < 9; i ){

      for(int j = 1; j < 10; j ){

        lcd.print(j);

        delay(500);

      }

      lcd.print(arr[i]);

      delay(500);

}


Arduino Uno 是整个 Arduino 家族当中使用最为广泛、文档最为齐全的一款硬件产品,基于 Microchip 微芯公司的 8 位 AVR 单片机 ATmega328P,工作电压为5V,采用16MHz的无源谐振器,并拥有32 KB的 Flash 存储器(其中0.5KB用于Bootloader程序),以及2KB的 SRAM 和1KB的 EEPROM。

Arduino Mega 2560开发板基于ATmega2560微控制器,与 Uno 上采用的 ATmega328P 同属 8 位 AVR 微控制器,其工作电压同为5V,采用的时钟频率为16MHz,拥有256KB容量的 Flash 存储器(其中8KB用于 Bootloader),8KB大小的 SRAM,4KB容量的 EEPROM。

Arduino Due 开发板基于 Atmel SAM3X8E ARM Cortex-M3 CPU 微控制器,工作电压为3.3V,采用的时钟晶振频率为84 MHz,拥有512KB的 Flash 存储器,以及96KB的 SRAM(分为64KB和32KB两个Bank)。作为第一款基于 32 位 ARM 内核微控制器的 Arduino 开发板,板载 54 个数字输入/输出引脚(其中 12 个可用于 PWM 输出),12 个模拟输出,4 个硬件串行接口,其引脚分布基本与 Arduino Mega 2560 保持一致。

Wemos D1是一款基于上海乐鑫科技的 WIFI 芯片 ESP8266 的仿 Arduino Uno 开发板,通过Arduino core for ESP8266 WiFi chip 开源项目为 Arduino 环境提供了对 ESP8266 芯片的支持。 特性:

基于ESP-8266EX

  • Arduino兼容,使用Arduino IDE编程
  • 11 x IO引脚
  • 1 x ADC引脚(输入范围0~3.3V)
  • 板载5V 1A开关电源(高输入电压24V)

0 人点赞