int pins [ ] ={5,6 7,8,10 11,12,13};
String buffer;
int state;
int Timeout = 20;
unsigned long time_start, time_current;
void setup() {
for( int i= 0; i<8; i++){
pinMode( pins[ i ], OUTPUT);
}
Serial.begin(9600);
buffer =" ";
state = 0 ;
randomSeed ( analogRead(A5));
}
void loop() {
int number = random( 1, 256);
for( int i= 0; i< 8; i++){
boolean on_off = bitRead( number, i);
digitalWrite( pins[i], on_off);
}
Serial.println();
Serial.println( "Now, start to guess...." );
time_start = millis();
while( true){
time_current = millis();
if (( time_current - time_start)/1000> Timeout){
state = -1;
break;
}
while(Serial.available()>0){
char data = Serial.read();
if(data == '\n'){
state = 1;
break;
}
else{
buffer += data;}}
if ( state == 1){
int guess = buffer.toInt();
state = 0;
buffer = "";
Serial.println(" You entered" +String(guess));
if ( guess == number){
Serial.println(" Okay, you are right ");
}
else{
Serial.println( "Sorry, do some more match ");
}
break;
}
}
if( state == -1){
state = 0;
buffer = " ";
Serial.println(" Time out !!! Hurry up!!!");
}
}
'아두이노' 카테고리의 다른 글
양솔밸브 실린더 시퀸스 제어 (0) | 2018.09.28 |
---|---|
금속판 절단 (0) | 2018.09.26 |
2진수를 10진수로 변환하는 게임 (0) | 2018.09.25 |
4관절로봇제어 (0) | 2018.03.17 |
온습도 표시기 (0) | 2017.11.06 |