Arduino外部中断按钮输入控制继电器输出

目录

一、硬件

1、硬件介绍

2、Arduino外部

(1)中断引脚

(2)中断触发方式

(3)中断函数

二、外部中断0

三、外部中断0、外部中断1


一、硬件

1、硬件介绍

Adruino单片机、按钮、继电器。

按钮:输入低电平读取有效。

继电器:输出低电平继电器吸合。

系统整体

按钮

2、Arduino外部

(1)中断引脚

(2)中断触发方式

(3)中断函数

(1)  attachInterrupt(interrupt, function,mode)

功能:对中断引脚进行初始化配置

参数: interrupt,中断编号,注意,这里的中断编号并不是引脚编号

function,中断函数名,当中断被触发后即会运行此函数所代表的中断函数。

mode,中断模式。上升沿信号触发还是下降沿信号触发

(2)detachInterrupt(interrupt)

功能:禁用外部中断

参数: interrrupt,需要禁用的中断编号

二、外部中断0

外部中断0,对应引脚2。程序使用下降沿触发方式。

代码

bool state = true;
void setup() 
{Serial.begin(9600);  attachInterrupt(0,StateChange,FALLING);     //外部中断0,对应输入的引脚2。下降沿触发。StateChange:中断函数pinMode(5,OUTPUT);           //             pinMode(2,INPUT_PULLUP);
}void loop() 
{if(state){digitalWrite(5,HIGH);}else{digitalWrite(5,LOW);}    
}//中断函数
void StateChange()
{state= !state;
}

三、外部中断0、外部中断1

代码

bool rstate = false;    //外部中断0,控制输出
bool bstate = false;    //外部中断1,控制输出
void setup() 
{Serial.begin(9600);  attachInterrupt(0,RStateChange,FALLING);    //外部中断0,对应输入的引脚2。下降沿触发。对应中断函数:StateChange()attachInterrupt(1,BStateChange,FALLING);    //外部中断1,对应输入的引脚3。下降沿触发。对应中断函数:BStateChange()pinMode(5,OUTPUT);pinMode(7,OUTPUT);pinMode(2,INPUT_PULLUP);pinMode(3,INPUT_PULLUP);
}void loop() 
{digitalWrite(5,rstate);digitalWrite(7,bstate);
}//外部中断0函数
void RStateChange()
{rstate = !rstate;bstate = false;
}
//外部中断1函数
void BStateChange()
{bstate = !bstate;rstate = false;   }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/286798.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5 Landscape地貌制作 - 学习笔记

P2. 创建地形 https://www.bilibili.com/video/BV1mD4y1D7D6?p2&spm_id_frompageDriver&vd_source707ec8983cc32e6e065d5496a7f79ee6 新建一个Basic场景选择Landscape Mode 生成预览网格(绿色网格)从文件导入:可以导入dem高度图地貌…

二叉树【数据结构】

目录 二叉树1. 二叉树定义二叉树的存储定义 2. 遍历二叉树(1) 前序遍历(2) 中序遍历(3) 后序遍历(4) 层序遍历 3. 二叉树的相关操作(1) 二叉树的初始化(2) 二叉树的结点的手动创建(3) 二叉树结点的个数(4) 二叉树叶子结点的个数(5) 二叉树的高度(6) 第k层结点个数(7) 通过前序遍…

Linux 特殊符号

目录 1. # 注释 2. ;命令分隔符 3. .. 上级目录 4. . 当前目录 5. " " 换行,解析变量 6. 换行,不解析变量 7. \ 和 / 8. !历史命令调用,取反 9. * 通配符 10. $ 调用变量 11. | 管道 12. || …

数据结构:树(Tree)

树型结构 树的概念 树是一种非线性结构,他是由n(n>0)个有限结点组成的一个具有层次关系的集合。 当n0时,该树为空树。 在任意一个非空树中都满足以下条件: 1、有一个特殊的结点,称为根结点&#xff0c…

统一系统脆弱性管理平台:七大功能和漏洞说“拜拜”

由国联易安的研究团队自主研发的新一代漏洞扫描管理系统——统一系统脆弱性管理平台,涵盖了网络空间资产探测、系统漏洞扫描、虚拟机漏洞扫描、Web漏洞扫描、网站安全监测、数据库安全扫描、安全基线核查、工控漏洞扫描、WiFi安全检测、App安全扫描、大数据平台漏洞…

Axure

目录 一. 交互 1.2 交互事件 二. 情形 2.1 应用场景 三. 案例 3.1 ERP登录 3.2 ERP页面跳转 一. 交互 交互事件是指在用户界面中发生某些操作或行为时,触发相应的响应或动作。在设计网页、应用程序或其他用户界面时,交互事件通常用于实现交互式功…

mybatis 实现分页功能, mybatis plus 实现分页功能

目录 1 mybatis 实现分页功能2 mybatis plus 实现分页功能 1 mybatis 实现分页功能 ApiModelProperty(value "开始页")private Integer page 1;ApiModelProperty(value "每页数据个数")private Integer rows 10;以上是前端传过来的数据 Overridepublic…

Java 数据结构篇-实现二叉搜索树的核心方法

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 二叉搜索树的概述 2.0 二叉搜索树的成员变量及其构造方法 3.0 实现二叉树的核心接口 3.1 实现二叉搜索树 - 获取值 get(int key) 3.2 实现二叉搜索树 - 获取最小…

Floyd求最短路(Floyd算法)

参考:约会怎么走到目的地最近呢?一文讲清所有最短路算法问题-CSDN博客 有4个城市8条路,公路上的数字表示这条公路的长短,并且路是单向的,现在要求我们求出任意两个城市之间的最短路程,也就是求任意两个点之…

Springboot项目启动前,使用GUI做初始化配置页面并将Log4j2的日志实时显示在GUI上

Springboot项目启动前,使用GUI做初始化配置页面并将Log4j2的日志实时显示在GUI上 效果预览 Mac Os效果图 Windows 10 效果图 需求分析 做这样的一个功能并不适用于所有系统,主要用于交付给用户的产品,这样方便客户自行维护。传统的服务一般…

初冬天气变化大,长辈身上的这些小毛病千万不能轻视

心率、血氧、肺功能,甚至是一次次不起眼的咳嗽,背后都可能藏着健康问题。但是我们可以利用好手表上的健康检测功能,提前获知健康数据的变化,有的放矢,科学应对身体的不适,度过一个有准备的温暖冬天&#xf…

SoapUI、Jmeter、Postman三种接口测试工具的比较分析!

前段时间忙于接口测试,也看了几款接口测试工具,简单从几个角度做了个比较,拿出来与诸位分享一下。本文从多个方面对接口测试的三款常用工具进行比较分析,以便于在特定的情况下选择最合适的工具,或者使用自己编写的工具…