モータの回転数を計測するために、透過形フォトセンサを使ってみます。
使用するもの:
秋月電子通商
・通過型フォトインタラプタ CNZ1023 ×2
・抵抗 100Ω ×2
このフォトセンサは、センサの間に何かが通ると電流が流れる仕組みになっています。このセンサの間にモータのエンコーダを入れ回転させると、エンコーダのスリットに反応して、回転数を計測します。今回は、エンコーダは使わずに、センサの間に紙を挟んで、正常に反応するか試してみましょう。
以下のプログラムをコンパイルし、mbedドライバに入れます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
#include "mbed.h" InterruptIn button1(p15); InterruptIn button2(p16); DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut flash(LED4); void rise1() { led1 = !led1; } void fall1() { led1 = !led1; } void rise2() { led2 = !led2; } void fall2() { led2 = !led2; } int main() { button1.rise(&rise1); button1.fall(&fall1); button2.rise(&rise2); button2.fall(&fall2); while(1) { flash = !flash; wait(0.25); } } |
回路を製作します。
回路図
外観
センサの間に紙を入れると、LEDが点灯します。
この記事では、センサの間に紙を入れてセンサが反応するか確認しましたが、実際にはモーターの軸に挿入したエンコーダーのスリットをセンサの間に入れます。
10 距離センサ に続く。