2026年5月
          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            

ブログ村ランキング

  • ブログ村

Youtube動画リンク

鉄道模型リンク

電子工作リンク

無料ブログはココログ

電子工作(Arduino)

2025年9月10日 (水)

フォトリフレクタでの進行方向判定 その2

フォトリフレクタでの進行方向判定 その2

通常の進行方向では、センサ0の通過後にセンサ1をします。
進行方向が逆転した場合、センサ1を通過後にセンサ0を通過します。

理論上は、センサ0が「HIGH」かつ,センサ1が「LOW」の場合、
車両がセンサ1を通過しているということになり
進行方向が逆転しているという判定になります。

しかし、これには落とし穴があります。

センサ0とセンサ1が離れている場合、
センサ0を通過した後に、センサ1を通過するため、
センサ1に到達した時点で、
センサ0が「HIGH」かつ,センサ1が「LOW」となり、
進行方向が逆転しているという誤判定となってしまいます。

そこで、センサ0とセンサ1を
車両の長さ以下の距離に設置したらどうなるかを考えてみました。


状態遷移図1
センサ0通過後、センサ1を通過する場合(進行方向正常)

            センサ0  センサ1
1.通常         HIGH   HIGH
2.センサ0通過時    LOW   HIGH
3.センサ0と1通過時  LOW   LOW  
4.センサ1通過時    HIGH   LOW
5.センサ1通過後    HIGH   HIGH

状態遷移図2
センサ1通過後、センサ0を通過する場合(進行方向逆転)

            センサ0  センサ1
1.通常         HIGH   HIGH
2.センサ1通過時    HIGH   LOW
3.センサ0と1通過時  LOW   LOW  
4.センサ0通過時    LOW   HIGH
5.センサ0通過後    HIGH   HIGH


上記の
3.センサ0と1通過時  LOW  LOW  

両方のセンサがLOWとなる状態が発生すれば、
スケッチ上では、
センサ0→センサ1の通過と
センサ1→センサ0の通過を判定することができるかもしれません。

上記の判定が可能であれば、進行方向の判定ができるかもしれません。

もう少し考えてみる必要がありそうです。


ブログ村に参加しています。
下のバナーのクリックをお願いします。

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型へ
にほんブログ村




2025年9月 9日 (火)

フォトリフレクタでの進行方向判定

フォトリフレクタの使い方がわかったところで、
フォトリフレクタで、進行方向が判定できないかを考えます。

というのは、
センサを短絡させると、進行方向が逆転しているという
判定ができることは分かりましたが、
センサを2箇所に設置すれば、進行方向が判定できるのではないかと思ったからです。

そこで、センサを2個設置して試してみることにしました。


センサ0とセンサ1を設置して、
2個のセンサで検知できることを確認します。

20250907-110512

一応、これで、2個のセンサが検知できる様になりました。

次回は、進行方向の判定を考えます。


ブログ村に参加しています。
下のバナーのクリックをお願いします。

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型へ
にほんブログ村




2025年9月 8日 (月)

フォトリフレクタの接続方法 その3

フォトリフレクタの接続方法の話

前回までに、デジタルピンでの判定方法がわかりました。

今回は、アナログピンでの判定を行います。

使用したスケッチと判定の結果です。

20250907-103805


左側の画面は、シリアルモニタの値です。

通常、700−800台の値ですが、
センサを遮ると、100以下の値になります。
100以下になった場合、LEDを点灯させます。

そして、センサの3番と4番を短絡させると、
値は「0」になるので、
「0」の場合は、常に、「赤」を点灯させるスケッチを書くことで、
進行方向が逆転した場合の対応が可能となります。

おそらく同じ様な考えで、
信号機の製品のプログラムも作られているのではないかと想像できます。

なお、あくまでも、私の想像なので、製品の中身を見ている訳ではありません。

ここまでで、Arudinoでも、
進行方向が逆転した場合の対応ができることがわかりました。

しかし、もう一つ気になることがあります。

ブログ村に参加しています。
下のバナーのクリックをお願いします。

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型へ
にほんブログ村




2025年9月 7日 (日)

フォトリフレクタの接続方法 その2

フォトリフレクタの接続方法の話

前回、デジタルピンでの判定ができることが分かりましたが、
いまいちセンサの反応が悪いことに気づきました。

そこで、抵抗値を変更してみました。
前回、20KΩを使用していましたが、
今回、500KΩに変更しました。

「鉄道模型と電子工作」では、
500K Ωを使用していましたので、
その理由も知りたかったからです。

結果的には、20KΩを500KΩに変更したところ、
センサの感度が良くなりました。

おそらく、抵抗値を変更したことにより、
電圧が降下したのが理由と考えられます。

結果的には、この様な接続が良いと思われます。

20250907-101601

