linkdfrobot 发表于 2015-4-12 10:55:45

用随机函数制作猜硬币正反游戏(周金程)

最近在老师的指导下,笔者初步学习了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]
查看完整版本: 用随机函数制作猜硬币正反游戏(周金程)