// // ENCODER MOTOR // int mot1 = 10; /* mot1 を 10 に割り当てる */ int mot2 = 11; /* mot2 を 11 に割り当てる */ int led1 = 6; /* led1 を 6 に割り当てる */ int sen1 = A0; /* sen1 を A0 に割り当てる */ int sw1 = A2; /* sw1 を A2 に割り当てる */ int pw = 4; /* pw を 4 に割り当てる */ int br = 0; /* br という変数を初期化 */ int steps = 70; /* steps という変数を 70で初期化 */ void setup() { Serial.begin(9600); /* シリアル通信を初期化する  通信速度は9600bps (確認用) */ pinMode(mot1, OUTPUT); /* 出力 */ pinMode(mot2, OUTPUT); /* 出力 */ pinMode(led1, OUTPUT); /* 出力 */ pinMode(pw, OUTPUT); /* 出力 */ pinMode(sen1, INPUT); /* 入力 */ /* 出力 */ digitalWrite(mot1, LOW); /* OFF */ digitalWrite(mot2, LOW); /* OFF */ digitalWrite(led1, LOW); /* OFF */ digitalWrite(pw, HIGH); /* ON */ } void loop() { if (digitalRead(sw1) == LOW) /*  スイッチを押したとき */ { br = 0; /* br を 0 にする */ delay(100); /* 0.1秒間停止 */ digitalWrite(led1, HIGH); /* LED ON */ analogWrite(mot1, 80); /* mot1 に アナログの値で 80 */ } Serial.println(br); /* シリアルモニタに出力 */ if (digitalRead(sen1) == 1 && br < (steps + 1)) /* sen1 が 1  かつ br の値よりも setepsに1加えた値が大きいとき */ { br = br + 1; /* br に +1 する */ delay(10); /* 0.1秒間停止 */ } if (br > steps) /* br の値が steps よりも大きいとき */ { digitalWrite(led1, LOW); /* OFF */ digitalWrite(mot1, LOW); /* OFF */ } }