用随机函数制作猜硬币正反游戏(周金程)
最近在老师的指导下,笔者初步学习了arduino的相关知识,并利用arduino的一些套件联想到应用随机函数来制作一些新的应用。以下是该实验要用到的一些器材(包括Uno板子,面包板,面包线)。int button1 = 3;
int button2 = 4;
int led1 = 8;
int led2 = 9;
int buzzer = 10; //设置所有LED灯、按钮与蜂鸣器
int number = 0;
void setup() {
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(button1, INPUT);
pinMode(button2, INPUT);
pinMode(buzzer,OUTPUT);
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(buzzer,LOW);//所有LED与蜂鸣器设置为输出模式,按钮为输入模式
number = random(0,1); //给number函数赋值(0或1)
}
void loop() {
int state1 = digitalRead(button1);
int state2 = digitalRead(button2); //设置按钮的输入状态
if(state1 == HIGH ){ //如果按钮1被按下
digitalWrite(led1, LOW); //小灯1灭
if(number == 0 ) { //如果变量number为0
for (int x=0; x <= 5; x++){
digitalWrite(buzzer,HIGH);
delay(50);
digitalWrite(buzzer,LOW);
delay(50);
digitalWrite(buzzer,HIGH);
delay(50);
digitalWrite(buzzer,LOW);
delay(500);} //控制蜂鸣器发声一段时间,然后结束
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(buzzer,LOW);
number = random(0,1) ;} //程序初始化,小灯亮,蜂鸣器灭。重新给number赋值(0或1)
}
if(state2 == HIGH ){ //如果按钮2被按下
digitalWrite(led2, LOW); //小灯2灭
if(number== 1 ){ //如果变量number为1
for (int x=0; x <= 5; x++){
digitalWrite(buzzer,HIGH);
delay(50);
digitalWrite(buzzer,LOW);
delay(50);
digitalWrite(buzzer,HIGH);
delay(50);
digitalWrite(buzzer,LOW);
delay(500);} //控制蜂鸣器发声一段时间,然后结束
digitalWrite(led1,HIGH);
digitalWrite(led2,HIGH);
digitalWrite(buzzer,LOW);
number = random(0,1) ;}//程序初始化,小灯亮,蜂鸣器灭。重新给number赋值(0或1)
}
}
完成这段代码后就可以按照下图的拼接方法进行实验了!
电路连接图:
页:
[1]