私の入門記録であって、入門者向け解説サイトではありません。

踏切まとめ

  • 投稿日:
  • Category:

ここまでのまとめとして、光センサー、LED、サーボモーター、圧電ブザーを組み合わせ、踏切として組み上げてみる(教科書124ページ)。その前に、CdSセルが手元に少し余っていたので、キット基板上のものと入れ替え、動作するようにしておいた。スケッチは前回の光センサー+圧電ブザーのものに、LEDを加え、最後にサーボモーターのコントロールを加える。

[ スケッチ:Fumikiri1]

#include 
Servo myservo;  // create servo object to control a servo
void setup() {
  myservo.attach(9);  // attaches the servo on pin 9 to the servo object
  pinMode(13, OUTPUT);
  pinMode(12, OUTPUT);
}
void loop() {
  int analogValue = analogRead(A0);
  if (analogValue< 100) {
    int i;
    for (i=0; i<10; i++) {
      // play a note on pin 6 for 200 ms:
      tone(6, 675, 500);
      digitalWrite(13, HIGH);
      delay(450);
      // turn off tone function for pin 8:
      noTone(6);
      digitalWrite(13, LOW);
      tone(6, 675, 500);
      digitalWrite(12, HIGH);
      delay(450);
      // turn off tone function for pin 8:
      digitalWrite(12, LOW);
      noTone(6);
      myservo.write(90);
    }
    delay(1000);
    myservo.write(0);
  }
}

サーボモーターの制御だが、以前のものは for next でスピードを抑えつつ上げ下げしていたが、今回は LEDの点滅と処理が被ってしまうので、単純に 0度、90度へ一気に角度を変えるだけ、という教科書上の作例となっている。あくまで実験上の作例なので、実務的に使うとしたらその辺の処理は踏切側の回路に任せ、Arduinoからは踏切開閉の信号を出すだけにするのが現実的だろう。