数码管制作猜数字小游戏

编程入门 行业动态 更新时间:2024-10-08 00:26:11

数码管制作猜数字<a href=https://www.elefans.com/category/jswz/34/1769974.html style=小游戏"/>

数码管制作猜数字小游戏

猜数字

  • 简介
  • 接线图
  • Arduino代码
  • 总结

原文链接:.html

简介

数码管内部结构图

一位8段共阴极LED数码管

接线图


Arduino代码

/*
每次按键后闪动随机图案,最后停留在一个数字上面
此版本已基本实现猜数字游戏装置功能。
*/
int myNumber;void setup() {pinMode(2, INPUT_PULLUP);Serial.begin(9600);int pinNumber = 3;while(pinNumber <= 9){pinMode(pinNumber, OUTPUT);pinNumber = pinNumber + 1;}randomSeed(analogRead(A0));
}// the loop function runs over and over again forever
void loop() {if (!digitalRead(2)){myNumber = getRandomNumber(0, 10);}displayNumber(myNumber);
}
int getRandomNumber(int minNumber, int maxNumber){int randomNumber;int i; while(i < 15){i = i + 1;randomNumber = random(minNumber,maxNumber);//displayNumber(randomNumber);displayRandom();delay(100);displayClear();delay(100);Serial.print("i = ");Serial.println(i);Serial.print("randomNumber = ");Serial.println(randomNumber);Serial.println("");}return randomNumber;
}void displayNumber(int ledNumber){switch(ledNumber){case 1:  //显示1digitalWrite(4, HIGH);digitalWrite(7, HIGH); break;   case 2:  //显示2digitalWrite(3, HIGH);digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); break;   case 3:   //显示3digitalWrite(3, HIGH);digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); break;   case 4:  //显示4digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); break;  case 5:  //显示5digitalWrite(3, HIGH);digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); break;case 6:  //显示6digitalWrite(3, HIGH);digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); break;    case 7:  //显示7digitalWrite(3, HIGH);digitalWrite(4, HIGH); digitalWrite(7, HIGH);  break;case 8:  //显示8digitalWrite(3, HIGH);digitalWrite(4, HIGH);digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); break;case 9:  //显示9digitalWrite(3, HIGH);digitalWrite(4, HIGH);digitalWrite(5, HIGH); digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); break;case 0:  //显示默认digitalWrite(3, HIGH);digitalWrite(4, HIGH);digitalWrite(6, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH); digitalWrite(9, HIGH); break;default:digitalWrite(4, HIGH); digitalWrite(5, HIGH); digitalWrite(7, HIGH); digitalWrite(8, HIGH);  digitalWrite(9, HIGH);   }
}void displayClear(){digitalWrite(3, LOW);digitalWrite(4, LOW);digitalWrite(5, LOW); digitalWrite(6, LOW); digitalWrite(7, LOW); digitalWrite(8, LOW); digitalWrite(9, LOW); 
}void displayRandom(){int randomPin = random(3,9);digitalWrite(randomPin, HIGH);  
}

总结

根据这个实验可以制作一个小小的猜数字的游戏,进一步了解与学习如何使用数码管。

更多推荐

数码管制作猜数字小游戏

本文发布于:2024-03-07 21:46:12,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1718987.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:小游戏   数码管   数字

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!