圣源电子制作

 找回密码
 立即注册
查看: 10095|回复: 0

Ardunio 入门教程-实验十四 2位数码管骰子

[复制链接]
发表于 2012-5-13 16:02:14 | 显示全部楼层 |阅读模式
Ardunio 入门教程-实验十四 2位数码管骰子

实验用到的元件
TD776_IMG_4061.JPG
实验用到的元件 ,1个数码管,1个轻触开关,1个10K欧姆的电阻,13根杜邦线,2块实验板。

原理图
20120513171644.png


20120513165318.png

连接图
TD776_IMG_4056.JPG
按下 轻触开关数字随机滚动,松开显示摇到的数字。(10K下拉电阻是不可以少的 ,否则会照成电路不稳定)

实验演示视频:



代码:
  1. // Project 14 - Double Dice

  2. int segmentPins[] = {3, 2, A5, A2, A4, 4, 5, A3};
  3. int displayPins[] = {10, 11};

  4. int buttonPin = 12;

  5. byte digits[10][8] = {
  6. //  a  b  c  d  e  f  g  .
  7.   { 1, 1, 1, 1, 1, 1, 0, 0},  // 0
  8.   { 0, 1, 1, 0, 0, 0, 0, 0},  // 1
  9.   { 1, 1, 0, 1, 1, 0, 1, 0},  // 2
  10.   { 1, 1, 1, 1, 0, 0, 1, 0},  // 3
  11.   { 0, 1, 1, 0, 0, 1, 1, 0},  // 4
  12.   { 1, 0, 1, 1, 0, 1, 1, 0},  // 5
  13.   { 1, 0, 1, 1, 1, 1, 1, 0},  // 6
  14.   { 1, 1, 1, 0, 0, 0, 0, 0},  // 7
  15.   { 1, 1, 1, 1, 1, 1, 1, 0},  // 8  
  16.   { 1, 1, 1, 1, 0, 1, 1, 0}  // 9  
  17. };
  18.    
  19. void setup()
  20. {
  21.   for (int i=0; i < 8; i++)
  22.   {
  23.     pinMode(segmentPins[i], OUTPUT);
  24.   }
  25.   pinMode(displayPins[0], OUTPUT);
  26.   pinMode(displayPins[1], OUTPUT);
  27.   pinMode(buttonPin, INPUT);
  28. }

  29. void loop()
  30. {
  31.   static int dice1;
  32.   static int dice2;
  33.   if (digitalRead(buttonPin))
  34.   {
  35.     dice1 = random(1,7);
  36.     dice2 = random(1,7);
  37.   }
  38.   updateDisplay(dice1, dice2);
  39. }

  40. void updateDisplay(int value1, int value2)
  41. {
  42.   digitalWrite(displayPins[0], LOW);
  43.   digitalWrite(displayPins[1], HIGH);
  44.   setSegments(value1);
  45.   delay(5);
  46.   digitalWrite(displayPins[0], HIGH);
  47.   digitalWrite(displayPins[1], LOW);
  48.   setSegments(value2);
  49.   delay(5);  
  50. }

  51. void setSegments(int n)
  52. {
  53.   for (int i=0; i < 8; i++)
  54.   {
  55.     digitalWrite(segmentPins[i], ! digits[n][i]);
  56.   }
  57. }
复制代码
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|联系我们|闽公网安备 35012102000020号|圣源电子 ( 闽ICP备11020110号 )

GMT+8, 2024-3-28 22:28 , Processed in 0.051332 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表