8331浏览
查看: 8331|回复: 0

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

[复制链接]
最近在老师的指导下,笔者初步学习了Arduino的相关知识,并利用arduino的一些套件联想到应用随机函数来制作一些新的应用。
以下是该实验要用到的一些器材(包括Uno板子,面包板,面包线)。
用随机函数制作猜硬币正反游戏(周金程)图2用随机函数制作猜硬币正反游戏(周金程)图3

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

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

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

  1. int button1 = 3;
  2. int button2 = 4;
  3. int led1 = 8;
  4. int led2 = 9;
  5. int buzzer = 10; //设置所有LED灯、按钮与蜂鸣器
  6. int number = 0;
  7. void setup() {      
  8.           pinMode(led1, OUTPUT);
  9.           pinMode(led2, OUTPUT);
  10.         pinMode(button1, INPUT);
  11.         pinMode(button2, INPUT);     
  12.         pinMode(buzzer,OUTPUT);
  13.         digitalWrite(led1, HIGH);
  14.         digitalWrite(led2, HIGH);
  15.         digitalWrite(buzzer,LOW);  //所有LED与蜂鸣器设置为输出模式,按钮为输入模式
  16.         number = random(0,1);    //给number函数赋值(0或1)
  17.               }
  18. void loop() {
  19.         int state1 = digitalRead(button1);
  20.         int state2 = digitalRead(button2);    //设置按钮的输入状态      
  21.         if(state1 == HIGH ){              //如果按钮1被按下
  22.            digitalWrite(led1, LOW);       //小灯1灭
  23.            if(number == 0 ) {             //如果变量number为0
  24.              for (int x=0; x <= 5; x++){
  25.                  digitalWrite(buzzer,HIGH);
  26.                  delay(50);
  27.                  digitalWrite(buzzer,LOW);
  28.                  delay(50);
  29.                  digitalWrite(buzzer,HIGH);
  30.                  delay(50);
  31.                  digitalWrite(buzzer,LOW);
  32.                  delay(500);}             //控制蜂鸣器发声一段时间,然后结束
  33.                  digitalWrite(led1,HIGH);
  34.                  digitalWrite(led2,HIGH);
  35.                  digitalWrite(buzzer,LOW);
  36.                  number = random(0,1) ;}   //程序初始化,小灯亮,蜂鸣器灭。重新给number赋值(0或1)
  37.                  }      
  38.         if(state2 == HIGH ){               //如果按钮2被按下         
  39.            digitalWrite(led2, LOW);        //小灯2灭
  40.            if(number  == 1 ){            //如果变量number为1
  41.               for (int x=0; x <= 5; x++){
  42.                  digitalWrite(buzzer,HIGH);
  43.                  delay(50);
  44.                  digitalWrite(buzzer,LOW);
  45.                  delay(50);
  46.                  digitalWrite(buzzer,HIGH);
  47.                  delay(50);
  48.                  digitalWrite(buzzer,LOW);
  49.                  delay(500);}           //控制蜂鸣器发声一段时间,然后结束
  50.                  digitalWrite(led1,HIGH);
  51.                  digitalWrite(led2,HIGH);
  52.                  digitalWrite(buzzer,LOW);
  53.                  number = random(0,1) ;}//程序初始化,小灯亮,蜂鸣器灭。重新给number赋值(0或1)
  54.                  }     
  55.         }
复制代码

完成这段代码后就可以按照下图的拼接方法进行实验了!
用随机函数制作猜硬币正反游戏(周金程)图7用随机函数制作猜硬币正反游戏(周金程)图8
电路连接图:
用随机函数制作猜硬币正反游戏(周金程)图1





您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail