- 追加された行はこの色です。
- 削除された行はこの色です。
#author("2018-06-24T16:55:40+09:00","default:aiy_gadget","aiy_gadget")
[[AIY_Gadget]]
#code(C){{
int w=60;
int d=30;
int c;
String str;
void setup() {
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(7,OUTPUT);
pinMode(8,OUTPUT);
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
Serial.begin(9600);
c=0;
str="stop";
}
void loop() {
if(Serial.available()>0){
str = Serial.readStringUntil(';');
Serial.print(str); //for debug, echo back
c=0;
}
if(str.indexOf("stop")==0){
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
}
else if(str.indexOf("go")==0){
// digitalWrite(2,HIGH);
// analogWrite(2,level);
if(c<d) digitalWrite(2,HIGH); else digitalWrite(2,LOW);
digitalWrite(3,LOW);
// digitalWrite(4,HIGH);
// analogWrite(4,level);
if(c<d) digitalWrite(4,HIGH); else digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
else if(str.indexOf("back")==0){
digitalWrite(2,LOW);
// digitalWrite(3,HIGH);
// analogWrite(3,level);
if(c<d) digitalWrite(3,HIGH); else digitalWrite(3,LOW);
digitalWrite(4,LOW);
// digitalWrite(5,HIGH);
// analogWrite(5,level);
if(c<d) digitalWrite(5,HIGH); else digitalWrite(5,LOW);
}
else if(str.indexOf("left")==0){
// digitalWrite(2,HIGH);
// analogWrite(2,level);
if(c<d) digitalWrite(2,HIGH); else digitalWrite(2,LOW);
digitalWrite(3,LOW);
}
else if(str.indexOf("right")==0){
// digitalWrite(4,HIGH);
// analogWrite(4,level);
if(c<d) digitalWrite(4,HIGH); else digitalWrite(4,LOW);
digitalWrite(5,LOW);
}
else if(str.indexOf("up")==0){
// digitalWrite(7,HIGH);
// analogWrite(7,level);
if(c<d) digitalWrite(7,HIGH); else digitalWrite(7,LOW);
digitalWrite(8,LOW);
}
else if(str.indexOf("down")==0){
digitalWrite(7,LOW);
// digitalWrite(8,HIGH);
// analogWrite(8,level);
if(c<d) digitalWrite(8,HIGH); else digitalWrite(8,LOW);
}
delay(50);
if(c>d) {
c=0;
str="stop";
digitalWrite(2,LOW);
digitalWrite(3,LOW);
digitalWrite(4,LOW);
digitalWrite(5,LOW);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
}
else c++;
}
}}