前言

继电器是一个生活中比较常用的元器件,有了继电器,我们可以使用单片机输出的低电平控制高电平期间工作,比如继电器接到220V用电器上,可通过单片机智能控制用电器,本节我们开始正式学习如何使用继电器。

一、基础知识

1. STM32物联网套件简介

STM32物联网套件目前有两个版本:基础版和高级版,后续会增加应用版本和语音版,核心板均采用STM32F103C8T6核心板,基础版主要元器件如下所示:

高级版版主要元器件如下所示:

STM32物联网套件致力于带领大家入门物联网,不仅学习STM32,也了解转微信小程序开发、物联网服务器后台开发,真正做到了解一个物联网项目的方方面面,基于此,我们定制了一套通用的WIFI通讯协议(可以理解为类似AT指令,不过集成度更高,几条指令就可以直连接云平台),如三条指令连接腾讯云实例。

后续我们会继续增加涂鸦智能、电信云、移动Onenet、阿里云等主流云平台的支持,力争做到,一套STM32代码,通过定制的WIFI模块可以连接到不同的云平台,也欢迎有产品开发需求的朋友私聊我们咨询、定制物联网方案!

本套物联网套件可以支持大学生参加物联网相关比赛、申请学校大创项目、完成毕业设计等,我们的定位是做一家开源智能硬件服务商,和大家一起探索物联网,我们的使命是推动更多物联网产品的落地和普及,让技术不再是阻碍!

2. 继电器简介

继电器是具有隔离功能的自动开关元件,实际上是用小电流去控制大电流运作的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用,广泛应用于遥控、遥测、通讯、自动控制、机电一体化及电力电子设备中,是最重要的控制元件之一,继电器可以分为很多种,本实验使用光耦隔离继电器,实物图如下:

继电器原理图如下所示:

从上图可知,给继电器模块供电后,红色LED灯就会被点亮,当给IO引脚输入低电平后,单片机IO输出的电流经过S8550放大后,驱动继电器SRD-05V,继电器中5、3常闭开关断开,5、2常开开关关闭,同时绿色LED灯点亮,P1端口引脚2为COM端口,1为NC,3为NO。

3. 硬件设计

硬件电路连接原理图如下所示:

注:默认NO和COM是断开的,所以默认LED等关闭,当使能继电器时候,NO通过COM连接到GND。

实物图如下所示:

其中,VCC GND PB12控制继电器输入,继电器输出需要单独提供电源,可以使用220V供电,然后回路通过继电器输出端口,分别接NO和COM端口,如此继电器输出控制相当于一个开关,可以控制输出电路的通断,本实验使用的是3.3V供电控制LED灯亮灭。

二、实例

1. 新建工程

使用STM32CubeMX创建一个新的工程,参考环境搭建章节配置方式,设置RCC和PB12引脚输出

进入Clock configuration页面,选择HSE时钟源,倍频后主时钟为72MHz

切换到Project Manager栏目,设置工程名字、工程保存目录、工具链等信息,具参数如下图所示

点击左边栏目Code Generator,然后勾选Generate peripheral initialization as a pair of ‘.c/.h’ files per peripheral,勾选此选项,外设将单独保存在一个文件中,而不是全部都在main.c中。

然后打开MDK-ARM/3.Relay.uvprojx工程

2.修改程序

/** * @brief  The application entry point. * @retval int */
int main(void)
{ /* USER CODE BEGIN 1 */ /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); /* USER CODE BEGIN 2 */ /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) { /* USER CODE END WHILE */ HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_RESET); HAL_Delay(1000); HAL_GPIO_WritePin(GPIOB, GPIO_PIN_12, GPIO_PIN_SET); HAL_Delay(1000); /* USER CODE BEGIN 3 */ } /* USER CODE END 3 */
}

注意void HAL_Delay(uint32_t Delay)为毫秒级函数,根据系统Systick延时。

/** * @brief This function provides minimum delay (in milliseconds) based *        on variable incremented. * @note In the default implementation , SysTick timer is the source of time base. *       It is used to generate interrupts at regular time intervals where uwTick *       is incremented. * @note This function is declared as __weak to be overwritten in case of other *       implementations in user file. * @param Delay specifies the delay time length, in milliseconds. * @retval None */
__weak void HAL_Delay(uint32_t Delay)
{ uint32_t tickstart = HAL_GetTick(); uint32_t wait = Delay; /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) { wait += (uint32_t)(uwTickFreq); } while ((HAL_GetTick() - tickstart) < wait) { }
}

三、下载运行

按照环境搭建章节方式给核心板下载程序,可以听到LED灯每隔1秒点亮一次。

四、小结

如您在使用过程中有任何问题,请加QQ群进一步交流。

QQ交流群:906015840 (备注:物联网项目交流)

源码获取:关注公众号,回复xiaoyi_stm32kits获取资料

硬件获取:某宝搜索小驿物联

小驿物联出品:宁愿做过了后悔,也不要后悔没去做!

