适用于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)