“第十八课--Microduino 4路抢答器/zh”的版本间的差异

来自Microduino Wikipedia
跳转至: 导航搜索
(Created page with "{| style="width: 800px;" |- | ==目的== 本教程将教大家通过Microduino使用5个按钮按键做一个4路的抢答器,4个按键分别标上1~4的编号,同时按...")
 
程序
 
(未显示2个用户的8个中间版本)
第1行: 第1行:
 +
{{Language|Lesson_18--Microduino_4-way_Responder}}
 
{| style="width: 800px;"
 
{| style="width: 800px;"
 
|-
 
|-
第7行: 第8行:
  
 
==设备==
 
==设备==
*'''[[Microduino-Core]]'''
+
*'''[[Microduino-Core/zh]]'''
*'''[[Microduino-FT232R]]'''
+
*'''[[Microduino-USBTTL/zh]]'''
 
*其他硬件设备
 
*其他硬件设备
 
**面包板跳线  一盒   
 
**面包板跳线  一盒   
第18行: 第19行:
 
**USB数据连接线  一根
 
**USB数据连接线  一根
  
 +
==原理图==
  
==原理图==
+
'''共阳:'''
 
[[File:第十八课-Microduino4路抢答器原理图.jpg|600px|center|thumb]]
 
[[File:第十八课-Microduino4路抢答器原理图.jpg|600px|center|thumb]]
  
第26行: 第28行:
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! Microduino引脚 !! 数码管引脚
+
! Microduino引脚 !! 数码管引脚序号 !! 数码管引脚字符
 
|-
 
|-
| D10 || 1
+
| D10 || 1 || e
 
|-
 
|-
| D9 || 2
+
| D9 || 2 || d
 
|-
 
|-
| D5 || 3
+
| D5 || 3 || GND
 
|-
 
|-
| D8 || 4
+
| D8 || 4 || c
 
|-
 
|-
| D13 || 5
+
| D13 || 5 || dp
 
|-
 
|-
| D7 || 6
+
| D7 || 6 || b
 
|-
 
|-
| D6 || 7
+
| D6 || 7 || a
 
|-
 
|-
| 不接 || 8
+
| 不接 || 8 || GND
 
|-
 
|-
| D11 || 9
+
| D11 || 9 || f
 
|-
 
|-
| D12 || 10
+
| D12 || 10 || g
 
|}
 
|}
  
==程序==
+
'''共阴:'''
<source lang="cpp">
 
  
#include "SevSeg.h"
+
引脚表
SevSeg sevseg;
+
{| class="wikitable"
 +
|-
 +
! Microduino引脚 !! 数码管引脚序号 !! 数码管引脚字符
 +
|-
 +
| D11 || 1 || e
 +
|-
 +
| D2 || 2 || d
 +
|-
 +
|  || 3 || GND
 +
|-
 +
| D4 || 4 || c
 +
|-
 +
| D5 || 5 || dp
 +
|-
 +
| D6 || 6 || b
 +
|-
 +
| D7 || 7 || a
 +
|-
 +
| GUN || 8 || GND
 +
|-
 +
| D9 || 9 || f
 +
|-
 +
| D10 || 10 || g
 +
|}
  
void setup() {
+
==程序==
  //定义需要使用的引脚
 
  sevseg.Begin(1,2,3,4,5,6,7,8,9,10,11,12,13);
 
  pinMode(1, INPUT);    //按钮1引脚
 
  pinMode(2, INPUT);    //按钮2引脚
 
  pinMode(3, INPUT);    //按钮3引脚
 
  pinMode(4, INPUT);    //按钮4引脚
 
 
 
  sevseg.PrintOutput();
 
  sevseg.NewNum(0, 4); //初始值0
 
 
 
}
 
 
 
void loop() {
 
  //激活输出功能
 
  sevseg.PrintOutput();
 
 
 
  //循环读取这四个按钮的引脚
 
  for(int i=1; i<=4; i++) {
 
    if(digitalRead(i)==HIGH) {//如果有按钮按下
 
      while(1) {//显示按键编号
 
        sevseg.PrintOutput();
 
        sevseg.NewNum(i, 4);
 
      }
 
    }
 
  }
 
}
 
  
 +
共阳:
 +
[https://github.com/Microduino/Microduino_Tutorials/tree/master/Microduino_Advanced/Microduino4Responder Microduino4Responder]
  
</source>
+
共阴:
 +
见lesson18Segment
  
 
==调试==
 
==调试==

2014年10月29日 (三) 04:37的最新版本

Language English

目的

本教程将教大家通过Microduino使用5个按钮按键做一个4路的抢答器,4个按键分别标上1~4的编号,同时按下4个按键,数码管上会显示最先按下的按键编号,还有一个按钮起到重置的作用

设备

  • Microduino-Core/zh
  • Microduino-USBTTL/zh
  • 其他硬件设备
    • 面包板跳线 一盒
    • 面包板 一块
    • 按键 五个
    • 数码管 一个
    • 10k欧电阻 五个
    • 220欧电阻 一个
    • USB数据连接线 一根

原理图

共阳:

第十八课-Microduino4路抢答器原理图.jpg


引脚表

Microduino引脚 数码管引脚序号 数码管引脚字符
D10 1 e
D9 2 d
D5 3 GND
D8 4 c
D13 5 dp
D7 6 b
D6 7 a
不接 8 GND
D11 9 f
D12 10 g

共阴:

引脚表

Microduino引脚 数码管引脚序号 数码管引脚字符
D11 1 e
D2 2 d
3 GND
D4 4 c
D5 5 dp
D6 6 b
D7 7 a
GUN 8 GND
D9 9 f
D10 10 g

程序

共阳: Microduino4Responder

共阴: 见lesson18Segment

调试

首先介绍下库文件,需要解压缩后放到arduinoIDE目录的libraries内,然后重启arduinoIDE就能加载这个库了

库作者的发布页面:https://docs.google.com/file/d/0Bwrp4uluZCpNN1Q4dmFZX1MzWVE/edit

这个库,可以驱动四位数码管,支持显示数字与小数点,使用简单方便。具体请自己参悟研究

步骤一:把代码复制到IDE中,编译

步骤二:电路连接,我们用一位共阳数码管电路图照片如下:

第十八课-Microduino4路抢答器连接图.jpg

共四个按键,按键的接法完全一样,一段接电源,另一端并联一个信号线和地线。

步骤三:运行代码

步骤四:这时数码管会显示初始值0,同时按下四个按键,看数码管的变化。数码管会显示最先按下的案件编号

结果

数码管会显示最先按下的按键编号,最右边的是重置键,实现抢答器功能。

视频

http://v.youku.com/v_show/id_XNjgwMzY0MzU2.html