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