0.部分需要掌握的知识点和注意事项

(1)面包板的结构

(2)按键的结构:按键按下时,左右两侧连通;按键松开后,左右两侧断开,但1号与2号相连,3号与4号相连,即按键松开时,同侧不相连,相连不同侧。

注:在将按键插入面包板的时候,需要用力,以免按键不能正常接入电路。

(3)函数

①pinMode():

功能:指定特定端口是作为输入还是输出;

形式:pinMode(pin,mode)

参数:pin:想要设定的端口号;mode:模式,有INPUT,OUTPUT和INPUT_PULLUP三种模式。(INPUT_PULLUP参数设定内置的上拉电阻是否被使能)。

返回值:none;

②digitalWrite():

功能:控制引脚输出高低电平;如果引脚被pinMode()设为OUTPUT,5V (或者 3.3V 在使用 3.3V的板子上) 就是HIGH, 0V (ground) 就是 LOW。如果引脚被设为INPUT,digitalWrite()将对输入引脚的上拉电阻使能HIGH(或者禁止LOW)。建议digitalwrite和digitalread使用之前都要用piMode指定输出输入,否则引脚上拉电阻会像限流电阻一样(此时应该是高阻态)。

形式:digitalWrite(pin,value)

参数:pin:要操作的引脚;value:有HIGH和LOW两个取值。

③digitalRead():

功能:读取引脚电平状态;

形式:digitalRead(pin)

参数:pin:要读取的引脚

返回值:HIGH或者LOW;

1.原理图:

2.实物图(注意有些面包板的上下部分的中间会有一段断开的部分,如下图红框所示):

3.代码:

 1 int redled = 8; //红色LED 输出
 2 int yellowled = 7; //黄色LED输出
 3 int greenled = 6; //绿色LED输出
 4 int redpin = 5; //红色按键引脚
 5 int yellowpin = 4; //黄色按键引脚
 6 int greenpin = 3; //绿色按键引脚
 7 int restpin = 2; //复位按键引脚定义
 8 int red;
 9 int yellow;
10 int green;
11 void setup() {
12     pinMode(redled, OUTPUT);
13     pinMode(yellowled, OUTPUT);
14     pinMode(greenled, OUTPUT);
15     pinMode(redpin, INPUT);
16     pinMode(yellowpin, INPUT);
17     pinMode(greenpin, INPUT);
18 }
19 void loop() //按键循环扫描。
20 {
21     red = digitalRead(redpin);
22     yellow = digitalRead(yellowpin);
23     green = digitalRead(greenpin);
24     if (red == LOW) RED_YES();
25     if (yellow == LOW) YELLOW_YES();
26     if (green == LOW) GREEN_YES();
27 }
28
29 void RED_YES() //一直执行红灯亮,直到复位键按下,结束循环
30 {
31     while (digitalRead(restpin) == 1) {
32         digitalWrite(redled, HIGH);
33         digitalWrite(greenled, LOW);
34         digitalWrite(yellowled, LOW);
35     }
36     clear_led();
37 }
38 void YELLOW_YES() //一直执行黄灯亮,直到复位键按下,结束循环
39 {
40     while (digitalRead(restpin) == 1) {
41         digitalWrite(redled, LOW);
42         digitalWrite(greenled, LOW);
43         digitalWrite(yellowled, HIGH);
44     }
45     clear_led();
46 }
47 void GREEN_YES() //一直执行绿灯亮,直到复位键按下,结束循环
48 {
49     while (digitalRead(restpin) == 1) {
50         digitalWrite(redled, LOW);
51         digitalWrite(greenled, HIGH);
52         digitalWrite(yellowled, LOW);
53     }
54     clear_led();
55 }
56 void clear_led() //清除LED
57 {
58     digitalWrite(redled, LOW);
59     digitalWrite(greenled, LOW);
60     digitalWrite(yellowled, LOW);
61 }

4.结果

转载于:https://www.cnblogs.com/stefango/p/8932107.html

