サーボモーターとタクトスイッチででおみくじゲームを作りました。
タクトスイッチが押されたときにGNDとつながったのを感知してサーボモーターが動きます。
乱数が生成されてサーボモーターは決まった位置で止まります。
サーボモーターはライブラリーで直接角度を指定できるようになってます。
#include<Servo.h>
int svpin=9;
Servo sv;
void setup() {
// put your setup code here, to run once:
sv.attach(svpin);
randomSeed(100);
pinMode(11,INPUT_PULLUP);
Serial.begin(9600);
}
void loop() {
// put your main code here, to run repeatedly:
sv.write(0);
if(digitalRead(11) == LOW){
int omikuji = random(1,4);
Serial.println(omikuji);
Serial.println(digitalRead(11));
switch (omikuji) { //変数iがどの条件に一致するかcaseを順に調べ、一致した次の行を実行
case 1: // iが1のとき実行される
sv.write(45);
delay(1000);
break;
case 2: //iが2のとき実行される
sv.write(90);
delay(1000);
break;
default: //どのcaseにも一致しなかったとき実行される(defaultは省略可能)
sv.write(180);
delay(1000);
}
}
}