Funpack第二季第四期任务一基于AVR64DD32 Curiosity Nano温度报警系统
一 .AVR64DD32 Curiosity Nano硬件介绍
AVR DD系列是Microchip公司AVR单片机产品线中的最新的一员,它的内部结构灵活、性能强大,有着比较丰富的外设和存储资源。该系列采用了最新的不依赖内核的外设,能够以非常低的功耗、在多种电压输入输出之间进行安全的双向通信,事件系统、可配置逻辑CCL、智能模拟外设,比如12位的ADC和过零检测都使得AVR DD系列非常适用于传感、IoT终端节点以及其它需要信号调理及电平转移的应用。
板卡特点:
- AVR64DD32微控制器
- 一个黄色用户LED
- 一个机械式用户开关
- 一个32.768kHz晶体
- 一个24MHz晶体
- 板载调试器:
- 一个绿色电源及状态指示LED
- 编程和调试
- 虚拟串行端口 (CDC)
- 两个调试GPIO通道 (DGI GPIO)
- USB供电
- 可调目标电压:
- MIC5353 LDO稳压器,由板载调试器控制
- 输出电压范围:1.8V至5.1V(受USB输入电压限制)
- 最大输出电流:500mA(受环境温度和输出电压限制)
外观示意图如图1.1,引脚图如1.2所示
图1.1
图1.2
二.开发环境搭建
这里使用的开发环境是Arduino的开发环境,环境的搭建参考了一位博主的教程,教程链接为https://blog.csdn.net/honestqiao/article/details/129635075
三.任务说明
由于我这里是第一批在得捷电子上购买的板卡,这里完成的主要是任务一,实现了一个温度报警模块,使用了两个外设 ADC以及串口模块详细任务以及选购的模块如下
任务一:
数字蜂鸣器模块 DFR0032产品参数
- 类型:数字信号
- 电压:+5V DC
- 接口模式:PH2.0-3
- 平面尺寸:30x20mm
- 高电平控制发声,低电平停止发声
图3.2
这里使用到了AVR64DD32 Curiosity Nano的PD3和PD7引脚PD7引脚作为ADC的输入端 PD3作为蜂鸣器模块的控制引脚,使用杜邦线把温度传感器模块和蜂鸣器模块连接到AVR64DD32 Curiosity Nano板子上。
这里根据题目要求主要实现了温度报警,当监控的温度超过一定的度数蜂鸣器会报警,同时通过串口把温度信息传到电脑的串口助手上。
四.软件编写
程序部分使用了AVR64DD32 Curiosity Nano的一个ADC模块和串口的模块。一共使用了两个引脚,PD3用于控制蜂鸣器,PD7用于读取温度传感器采集的值详细程序如下。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(PIN_PD5, PIN_PD4); // RX, TX
int sensorValue = 0; // value read from the pot
void setup() {
pinMode(PIN_PD3,OUTPUT);
// Open serial communications and wait for port to open:
Serial.begin(57600);
// while (!Serial) {
// ; // wait for serial port to connect. Needed for native USB port only
// }
// set the data rate for the SoftwareSerial port
mySerial.begin(4800);
}
void loop() {
//读取adc值
sensorValue=analogRead (PIN_PD7);
float voltage= sensorValue * (3.3 / 1023.0);
float tem=(voltage-0.5)*100;
delay(1000);
if(tem>30)
{
digitalWrite(PIN_PD3,HIGH);
}
else
{
digitalWrite(PIN_PD3,LOW);
}
mySerial.println(tem);
}
五.结果与总结
5.1结果
板子连接上电脑后,打开arduino软件,把程序下载到AVR64DD32 Curiosity Nan中,使用一定的手段加热温度传感器,在电脑串口助手上可以实时的看到当前温度值,当温度超过设定的温度值后蜂鸣器模块会报警,详细演示在视频里。
5.2总结
很高兴参加硬禾学堂举办的寒假一起练的活动,学习了AVR64DD32 Curiosity Nan的在arduino平台下的软件开发流程,以及温度传感器模块和蜂鸣器模块的使用,更加熟悉了arduino的使用。