0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于CC2530设计的自动晾衣杆

DS小龙哥-嵌入式技术 来源:DS小龙哥-嵌入式技术 作者:DS小龙哥-嵌入式技 2022-05-27 09:50 次阅读

1. 功能说明

现在都市的生活越来越忙,很多人都没有时间和精力来管理一些细节上的东西,比如,在合适的阳光温度时间内晾晒衣服。针对这来问题开始研究,通过对智能晾衣架控制系统的设计与实现的不断探究,得到了比较好的设计思路。

使用CC2530单片机ADC接口采集雨滴传感器模拟值,得到雨滴传感器的雨滴测量值之后,与预先设置的阀值进行对比,是否要打开或者收回晾衣杆,这个晾衣杆的伸缩采用步进电机进行模拟;并且还支持语音控制、手动控制晾衣杆的伸缩。

image-20220111111849127

2. 硬件介绍

2.1 CC2530开发板

image-20220111112235136

2.2 雨滴传感器

image-20220111112304127

2.3 步进电机

image-20220111112335963

2.4 MR-LD3320语音识别模块

image-20220111112450786

3. 源代码

image-20220111113249381

3.1 雨滴传感器数据采集

代码下载链接: https://download.csdn.net/download/xiaolong1126626497/75318366

/*===================ADC初始化函数====================*/
void Init_ADC0()
{
 P0SEL |= 0x01;   //P0_0端口设置为外设功能
 P0DIR &= ~0x01;   //P0_0端口设置为输入端口
 APCFG |= 0x01;   //P0_0作为模拟I/O使用
}
​
​
/*===================读取ADC的数据====================*/
u16 Get_ADC0_Value()
{
 //存放采集的ADC数据
 u16 adc_dat=0;
 u8 dat[2];
 ADCIF = 0;
 //参考电压选择AVDD5引脚,256抽取率,AIN0通道0
 ADCCON3 = (0x80 | 0x10 | 0x00);
 while(!ADCIF);   //等待A/D转换完成,
 dat[0]= ADCL;   //读取ADC数据低位寄存器
 dat[1]= ADCH;   //读取ADC数据高位寄存器
 
 adc_dat=dat[1]<<8|dat[0];
 
  return adc_dat;
}
​
// P0.6
void Init_ADC6(void)
{
    APCFG  |=1<<6;  //PCFG[7:0]选择P0.7- P0.0作为模拟I/O
    P0SEL  |= 0x01; 
    P0DIR  &= ~0x01;   
    
    P0SEL |= (1<<6);      //P0_6端口设置为外设功能
    P0DIR &= ~(1<<6);     //P0_6端口设置为输入端口
    APCFG |= 1<<6;        //P0_6作为模拟I/O使用
}
​
​
//读取光敏传感器的值  P0.6
u16 Get_ADC6_Value( void )
{
  u16 reading = 0;
  
  /* Enable channel */
  ADCCFG |= 0x40;
  
  /* writing to this register starts the extra conversion */
  ADCCON3 = 0x86;// AVDD5 引脚  00: 64 抽取率(7 位ENOB)  0110: AIN6
  
  /* Wait for the conversion to be done */
  while (!(ADCCON1 & 0x80));
  
  /* Disable channel after done conversion */
  ADCCFG &= (0x40 ^ 0xFF); //按位异或。如1010^1111=0101(二进制)
  
  /* Read the result */
  reading = ADCL;
  reading |= (u16) (ADCH << 8); 
  
  reading >>= 8;
 
 return (reading);
}
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.2 步进电机控制代码

