
arduinoで透過形フォトセンサを使いたいのですが、何度試しても反応してくれません。お礼はMAXまで出すので誰か教えてください!!
プログラミングをいじったりしているもですが、digitalの値で結果を得ることができません。。
analogの値もバラバラで困っています。
なにが間違っているか教えてください。
身近に頼れる人もいなくて本当に困っています。
秋月のCNZ1023を使っています。
http://akizukidenshi.com/download/ds/panasonic/C …
回路は写真のようなかんじで試しています。
arduino IDEで作っています。
const int d_in_photo = 2;
void setup()
{
pinMode(d_in_photo, INPUT);
Serial.begin(9600);
}
void loop()
{
int val = digitalRead(d_in_photo);
Serial.println(val);
delay(10);
}

No.4ベストアンサー
- 回答日時:
参照された、ホームページの方が説明している通り、フォトトランジスタの向きが逆だと思います
説明図では、1,3が上側ですが、データーシートでは反時計回り、1,4が上側です
アノード+ 1,4 エミッタ
カソードー 2,3 コレクタ
上面より
http://atelier-orchard.blogspot.jp/2012/11/cnz10 …
No.3
- 回答日時:
No.2 です。
回路図描いて、pin番号を入力して、実体図と照合...のように段階を踏んで確認していけば
どの時点でおかしいのかわかるモノなんですが。
めんどくさいみたいでこっちが追跡できないのでテキトウに答えます。
・いけないのはハードかプログラムか切り分ける
フォトインタラプタと入力ポートの配線を外し、入力ポートに直接"1""0"を与えて
プログラムに値が予定どおり読み込まれるかチェック
読み込まれてなければプログラムがNG(の可能性大)
・たぶんpin3,4が逆
実体図を省略して、ブロック図を見て配線してるとやりがちだが
ブロック図とピンの並び方が一致してない事に気付かず接続してしまう
これによってフォトインタラプタが壊れた可能性もあり。
(半導体部品への電源の逆接続は、大抵部品を壊す)
こうなると配線を直しても正常に動かない。
わかりやすい回答をありがとうございます。
回路図や実体図は書いていません。
>たぶんpin3,4が逆
実体図を省略して、ブロック図を見て配線してるとやりがちだが
ブロック図とピンの並び方が一致してない事に気付かず接続してしまう
pin3,4は確認したのですがあっていると思います。
>これによってフォトインタラプタが壊れた可能性もあり。
(半導体部品への電源の逆接続は、大抵部品を壊す)
こうなると配線を直しても正常に動かない。
フォトインタラプタに関しては、新しいものに変えて動作確認をしていますが、反応は見られません。
No.2
- 回答日時:
どういう考えでどういう時にどうなる、という計画で
どのような回路なのか、も示してないので何ともいいようがない。
>なにが間違っているか教えてください。
こんな質問で解決すると思ってるのがまちがい。
この回答への補足
質問の仕方が悪かったみたいなので、補足させていただきます。
フォトセンサに紙を入れた時、「1」になる。
紙のようなものを抜いた時、「0」になる。
というようなフォトセンサの基本的な使い方する計画です。
問題点は、カードなどを入れても「0」のままで値が変わりません。
なにが間違っているのかわからないので、手助けしてくだい。
No.1
- 回答日時:
データーシートの測定回路では、100Ωのプルダウンになってますが、
arduino側の内蔵プルアップ機能はOFFにしていますか?
arduinoの入力ピンを外した状態で、sig_out側の電圧が変化するかテスターで確認してみて下さい。
http://www.musashinodenpa.com/arduino/ref/index. …
回答ありがとうございます。
digitalWrite(pin, HIGH);
を追加してみましたが、まったく同じ結果です。
テスターをもっていないので確認することができません。
フォトセンサの赤外線は光っています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Eclipseでコマンドラインを入力...
-
4桁の数字以外を入力したらエラ...
-
*をユーザーが入力した数字の数...
-
Userformの入力順序をタブオー...
-
java初心者です。入力されたの...
-
C言語について
-
数値の連続入力終了条件について
-
コマンドプロンプトからのEOFの...
-
UWSCで変数をキー入力
-
"gets"は危険なのでしょうか?
-
Linuxプログラミングで、キーボ...
-
cin.get(c)について
-
最大公約数と最小公倍数を求め...
-
ダメだ・・・分からない。while...
-
キー入力制限について
-
入力されたとき,何も入力しな...
-
c言語でひらがなのしりとりをで...
-
至急教えてください!プログラ...
-
【C言語】入力された文字種別ご...
-
linux C言語について ./ファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
*をユーザーが入力した数字の数...
-
数字以外が入力されたらエラー...
-
java初心者です。入力されたの...
-
Eclipseコンソール表示を、リセ...
-
正負を反転させて出力するプロ...
-
プログラミング初心者です。 Py...
-
scanfが2回使えない・・・?;
-
Excel VBAで、Application.Inpu...
-
"scanf"でエンターで改行させな...
-
scanf が無視されます
-
C言語 逆ピラミッドの作り方
-
プログラミングの問題です 「金...
-
if文の条件にscanf関数を使うと…?
-
C言語でgetchar();が上手く使え...
-
UWSCで変数をキー入力
-
4桁の数字以外を入力したらエラ...
-
EDITコントロールで入力できる...
-
C言語でつるかめ算をするにはど...
-
Userformの入力順序をタブオー...
-
C言語scanf_sで何故か2回入力に...
おすすめ情報