Robofun 機器人論壇
標題:
新手請教問題
[打印本頁]
作者:
SHPKHHU
時間:
2012-4-5 03:08
標題:
新手請教問題
我打算做一個小程式
多個開關
然後每次隨機設定不同的開關為特定條件
簡單的來說
就像戳戳樂
每次放大獎得位置不一樣
戳到就中獎
我的想法適用 randim跟swiTch來做
int inpin1=2;
int inpin2=3;
int inpin3=4;
int inpin4=5;
int inpin5=6;
int inpin6=7;
int led=8;
int val=0;
void setup() {
pinMode(inpin1, INPUT);
pinMode(inpin2, INPUT);
pinMode(inpin3, INPUT);
pinMode(inpin4, INPUT);
pinMode(inpin5, INPUT);
pinMode(inpin6, INPUT);
pinMode(led, OUTPUT);
Serial.begin(9600);
}
void loop() {
long randnum = random(1, 7);
switch (randnum) {
case 1:
val=digitalRead(inpin1);
if(val==LOW){
digitalWrite(led,LOW);
}else{
digitalWrite(led,HIGH);
}
case 2:
val=digitalRead(inpin2);
if(val==LOW){
digitalWrite(led,LOW);
}else{
digitalWrite(led,HIGH);
}
case 3:
val=digitalRead(inpin3);
if(val==LOW){
digitalWrite(led,LOW);
}else{
digitalWrite(led,HIGH);
}case 4:
val=digitalRead(inpin4);
if(val==LOW){
digitalWrite(led,LOW);
}else{
digitalWrite(led,HIGH);
}case 5:
val=digitalRead(inpin5);
if(val==LOW){
digitalWrite(led,LOW);
}else{
digitalWrite(led,HIGH);
}
case 6:
val=digitalRead(inpin6);
if(val==LOW){
digitalWrite(led,LOW);
}else{
digitalWrite(led,HIGH);
}
}
}
這是我現在的程式
根本無法運作
我打算等到全部的開關都按過之後 才重新設定另一個開關為新的大獎位置
這一段我真的想不出來 Orz
(我是在家裡自學的沒有老師可以問 QAQ
是我思考的方向有錯誤嗎 還是有更好的方法
煩請指點
作者:
vegewell
時間:
2012-4-5 22:19
回復
1#
SHPKHHU
你都沒有delay()
random 變得很快
作者:
vegewell
時間:
2012-4-5 22:50
本帖最後由 vegewell 於 2012-4-5 22:51 編輯
回復
1#
SHPKHHU
void loop() {
long randnum = random(1, 7);
val=digitalRead(inpin1);
if(val==HIGH && randnum==1)digitalWrite(led,HIGH);
val=digitalRead(inpin2);
if(val==HIGH && randnum==2)digitalWrite(led,HIGH);
val=digitalRead(inpin3);
if(val==HIGH && randnum==3)digitalWrite(led,HIGH);
val=digitalRead(inpin4);
if(val==HIGH && randnum==4)digitalWrite(led,HIGH);
val=digitalRead(inpin5);
if(val==HIGH && randnum==5)digitalWrite(led,HIGH);
val=digitalRead(inpin6);
if(val==HIGH && randnum==6)digitalWrite(led,HIGH);
delay(2000);
digitalWrite(led,LOW);
{
歡迎光臨 Robofun 機器人論壇 (https://robofun.net/forum/)
Powered by Discuz! X3.2