STM32物联网套件基础版03-控制继电器相关推荐

  1. STM32物联网套件基础版05-外部中断

    前言 上一节我们学习了单片机独立按键操作,实际上我们采用的是查询的方法,MCU实时检测有无按键按下比较占用MCU资源,本节我们将使用中断的方法实现按键操作. 一.基础知识 1. STM32物联网套件简 ...

  2. 劢领AT| 五分钟,零基础玩转阿里云物联网套件

    劢领AT| 五分钟,零基础玩转阿里云物联网套件 阿里云准备工作 新建产品 添加设备 WIFI模块及设备连接 AT指令方式 配置网络 一步到位,直接连接阿里云 发布与订阅消息 订阅主题 说明 阿里云准备 ...

  3. FineUICore基础版部署到docker实战

    文 | 蒙古海军司令 · 合作者 FineUI用了好多年,最近出了FineUICore版本,一直没时间是试一下docker,前几天买了一个腾讯云服务器,1核2g,装了centos7.6,开始的时候主要 ...

  4. 国内外物联网平台初探(篇二:阿里云物联网套件)

    国内外物联网平台初探(篇二:阿里云物联网套件) ------ [导读]------ 物联网智库将于本周开始,在每周五下午的第二篇文章推送由马智先生研究撰写的系列文章--<国内外物联网平台初探&g ...

  5. 【专栏】国内外物联网平台初探(篇二:阿里云物联网套件)

    [专栏]国内外物联网平台初探(篇二:阿里云物联网套件) 作者:马智 物联网智库 整理发布 转载请注明来源和出处 ------ [导读]------ 物联网智库将于本周开始,在每周五下午的第二篇文章推送 ...

  6. 【基础版】大学计算机-计算思维导论

    超星尔雅[基础版]大学计算机-计算思维导论章节测验答案,下面就是按照章节顺序的题目 计算机.计算与计算思维 1[单选题]人类应具备的三大思维能力是指_____.答案:实验思维.理论思维和计算思维 A. ...

  7. 【AI Studio】飞桨图像分类零基础训练营 - 03 - 卷积神经网络基础

    前言:第三天,老师结合ppt文图详细讲解了线性和卷积网络的构建,由简单到复杂的讲解卷积网络的发展.最后结合几个项目加深理解.愈发感觉老师讲的好了.第二天的课听完后还感觉自己什么都懂了,结果轮到自己动手 ...

  8. 新书预告:Xilix FPGA数字信号处理设计——基础版

    掌握FPGA数字信号处理设计需满足三个条件:熟悉FPGA设计方法.理解数字信号处理理论.掌握理论的工程实现方法.对初学者来讲,每个条件看似都难以逾越.杜勇老师完美融合课程教学与工程设计的需求特点,以独 ...

  9. 蓝桥杯物联网竞赛基础图文教程——时钟选择

    蓝桥杯物联网竞赛基础图文教程--时钟选择 1什么是时钟 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令.时钟系统就是CPU的脉搏,决定cpu速率,像人的心跳一样 只有有了心跳,人才 ...

  10. 【立创开源】基于N32/STM32物联网终端设备

    1.项目功能介绍 STM32终端控制器,设计的初衷是做一款拥有蓝牙BLE与LORA传输功能的室内外传感控检测控制的产品. 该项目基于目前DIY爱好者经常使用的STM32F103C8T6型号,通过LOR ...

最新文章

  1. 设计模式-静态工厂之服务提供者框架
  2. SourceInsight 4.0 之四 项目配置(库文件引入、配置宏添加、快捷键修改等)
  3. 发送临时文件被服务器拒绝,临时会话说服务器拒绝了您发送离线文件的请求 - 卡饭网...
  4. kayui进行添加_关于layui 实现点击按钮添加一行(方法渲染创建的table)
  5. 计算机网络之数据链路层:1、概述
  6. python开发【第一篇】入门
  7. Atitti.dw cc 2015 绿色版本安装总结
  8. java中访问权限控制顺序_Java中的四种访问权限控制 | 学步园
  9. python 图像模糊处理实现
  10. 从零玩转第三方登录之QQ登录
  11. 高等数学(第七版)同济大学 习题3-8 个人解答
  12. 如何理解P40采用RYYB比RGGB的感光能力提升40%
  13. 全国计算机等级考试在线报名湖南,『NCRE报名入口』湖南2020年下半年计算机等级报名入口-ncre-bm.neea.cn...
  14. 19南大软院上岸学姐考研经验分享
  15. AUTOCAD——隔离
  16. vad算法 c语言,腾讯视频cKey算法
  17. python接口自动化-发邮件带附件
  18. 电子商务基础:中小企业建站方案和资源
  19. 离线环境安装python第三方库
  20. V2V Data Offloading for Cellular Network Based on the SDN Inside MEC Architecture 学习笔记

热门文章

  1. gpio引脚介绍 树莓派3b_树莓派4的GPIO接口介绍
  2. linux在文件末尾追加字符串,Linux中通过Shell对文件中指定行进行增加、删除、追加、替换...
  3. android:kotlin语言开发再也不用findViewById与ButterKnife
  4. 什么电子邮箱正式?企业工作邮箱大全,一般白领用什么邮箱账号?
  5. 苹果app退款_你有一笔来自苹果App Store的不明扣款
  6. P1192 台阶问题
  7. PNP和NPN磁感应开关有什么区别
  8. 【题解】UVA11584 Partitioning by Palindromes
  9. EXCEL常用技巧总结
  10. html职业性格测试,MBTI职业性格测试专业版