Files
esp8266_study/代码案例/6 Arduino基础学习/24 MC猜数字(6)- 完成制作/Lesson24_2/Lesson24_2.ino
2024-09-27 01:22:07 +08:00

144 lines
3.4 KiB
C++
Executable File

/*
24 MC猜数字 - 5 完成制作 - 2
太极创客
www.taichi-maker.com
此程序用于太极创客<<零基础入门学用Arduino教程>>
24 MC猜数字 - 5 完成制作 - 2
修改了getRandomNumber函数。目前该函数每次调用后将显示5个随机数字。
这五个随机数字将通过串口监视器显示出来。并且最后一个随机数字将显示在LED数码管上。
2017-04-23
*/
void setup() {
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() {
int myNumber = getRandomNumber(0, 10);
displayNumber(myNumber);
delay(5000);
displayClear();
delay(500);
}
int getRandomNumber(int minNumber, int maxNumber){
int randomNumber;
int i;
while(i < 5){
i = i + 1;
randomNumber = random(minNumber,maxNumber);
displayNumber(randomNumber);
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: //显示1
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
break;
case 2: //显示2
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
break;
case 3: //显示3
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 4: //显示4
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
break;
case 5: //显示5
digitalWrite(3, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 6: //显示6
digitalWrite(3, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
break;
case 7: //显示7
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(7, HIGH);
break;
case 8: //显示8
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
digitalWrite(9, HIGH);
break;
case 9: //显示9
digitalWrite(3, HIGH);
digitalWrite(4, HIGH);
digitalWrite(5, HIGH);
digitalWrite(6, HIGH);
digitalWrite(7, HIGH);
digitalWrite(8, HIGH);
break;
case 0: //显示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);
}