Arduino控制灯与蜂鸣器
最近在学习Arduino的简单器件组合
实验内容
按下按键,灯开始变换颜色,
当红灯亮了蜂鸣器响,蓝灯亮起时都不响
const int BLUE=11; //声明变量,蓝灯引脚接在第11针脚;
const int RED=12; //声明变量,红灯引脚接在第12针脚;
const int BUTTON=7;//声明变量,按钮接在第7针脚;
const int voice=10;//声明变量,声音接在第10针脚;
int val=0; //声明变量,用来存储按钮返回值HIGH或者LOW;
int val_old=0;//声明变量,存储上一次按钮返回值;比对val和val_old的值,来判断按钮是按下还是抬起//val==LOW && val_old==HIGHT 抬起状态;val==HIGH && val_old==LOW 按下状态;
int state=0;//0 off,1 on 声明变量,起到中转的作用,小技巧;
void setup() //初始化;
{pinMode(BLUE,OUTPUT); //定义LED灯输出模式;pinMode(RED,OUTPUT); //定义LED灯输出模式;pinMode(BUTTON,INPUT);//定义BUTTON为输入模式;pinMode(voice,OUTPUT);//定义VOICE为输出模式
}void loop(){val=digitalRead(BUTTON);//读取数字针脚的值;if((val==HIGH) && (val_old==LOW))//比较前一次和现在的按钮返回的值,//只有现在按下按钮这个状态下,才改变state的值{state=1-state;}if((val==LOW && val_old==HIGH)) //去抖的作用,一般10-15ms;{delay(10);}val_old=val;//把现在按钮返回的值赋予val_old;if(state==1)//控制灯开关;{digitalWrite(BLUE,HIGH);//如果蓝色亮起红色暗digitalWrite(RED,LOW);if(digitalRead(RED)==LOW)//红灯暗了则蜂鸣器不响digitalWrite(voice,LOW);delay(1000);//延迟1sdigitalWrite(BLUE,LOW);//如果蓝灯暗红灯亮digitalWrite(RED,HIGH);if(digitalRead(RED)==HIGH)//红灯亮了digitalWrite(voice,HIGH);//蜂鸣器响delay(1000);}else{digitalWrite(BLUE,LOW);//如果红蓝灯都不亮digitalWrite(RED,LOW);digitalWrite(voice,LOW);//蜂鸣器也不响}}
参考来源:https://blog.csdn.net/nkd50000/article/details/80176039
Arduino控制灯与蜂鸣器相关推荐
- Arduino LED灯随着蜂鸣器音乐闪烁
Arduino LED灯随着蜂鸣器音乐闪烁 所需组件: 开发板 面包板 LED灯 蜂鸣器 连接线 示意图: 接线方式: 3脚蜂鸣器: 1.GND接开发板的一个地口 2.VCC线接5V开发板5v电源 3 ...
- arduino控制点阵屏与蜂鸣器_数字制造讲义08-Arduino声音应用2
数字制造讲义01-成为数字世界的建造者 数字制造讲义02-Arduino入门 数字制造讲义03-电路基础 数字制造讲义04-负责输入和输出的智能元件 数字制造讲义05-软硬件数据通信 数字制造讲义06 ...
- arduino控制点阵屏与蜂鸣器_还在为遥控项目发愁?Arduino遥控套装解决你的所有问题(下)...
最近想做点遥控的小玩具,所以一直在寻找一款实用的开发板(最好是兼容Arduino的,因为我只会玩arduino,对于其他单片机编程烧写什么的一概不知道...),所以苦苦寻找了许久,然后发现了下面两款板 ...
- Arduino控制RGB灯(WS2812B)
Arduino控制RGB灯 RGB灯.WS2812B介绍 软件准备 程序代码 功能演示 后续 RGB灯.WS2812B介绍 RGB灯是以三原色共同交集成像,此外,也有蓝光LED配合黄色荧光 粉,以及紫 ...
- 乐博机器人Arduino周五班级,入门课程,碰撞开关控制灯闪烁
Arduino 碰撞开关控制灯的闪烁 Arduino 碰撞开关控制灯的闪烁在 int led123456789 = 13; int pengZhuang =2; int zhuangtai =0;// ...
- Arduino控制WS2812灯带(灯环)
设计者:STCode(公众号同名) Arduino控制WS2812灯带(灯环) 1) WS2812灯 WS2812灯带 WS2812灯环 WS2812是一个集控制电路与发光电路于一体的智能外空LED光 ...
- 控制LED灯和蜂鸣器的按键实验
按键实验 描述 用到的相关寄存器 GPIO IDR ODR RCC 确定位置 LED灯 蜂鸣器 按键 程序及分析 不支持连续按 视频展示 支持连续按 视频展示 总结 描述 本喵这次介绍的实验是按键实验 ...
- LabVIEW控制Arduino流水灯(基础篇—3)
目录 1.实验目的 2.实验环境 3.程序设计 4.实验演示 1.实验目的 利用LIAT中的数字I/O函数库,通过LabVIEW控制Arduino Uno控制板上多个管脚上LED灯,实现依次点亮,依次 ...
- 秒上手!使用Arduino控制基于WS2812B的LED灯条
使用Arduino控制基于WS2812B的LED灯条 一.材料准备 硬件部分 1. Arduino UNO R3 开发板 2. 基于WS2812B的LED灯条 3. 杜邦线若干 软件部分 1. Ard ...
最新文章
- __stdcall详解
- kotlin 查找id_Kotlin程序查找Square区域
- iOS 自定义转场动画浅谈
- JDK 之 HttpClient(jdk11)
- Tree Restoration Gym - 101755F (并查集)
- Mac电脑Docker拉取Mysql报错?no matching manifest for linux/arm64/v8 in the manifest list entries
- 小米蓝牙音响驱动_拆解报告:小米无线充蓝牙音箱
- 使用paddlepaddle 进行人脸识别
- dependency-track 初始化源码解析
- 使用 Visual Studio 创建 .NET 控制台应用程序
- 应用实例之__get()魔术方法--ShuipFCMS的组件(Components)调用原理
- ArcGIS中.shp矢量文件和.lyr图层文件的区别
- Unity3D-摄像机详解
- 日语语法(四):形容词
- 资源宝分享wordpress主题后门检测清理技巧
- 《操作系统》--RR、进程同步、银行家算法及Clock算法复习题
- 小白之-----------shell脚本批量管理服务器
- 数据库-------关系数据库标准语言SQL
- spring boot接入微信小程序支付流程
- 视频教程-MVC+EF+LayUI框架的应用案例-软件设计