Funpack第二季第四期任务一基于AVR64DD32 Curiosity Nano温度报警系统
Funpack第二季第四期任务一使用AVR64DD32 Curiosity Nano开发板,和温度传感器和蜂鸣器模块实现了温度报警系统
标签
嵌入式系统
Arduino
Funpack活动
温度监控
wjhgbpqm
更新2023-05-04
杭州电子科技大学
327

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所示

FlKDapRTAy5ilKhGf6kX9vgKmbu1图1.1

FrWh10frKpHxqFx_xZ-Db6v6x90S

 

图1.2

二.开发环境搭建

这里使用的开发环境是Arduino的开发环境,环境的搭建参考了一位博主的教程,教程链接为https://blog.csdn.net/honestqiao/article/details/129635075

三.任务说明

由于我这里是第一批在得捷电子上购买的板卡,这里完成的主要是任务一,实现了一个温度报警模块,使用了两个外设 ADC以及串口模块详细任务以及选购的模块如下

任务一:

选购模拟信号输出的温度传感器,搭配AVR片内模拟比较器实现温度监控,当超过一定温度时报警。我这里使用的两个模块一个是温度传感器模块另一个是蜂鸣器模块 。这里介绍一下选购的数字蜂鸣器模块 DFR0032。该模块可以通过Arduino或者其他控制器就能轻松的控制蜂鸣器发出声音甚至MID音乐。 该模块与Arduino其他传感器结合使用,能够实现酷炫的声光互动作品,外观图如图3.1
温度传感器是Adafruit TMP235模块外观如图3.2。
 
 
 
 
 
FpSomdEMV_00-iqqtN7-TeRT3IU-
 
 
图3.1
 

数字蜂鸣器模块 DFR0032产品参数

  • 类型:数字信号
  • 电压:+5V DC
  • 接口模式:PH2.0-3
  • 平面尺寸:30x20mm
  • 高电平控制发声,低电平停止发声

Fuc8yIifIr8A3R3Y-mKXPCiLDVrM

图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的使用。

 
附件下载
程序.zip
团队介绍
评论
0 / 100
查看更多
目录
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号