littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于PIC18F16Q41微控制器的天气站系统

项目简介

本项目基于PIC18F16Q41微控制器,借助Microchip的Curiosity Nano开发平台,搭配MikroE Click板构建了一个天气站系统。系统通过I2C模块与BME280天气传感器通信获取温度、湿度和气压数据,利用12位ADCC模块测量环境光强度,使用SPI模块驱动OLED显示屏实时显示数据,还能通过UART模块将数据通过串口输出。

项目的主要特性和功能

  1. 实时数据测量:可实时测量温度、相对湿度、大气压力和环境光强度。
  2. 多模块通信:采用I2C、SPI、UART和ADCC模块实现与传感器及显示屏的通信。
  3. 数据补偿:运用补偿算法将BME280传感器的原始数据转换为可用于显示的实际值。
  4. 多方式数据展示:通过OLED显示屏实时展示数据,也能通过串口输出数据。

安装使用步骤

硬件准备

  1. 准备PIC18F16Q41 Curiosity Nano评估套件、Curiosity Nano Base板、OLED C Click板、Weather Click板和Ambient Click板。
  2. 将OLED C Click板插入Socket 1,Weather Click板插入Socket 2,Ambient Click板插入Socket 3,无需额外布线。

软件准备

  1. 下载安装MPLAB X IDE v6.20或更新版本、MPLAB XC8 v3.0.0或更新版本、MPLAB Code Configurator (MCC) Classic、MPLAB Code Configurator (MCC) Device Libraries PIC10 / PIC12 / PIC16 / PIC18 MCUs以及Microchip PIC18F - Q Series Device Support (1.25.433)或更新版本。
  2. 获取本项目的源代码文件。

代码编译与下载

  1. 打开MPLAB X IDE,导入项目代码。
  2. 使用MPLAB XC8编译器编译代码。
  3. 利用Microchip的调试和编程工具将编译后的代码下载到PIC18F16Q41 Curiosity Nano评估套件中。

运行与测试

  1. 将开发板连接到电脑,打开串口终端,设置波特率为9600,无校验位,1个停止位。
  2. 观察OLED显示屏上的实时天气数据,同时可在串口终端查看输出的温度、压力、湿度和环境光强度数据。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】