20250907-101609

ちなみに、確認に使用したスケッチはこれです。

センサがLOWを検知したら、LEDが点灯し、
センサがHIGHを検知したら、LEDが消灯します。


20250907-100518

次回は、デジタルピンではなく、アナログピンでの検知を確認します。

ブログ村に参加しています。
下のバナーのクリックをお願いします。

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型へ
にほんブログ村




2025年8月30日 (土)

フォトリフレクタの接続方法

電子工作の話

前回に引き続き、フォトリフレクタの話です。

最初にお断りさせていただきますと、
私の場合、専門外というか、専門的な知識はあまりないので、
的外れなことを言っている可能性はあります。

それでも、実際の回路図やネットの資料を参考にして、
何とか接続の方法を導き出したのが前回でした。

実際に、試してみた結果、2種類の接続方法があることがわかりました。

簡単なスケッチで、確認していました。
スケッチの内容は、

デジタルピン12でフォトリフレクタのLEDを点灯させる
デジタルピン13でフォトリフレクタのセンサで検知する
LOWを検知した場合、デジタルピン11でLEDを点灯させる
HIGHを検知した場合は、デジタルピン11でLEDを消灯させる

なお、よく考えたら、
デジタルピン12でフォトリフレクタのLEDを点灯させるは、
直接、+5Vを給電しても同じことだということに後から気づきました。
というのは、デジタルピン12を「HIGH」にすると、
+5Vが給電されるからです。

なお、以下で使用しているスケッチは同じものです。

1.センサがLOW検知すると、デジタルピン11がHIGHになり、LEDが点灯する
  センサの3番ピンを使って検知します。

この接続図は、ネットの接続図と信号機の回路図を参考にしています。
この接続図では、
1番ピンには、+5Vを接続します。
3番ピンにデジタルピン13を接続して検知します。
とりあえず、+5Vには、20KΩを接続していますが、
根拠はありません


20250830-175215

2.センサがLOW検知すると、デジタルピン11のLEDが消灯する
  センサの4番ピンを使って検知します。

この接続図は、ネットの接続図と信号機の回路図、
「鉄道模型と電子工作」で公開されている接続図を参考にしています。
「鉄道模型と電子工作」では、以下の様に接続されています。

019

この接続図では、
1番ピンには、デジタルピン12を接続していますが、
今回は、+5Vを接続します。

1番ピンには、220Ωを経由して、+5Vを給電します。
3番ピンには、+5Vを給電します
4番ピンには、デジタルピン13を接続し、
20KΩを介して、アースへ接続します。

また、接続する抵抗値も変更しています。
「鉄道模型と電子工作」では、500K Ωを使用していますが、
私が確認した接続では、20KΩとしています。

これは、500K Ωを使用した場合には、反応しなかったのですが、
20KΩでようやくセンサが検知できたという実績に基づいています。

その結果、接続すると、
まず、電源供給すると、
デジタルピン13がLOWではないので、
デジタルピン11に接続したLEDが点灯します
デジタルピン13でフォトリフレクタのセンサで
LOWを検知した場合、デジタルピン11でLEDを消灯させる

20250830-175223


結果的には、
3番ピンでLOWを検知すると、デジタルピン11が HIGH になり、
4番ピンでLOWを検知すると、デジタルピン11が LOWになりました。

何となく整理できた様ですが、
まだ納得できていない部分があり、もう少し、確認が必要です。

ブログ村に参加しています。
下のバナーのクリックをお願いします。

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 レイアウト製作へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログ 鉄道模型へ
にほんブログ村




2023年11月27日 (月)

信号機・警報機 試作品

youtubeに動画をアップしました。



ブログ村に参加しています。
下のバナーのクリックをお願いします。
にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログへ
にほんブログ村





2023年11月15日 (水)

行き詰まり

踏切の作成ですが、あることがきっかけで、行き詰まっています。

それは、通過のセンサーを追加すること。

踏切の手前で、センサーで検知し、警報機を鳴らします。
その後、踏切の先のセンサーで通過を検知して、警報機を止めることを考えていました。

しかし、今利用しているスケッチは、警報機の点滅と警報音を鳴らしたままなので、
踏切の先のセンサーで通過を検知することができません。

割り込みの機能を使えばできるのではないかと思って、
資料を調べてみると、シリアル入力を検知する様なスケッチを見つけることができない。

シリアル入力を割り込みで検知できないのではないかという疑問すら浮かんできました。

という様な状況で、
とりあえず、割り込みでシリアル入力が検知できるのかを確認する
スケッチを書いてみようとは思っていますが、
それ自体も前例が見つからないので無理かもしれません。

ブログ村に参加しています。
下のバナーのクリックをお願いします。
にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログへ
にほんブログ村





2023年11月10日 (金)

