项目简介
本项目是基于AVR微控制器的ATMega328P微控制器温度读取和显示系统。利用DS18B20温度传感器读取温度数据,并将其实时显示在HD44780 LCD屏幕上,使用CMake和Ninja进行编译和上传。
项目的主要特性和功能
- 借助DS18B20温度传感器读取温度数据。
- 实时在HD44780 LCD屏幕上显示读取到的温度数据。
- 支持灵活的端口配置,可重新定义I²C和DS18B20的端口。
- 主程序通过无限循环持续更新温度和时间显示。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件。
步骤
- 解压源码文件。
- 打开终端,依次执行以下命令(注意将
<port>
替换为PCB连接的串口,例如/dev/ttyUSB0
):$ cd atmega328p_thermometer $ mkdir build $ cd build $ cmake -DCMAKE_BUILD_TYPE=Release -G Ninja -DPROG_PORT=<port> .. $ ninja $ ninja upload
重新定义默认端口
I²C端口
若要更改默认I²C端口,需在运行cmake命令时添加以下额外参数:
-DREDEFINED_I2C_PORTS=1
-DSDA_PORT=<port>
-DSDA_DDR=<ddr>
-DSDA_PORT_BIT=<bit>
-DSCL_PORT=<port>
-DSCL_DDR=<ddr>
-DSCL_PORT_BIT=<bit>
例如,将I²C SDA和SCL端口分别更改为Arduino的第9和第10个数字引脚,需运行以下cmake命令:
cmake -DCMAKE_BUILD_TYPE=Release -G Ninja -DPROG_PORT=/dev/ttyUSB0 -DREDEFINED_I2C_PORTS=1 -DSDA_PORT=PORTB -DSDA_DDR=DDRB -DSDA_PORT_BIT=1 -DSCL_PORT=PORTB -DSCL_DDR=DDRB -DSCL_PORT_BIT=2 ..
DS18B20端口
若要更改默认DS18B20 DQ端口,需在运行cmake命令时添加以下额外参数:
-DREDEFINED_DS18B20_PORT=1
-DDS18B20_PORT=<port>
-DDS18B20_DDR=<ddr>
-DDS18B20_PIN=<pin>
-DDS18B20_PORT_BIT=<bit>
例如,将DS18B20 DQ端口更改为Arduino的第5个数字引脚,需运行以下cmake命令:
cmake -DCMAKE_BUILD_TYPE=Release -G Ninja -DPROG_PORT=/dev/ttyUSB0 -DREDEFINED_DS18B20_PORT=1 -DDS18B20_PORT=PORTD -DDS18B20_DDR=DDRD -DDS18B20_PIN=PIND -DDS18B20_PORT_BIT=5 ..
3. 上传到ATMega328P微控制器后,项目即可运行,实时读取温度数据并在LCD屏幕上显示。
注意事项
在编译和上传项目时,请确保微控制器的端口配置与项目设置一致。如果需要更改端口配置,请按照上述说明进行修改。此外,确保使用的DS18B20和HD44780模块与项目兼容。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】