xjzh

  • 2019-09-12
  • 加入了学习《精通LabVIEW虚拟仪器程序设计》,观看 第12章 LabVIEW的通信

  • 加入了学习《精通LabVIEW虚拟仪器程序设计》,观看 第2章 第一个LabVIEW例子

  • 加入了学习《LabView实用技巧系列视频》,观看 VI的创建

  • 加入了学习《LabVIEW网络讲坛》,观看 巧夺天工-LabVIEW控件的妙用

  • 2019-07-21
  • 加入了学习《色卡密码锁》,观看 色卡密码锁

  • 加入了学习《智能房车控制系统作品演示》,观看 作品演示

  • 加入了学习《DIY作品演示》,观看 基于MQTT消息通讯的IoT入门实例

  • 2019-06-29
  • 加入了学习《电子测量原理》,观看 电子测量原理44

  • 加入了学习《电子测量原理》,观看 电子测量原理01

  • 2019-06-28
  • 回复了主题帖: 【GD32E231 DIY】远程数据采集系统

    wdl67 发表于 2019-6-26 11:34 好, 感谢分享!
    ^_^

  • 2019-06-22
  • 加入了学习《远程数据采集作品演示》,观看 远程数据采集作品演示

  • 2019-06-21
  • 加入了学习《新版RTOS教程:15天入门RT-Thread内核》,观看 初识RT-Thread

  • 2019-06-17
  • 回复了主题帖: 【GD32E231 DIY】远程数据采集系统

    本帖最后由 xjzh 于 2019-6-17 22:37 编辑 附上Word文档^_^ 补充内容 (2019-6-21 23:27): http://training.eeworld.com.cn/video/20589

  • 发表了主题帖: 【GD32E231 DIY】远程数据采集系统

    本帖最后由 xjzh 于 2019-6-17 02:08 编辑         LoRa技术在物联网发展中占据着重要位置,因其易于建设和部署,成为当前普遍应用的物联网专用网络通信技术。近几年,因LoRa技术成熟度处于领先地位,还有LoRa传输距离远,功耗低,抗干扰性强的特点,使得LoRa模块的应用十分广泛。     本文设计利用GD32E231采集温湿度,红外检测等环境数据,然后通过无线传输将数据传输至后台系统。     本设计利用GD32E231C8T6控制温湿度传感器DHT11、人体红外检测模块、OLED和LoRa通信模块等。将采用到的温度、湿度和红外报警信号通过OLED显示出来,并通过LoRa通信节点将数据传送至后台的LoRa节点,最终上传到上位机。 图1 总体结构图 1、DHT11模块     运用GD32E231C8T6微控制器的GPIO功能采集DHT11传感器的温度和湿度数据。DHT11一次完整的数据传输为40bit,高位先出。     数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和。     DHT11的初始化时序如下: 读取数据0的时序如下: 读取数据1的时序如下: 采用PA1与DHT11的数据输入输出口相连接,设计流程如下: 2、红外检测模块         HC-SR501是基于红外线技术的自动控制模块,采用EXTI2来检测人体红外检测模块HC-SR501的信号。进入其感应范围则输出高电平,人离开感应范围则自动延时关闭高电平,输出低电平。         a、不可重复触发方式:即感应输出高电平后,延时时间段一结束, 输出将自动从高电平变成低电平;         b、可重复触发方式:即感应输出高电平后,在延时时间段内,如果有人体在其感应范围活动,其输出将一直保持高电平,直到人离开后才延时将高电平变为低电平(感应模块检测到人体的每一次活动后会自动顺延一个延时时间段,并且以最后一次活动的时间为延时时间的起始点)。        设计流程如下图:                                      3、OLED     所用的OLED显示屏控制器为SSD1306,控制128X64的点阵显示。采用GD32E231C8T6微控制器的SPI功能模块和OLED的四线SPI模式通信。设计流程如下图:                                                            4、LoRa通信模组     采用ALIENTEK 推出的一款体积小、微功率、低功耗、高性能远距离 LORA 无线串口模块ATK-LORA-01。各引脚的详细的详细描述如下。 MD0 输入 1、 配置进入参数配置 2、 上电时与 AUX 引脚配合进入固件升级模式 AUX 1、 输出 2、 输入 1、 用于指示模块工作状态,用户唤醒外部MCU 2、 上电时与 MD0 引脚配合进入固件升级模式 RXD 输入 TTL 串口输入,连接到外部 TXD 输出引脚 TXD 输出 TTL 串口输出,连接到外部 RXD 输入引脚 GND 地线   VCC DC3.3~5V 电源输入     电气连接如下图: 工作方式主要有: 1) 透明传输:即透传数据,例如:A设备发5字节数据 AA BB CC DD EE 到 B 设备,B设备就收到数据 AA BB CC DD EE。(透明传输,针对设备相同地址、相同的通信信道之间通信,用户数据可以是字符或 16 进制数据形式)。 2)定向传输:即定点传输,例如: A设备(地址为: 0x1400,信道为0x17(23 信道 433Mhz))需要向B设备(地址为0x1234,信道为0x10(16 信道、426Mhz))发送数据AA BB CC,其通信格式为:12 34 10 AA BB CC,其中1234为模块 B 的地址,10为信道,则模块B可以收到 AA BB CC。同理,如果B设备需要向A设备发送数据AA BB CC,其通信格式为:14 00 17 AA BB CC,则A设备可以收到AA BB CC。(定向传输,可实现设备间地址和通信信道不同之间通信,数据格式为16进制,发送格式:高位地址+低位地址+信道+用户数据)。 3) 广播与数据监听:将模块地址设置为0xFFFF,可以监听相同信道上的所有模块的数据传输;发送的数据,可以被相同信道上任意地址的模块收到,从而起到广播和监听的作用。 LoRa通信模组的配置流程如下图:     项目的测试仅在室内进行,采用的LoRa无线通信实际距离可达3000米(视具体的地形、遮挡物等环境而定),另外由于时间原因,该项目可进一步优化,后期上位机可以采用更加友好的用户界面,也可以根据需要在后台使用MCU来接收和处理远端采集的数据信息。     通过这次活动,感觉到了国产MCU发展的非常好,在很多应用场景下,GD32E231是完全够用的,官方提供的库函数也非常好用,希望兆易MCU的市场越来越大,发展越来越好。感谢兆易创新及电子工程世界论坛!同时感谢勤劳付出的管理员!      

  • 2019-06-16
  • 发表了主题帖: 【GD32E231 DIY】无线通信

    这里的无线通信为LoRa技术,采用接口为串口的LoRa通信模组。主要函数配置如下: 串口的初始化为: 设置串口参数: 设置发送函数 设置接收函数   LoRa模块初始化 LoRa参数设置函数 AUX中断设置 发送数据函数:    

  • 发表了主题帖: 【GD32E231 DIY】TIMER的使用

    使用TIMER来精确定时,选择TIMER5,使用单脉冲方式,向上计数,使用TIMER5的更新中断,初始化函数如下:   另外,可设置一下更新预装载值的函数:   中断函数如下:

  • 发表了主题帖: 【GD32E231 DIY】串口通信

    这里使用USART0,分别选择PA9和PA10作为串口的发送端和接收端。 初始化管脚和串口,配置PA9和PA10为AF1备用模式: 配置串口的工作参数并开启接收非空中断,bound为函数的传递参数,8位字长,无校验位,1位停止位。 定义串口中断函数,接收字符并将其发送返回给串口助手。

  • 发表了主题帖: 【GD32E231 DIY】人体红外检测(EXTI)

    采用EXTI2来检测人体红外检测模块HC-SR501的信号,HC-SR501是基于红外线技术的自动控制模块。 采用PA2作为外部中断线EXTI2的输入,初始化函数如下: 外部中断2和外部中断3 共用中断向量和中断函数,中断函数的定义如下: 当有人出现在人体红外检测模块HC-SR501有检测范围当中时,红外模块输出高电平,就会产生中断,到人离开后才延时将高电平变为低电平,也进入中断。高电平和低电平分别用”Someone is here!”和”Nobody is here.”标志。  

  • 发表了主题帖: 【GD32E231 DIY】OLED使用(SPI)

    本次分享采用SPI来驱动OLED显示屏。OLED显示屏控制器为SSD1306,控制128X64的点阵显示。   SSD1306的结构如下: 可以采用GPIO模拟SPI时序,本次实例直接采用GD32E231C8T6微控制器的SPI功能模块。 使用OLED的四线SPI模式,时序为: 每个管脚的详细信息可以查看SSD1306的芯片手册。   利用SPI0来驱动OLED屏,选择PB3和PB5为SCK和MOSI   将PB3-PB7初始化: SPI写字节函数: 设置DC管脚,选择数据还是命令: 控制片选端: 控制是否复位: 写命令:   写数据: OLED初始化函数 刷新显存: 往数据OLED_GRAM写入相应的点阵即可显示相应的内容。    

  • 发表了主题帖: 【GD32E231 DIY】温湿度采集

        本次分享运用GD32E231C8T6微控制器的GPIO功能采集DHT11传感器的温度和湿度数据。     DHT11一次完整的数据传输为40bit,高位先出。 数据格式:8bit湿度整数数据+8bit湿度小数数据+8bi温度整数数据+8bit温度小数数据+8bit校验和     DHT11的初始化时序如下: 读取数据0的时序如下:   读取数据1的时序如下:     将PA1引脚用作DHT11传感器的DATA线   配置PA1为输入或输出模式函数定义:   设置PA1的输出值函数及读取DATA线上的数据函数:   初始化函数:   读1位数据:   读取一个字节数据:   读取温度和湿度的整数部分: th的 高8位为温度值,低8位为湿度值。      

最近访客

< 1/2 >

统计信息

已有14人来访过

  • 芯币:64
  • 好友:--
  • 主题:11
  • 回复:13
  • 课时:1
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言