typedef unsigned char uchar;
typedef unsigned int uint;
​
#define A1 P0_4 //定义步进电机连接端口
#define B1 P0_5
#define C1 P0_6
#define D1 P0_7
​
uchar phasecw[4] ={0x80,0x40,0x20,0x10};//正转 电机导通相序 D-C-B-A
uchar phaseccw[4]={0x10,0x20,0x40,0x80};//反转 电机导通相序 A-B-C-D
​
void MotorData(uchar data)
{
 A1 = 1&(data>>4);
 B1 = 1&(data>>5);
 C1 = 1&(data>>6);
 D1 = 1&(data>>7);
}
​
//ms延时函数
void Delay_MS(uint x)
{
 uint i,j;
 for(i=0;i
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png

3.3 串口初始化-接收语音识别指令

uint lenU1 = 0;
uchar tempRXU1;
#define MAXCHAR 81
uchar RecdataU1[MAXCHAR];
​
unsigned char dataRecv;
unsigned char Flag = 0;
​
void clearBuffU1(void)
{
 int j;
 for(j=0;j
poYBAGDYdXCAWkKMAAAAK8RNs4s030.png


审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2548

    文章

    50678

    浏览量

    751997
  • 单片机
    +关注

    关注

    6032

    文章

    44516

    浏览量

    633009
  • CC2530
    +关注

    关注

    19

    文章

    221

    浏览量

    57942
收藏 人收藏

    评论

    相关推荐

    CC2530 外部中断配置步骤

    介绍CC2530 外部中断配置步骤。
    的头像 发表于 07-06 14:41 2874次阅读
    <b class='flag-5'>CC2530</b> 外部中断配置步骤

    Cc2530

    CC2530
    三分温柔
    发布于 :2022年05月31日 21:12:52

    CC2530应用电路

    CC2530应用电路 Component Description Va
    发表于 06-29 08:09 5481次阅读
    <b class='flag-5'>CC2530</b>应用电路

    基于CC2530的SDHC卡读写设计

    提出了将SDHC卡作为CC2530的外部存储设备实现数据存储的方法。SDHC卡具有体积小、存储容量大的特点,通过CC2530组建的无线传感网络适用于工业监测,而将SDHC卡与CC2530相结合
    发表于 05-02 14:28 3601次阅读
    基于<b class='flag-5'>CC2530</b>的SDHC卡读写设计

    基于CC2530芯片_zigbee基础实验

    zigbee基础实验,基于CC2530芯片
    发表于 12-11 10:48 49次下载

    cc2530底板

    CC2530的核心板原理图和详细底板的PCB,包括重要外设的PCB
    发表于 06-20 17:48 0次下载

    cc2530的PWM实现

    CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其它强大的功能。CC2530 有四种不同的闪存版本:CC2530F32/64/128/256,分别具有
    发表于 11-07 18:43 4000次阅读
    <b class='flag-5'>cc2530</b>的PWM实现

    cc2530芯片有哪些功能

    CC2530是专门针对IEEE 802.15.4和Zigbee应用的单芯片解决方案,经济且低功耗。 CC2530有四种不同的版本:CC2530-F32 / 64 / 128 / 256。分别带有
    发表于 11-08 11:05 2.3w次阅读

    CC2530英文数据手册

    CC2530英文数据手册
    发表于 12-02 11:06 29次下载
    <b class='flag-5'>CC2530</b>英文数据手册

    介绍CC2530性能及主要应用

    CC2530 片上系统视频
    的头像 发表于 06-12 06:34 1w次阅读

    CC2530的数据手册和CC2530的应用手册免费下载

    CC2530是一个真正的系统芯片(SOC)解决方案,适用于IEEE 802.15.4、ZigBee和RF4CE应用。它能够以非常低的总物料清单成本构建强健的网络节点。CC2530将领先的射频收发器
    发表于 01-18 08:00 126次下载
    <b class='flag-5'>CC2530</b>的数据手册和<b class='flag-5'>CC2530</b>的应用手册免费下载

    CC2530芯片的基本特性和CC2530无线模块的设计

    本文介绍了CC2530芯片的基本特性,论述了以CC2530芯片为核心的无线通信模块的硬件设计和调试软件设计,在介绍设计规范和模块结构的基础上,采用TI公司的CC2530芯片作为主控制芯片设计出具
    发表于 02-11 08:00 97次下载
    <b class='flag-5'>CC2530</b>芯片的基本特性和<b class='flag-5'>CC2530</b>无线模块的设计

    CC2530驱动OLED源代码

    CC2530驱动OLED源代码
    发表于 09-27 14:48 2次下载

    CC2530 芯片介绍

    简介 CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其它强大的功能。CC2530 有四种不同的闪存版本
    发表于 01-03 11:00 3749次阅读

    cc2530继电器模块使用

    CC2530继电器模块是一款基于TI公司的低功耗无线通信芯片CC2530的继电器应用模块。它能实现物联网设备之间的远程控制,广泛应用于家庭自动化、工业控制、智能农业等领域。本文将详细介绍CC2
    的头像 发表于 12-21 14:47 1424次阅读