フォトインタラプタ、あるいはフォトセンサなどと呼ばれるセンシングデバイスをArduinoで使う実験です。このデバイスは、LEDとフォトトランジスタを一体化したパッケージになっており、物体が近傍を通過することでLEDの光がフォトトランジスタで受光されたり、あるいは遮られたりする、その状態変化を電気信号として出力します。
LEDとフォトトランジスタが向かい合わせになっていて、その間を通過する物体を検知するタイプを「通過型」、LEDとフォトトランジスタが同じ面を向いていて、物体が反射するLEDの光を検知するタイプ「反射型」といいます。今回使ったのは「通過型」のCNZ1023、秋月で10個入り300円、50個入り800円で手に入るお安いパーツです。
接続は下図のとおり。outはArduinoのDigial 2pinに接続しています。
まずは普通にポーリングで信号を取るコード。センサの間隙に紙とかキャッシュカードを入れると、シリアルに出てくる値が変わります。実用的にはDigital inを使うことが多いと思いますが、単純なセンサの実験としては、Analog inで値をとってみるのも面白いです。
次に割り込みを使うコード。
- 物体が入る → 光が遮られる → フォトトランジスタがOFF → 出力がfallする
- 物体が出る → 光が届く → フォトトランジスタがON → 出力がriseする
digitalの値が常に0で反応してくれません。
返信削除回路は下の写真です。
プログラムはkimniiさんのをそのまま使わせていただいています。
http://www.flickr.com/photos/77258724@N05/8588877456/in/photostream
みさきさん>
返信削除こんにちは、コメントありがとうございます!
写真を拝見しましたが、下記を確認していただけますか?
(1) CNZ1023の3ピンと4ピンの配線が逆になっていませんか?
秋月の商品ページに下記リンクのPDF仕様書がありますが、3ページ目のピン配は下から部品を下から見た図になっているので気をつけてください。
(http://akizukidenshi.com/download/ds/panasonic/CNZ1023%28ON1023%29.pdf)
(2) CNZ1023の1ピンに電源は供給されていますか?
部品内部で電源コモンにはなっていないので、5Vを3ピンと両方に接続する必要があります。
できました!
返信削除ありがとうございます!
これからもkimniiさんのブログみながら勉強します!
みさきさん>
返信削除結果をお知らせいただきありがとうございます!
お役に立てて幸いです。