/* 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); }