Arduino抢答器相关推荐

  1. 【Arduino实验04 抢答器制作】

    目录 一.设计任务 二.设计思路 三.设计原理 1.电路原理 2.编程原理 四.硬件设计 1.硬件设计概述 2.输入.输出电路说明,重要模块功能说明 3.电路图与电路功能说明 4.抢答器电路原理图 ​ ...

  2. proteus中仿真arduino利用74hc373实现抢答器

    首先,我们来介绍一下74HC373.74HC373和74LS373原理一样,8数据锁存器.主要用于数码管.按键等等的控制.这里我们用来制作抢答器. 74HC373简介 负载驱动 74HC373 的输出 ...

  3. Arduino项目——三路抢答器的设计

    1. 抢答器简介 抢答器是通过设计电路,以实现如字面上意思的能准确判断出抢答者的电器.在知识竞赛.文体娱乐活动(抢答赛活动)中,能准确.公正.直观地判断出抢答者的座位号.更好的促进各个团体的竞争意识, ...

  4. 使用scratch结合Dsbot机器人做一个抢答器!

    案例1.抢答器 一 学一学 任务描述:搭建两个按钮的抢答器,当按下其中一个,对应的led灯亮起来,蜂鸣器响一声.另一个按钮按下没效. 学习目标:掌握终止循环程序,学习"while循环&quo ...

  5. 单片机8位抢答器实训机电报告_CD4511八路抢答器实验报告-

    CD4511八路抢答器实验报告- 本文关键词:八路,实验,报告,抢答器,CD4511 CD4511八路抢答器实验报告- 本文简介:小学期实验设计任务目录摘要I第1章绪论11.1课题研究的相关背景11. ...

  6. Ardino基础教程 6_抢答器

    实验六:抢答器 完成上面的实验以后相信已经有很多朋友可以独立完成这个实验了,本实验就是将上面的按键控制小灯的实验扩展成3 个按键对应3 个小灯,占用6 个数字I/O 接口. 电路连接图 原理这里就不多 ...

  7. 单片机中灯泡显示miss_单片机实例分享,如何设计八路抢答器

    单片机作为可编程器件,简化了电路的设计.方便了逻辑设计,从此再也不用使用一大堆电路做硬件逻辑了.拆开任何一件功能稍微复杂一点电子产品,里边都可以看到单片机的身影.学会单片机对找工作也很有利,而且待遇还 ...

  8. 基于FPGA的竞赛抢答器

    基于FPGA的竞赛抢答器,使用verilog语言设计实现. 实验要实现的基本功能是 主持人按下开始,三个人抢答,主持人可以给选手加分或者减分,分数用数码管来显示.以下是主要功能和指标: (1)设计一个 ...

  9. 基于 FPGA 的数字抢答器设计

    下面是基于 FPGA 的数字抢答器设计,在quartusII下,modelsim下仿真,编程语言VHDL.   1.抢答器的工作原理 主持人宣布可以抢答后,在 20s 的定时时间内若有人按键抢答,则这 ...

最新文章

  1. nodejs 各种插件
  2. bamboo php,建立数据模型 — asbamboo php framework 文档
  3. GraphQL 配合 JWT 使用 —— Laravel RSS (二)
  4. android Hander Service 广播的综合使用案例
  5. 《认知设计:提升学习体验的艺术》——小结
  6. 台式计算机 启天 m4600,联想启天M4600-N000:高效的焕新之选——台式机
  7. 0619-dedeCMS的安装、重装、目录说明、基本操作及注意事项
  8. Quartz 之入门示例
  9. lingo的初步使用(集)
  10. 高清壁纸|是时候换换心情了
  11. 单独组件_iOS组件化/模块化的方案总结
  12. [转]HTML DIV+CSS 命名规范大全
  13. geohash美团附近酒店搜索-技术方案
  14. Android ListView 滑动背景为黑色的解决办法 listview小知识整理
  15. java程序员必备快捷键
  16. oracle 计算时间差 毫秒,Oracle计算时间差为毫秒的实现代码
  17. 小众但口碑好的便签软件
  18. Xiuno 开发手册正式发布。
  19. vue按钮移上去显示提示_vue 鼠标移入移出事件(移入出现按钮),element-ui表格移入移出...
  20. P1216 数字金字塔

热门文章

  1. 2060显卡驱动最新版本_聊一款现阶段性价比爆炸的显卡——铭瑄RTX2070 SUPER 电竞之心 OC...
  2. sqlserver php用户登陆页,SQLServer限制IP,限制用户,限制SSMS登录
  3. 学校机房为什么要穿鞋套?
  4. 如果深入学习前端,大佬给你总结了几个技巧!
  5. LeetCode 496. 下一个更大元素 I
  6. 进程间通信(未完成)
  7. 怎么知道自己适不适合学计算机专业,不知道自己到底适不适合学习计算机专业...
  8. linux less 带颜色,less中color函数字体颜色计算
  9. easyui前端实现多选框_EasyUI实现下拉框多选功能
  10. java流错误的是什么_Java 流异常的标准处理 | 学步园