Cdsセルの組み込み

Cdsセルを線路に取り付けます。

KATOのユニトラックを加工します。

レールの真ん中に、Cdsセルを取り付け、
横からコネクタで接続する様に加工しました。

20231110-0033


裏の配線は、かなりいい加減です。
20231110-0034

テストして、問題なければ、グルーガンで固定してしまおうと思います。

ブログ村に参加しています。
下のバナーのクリックをお願いします。
にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログへ
にほんブログ村




2023年11月 9日 (木)

cdsセルに抵抗が必要な理由

cdsセルを使用する場合には、抵抗が必要なのですが、
その理由を自分自身が理解しておらず、調べてみました。

その答えは、こちらに書かれていました。

【明るさセンサー】CdSセルの仕組みと分圧回路の作り方|Arduino

ArduinoUnoR3ではA0~A5のアナログ入力ソケットにかかる電圧「0V~5V」の範囲を
アナログ入力値「0~1023」の値として識別することができます。

明るさセンサー(CdSセル)では、分圧回路を用いて明るさ検出値を電圧に変換してArduinoに入力します。
明るさ検出値が大きい(明るい側)のときに、アナログ入力電圧値は5Vに近づきます。
アナログ入力値は電圧0V入力のとき0で、5V入力のとき最大値1023となります。

CdSは電気を発生させない素子のため、直接Arduinoのアナログ入力ソケットに接続しても電圧変動させることができません。
その対策として、抵抗値が変更する特性を利用した電圧配分の変動を利用した回路=分圧回路の構築を行います。

抵抗が直列つなぎされると、それぞれにかかる電圧は抵抗値の割合に応じて分配されます。
抵抗側にかかる電圧が、Arduinoアナログソケットに入力される電圧値となります。

明るさセンサー(CdSセル)の抵抗値が明るさに応じて変動するため、抵抗に流れる電圧値が変動します。
この電圧変動幅をアナログ入力値としてArduinoに入力します。

ということで、
手持ちのCdSセルに1K Ωの抵抗を接続して、アナログソケットの数値を確認すると、
明るい時(通常の状態)は、300を超え、暗くすると、300以下になることがわかりました。

閾値としては、250程度を指定して、250以下となったときに警報機を作動させる様にしています。
ちなみに、接続する抵抗値を変更すると、アナログソケットの数値は、変化します。

ですので、接続する抵抗を決めた上で、スケッチの閾値を設定しないと、
思った様な動きをしなくなる可能性があります。


ブログ村に参加しています。
下のバナーのクリックをお願いします。
にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログへ
にほんブログ村




2023年11月 6日 (月)

踏切警報機の試作

これまでの通過信号機の試作がなんとか目処が立ったので、
新しいことに興味が移ってしまいました。

結局、通過信号機は、通過中の検知の間隔を長くすることで、
通過完了と誤動作する確率を減らすことができました。
また、最悪の場合を考えて、無限ループではなく、有限回数のループとし、
ずっと通過中と誤動作することも回避しています。

で、踏切警報機ですが、以前購入した本のスケッチを使って、
まずは実験です。

というか、
随分前に実験していた様で、すでに、ブレッドボードに回路を組んでいました。

20231105-2329

今回の回路は、Arudinoで、警報機の音、点滅、遮断機の制御を一括して行うものです。
まずは、遮断機なしの警報機のみを再現しようと思います。

なお、圧電スピーカーにマスキングテープを貼って、消音しています。
また、本来は、LEDは4個必要ですが、試作なので、2個のみとしています。

今回、センサーは、CdSを使用しています。
列車が、センサー上を通過すると、数値が小さくなり、通過を検知できます。
踏切の手前に、センサを設置すれば、警報機の動作を開始できます。

問題は、警報機をいつ止めるかということですが、
これについては、
参考にしたスケッチでは、「10回点滅するまで」としています。

しかし、これだと、列車が通過中でも警報機が停止してしまう可能性がありますので、
やはり、踏切の先にもセンサを設置し、
列車の通過完了の検知にもセンサを使う必要があると考えています。

列車の通過完了は、踏切の先に設置したセンサで、
列車の先頭部分で、まずは、検知し、
最後尾が通過して、センサーが検知しなくなったタイミングで、
通過完了として、警報機を停止する様にすれば良いというのは、
理屈ではわかっていますが、
これも理屈通りに動いてくれるかは、実験してみないとわかりません。

まずは、停止用にもCdSを使用する様にスケッチを改造して、実験してみようと思っています。

ブログ村に参加しています。
下のバナーのクリックをお願いします。
にほんブログ村 鉄道ブログ 鉄道模型 車両加工へ
にほんブログ村

にほんブログ村 鉄道ブログへ
にほんブログ村





より以前の記事一覧