ブログだいちゃん

ブログだいちゃん

趣味のブログ

ブログだいちゃん

ウォーターポンプを使用した自動アルコールディスペンサーを超音波センサー式に変更する

前の記事でウォーターポンプを使用した自動アルコールディスペンサーを作成しましたが、IRセンサーだとやはり周りの光に影響され誤動作が起こります。

そこで、光に影響されない超音波センサーを使用した物に変更したいと思います。
 
 

 
   
前回作成したIRセンサー式の記事
blogdaichan.hatenablog.com


使用部品


超音波センサー:HC-SR04、前回のパーツのIRセンサーを超音波センサーに変更します。


抵抗:1kΩ×1本 2kΩ×1本、5V⇒3.3Vにプルダウンするため


回路図


IRセンサーを超音波センサーに変え、プルダウン用の抵抗を追加しました、3.3Vに接続しプルダウン抵抗無しで動くかも知れません、試していませんが。


 
 

ケースの一部変更(超音波センサー取付のため)


超音波センサーを取り付けるためケースの一部を変更します、またスプレーノズルを市販のスプレーボトルのノズル部分を使用するよう変更しました(前回記事のパーツリストにあるスプレーボトルのノズルに対応しています)。

プログラムコード(2021/08/08 更新)


HC-SR04 のライブラリーを使用するとプログラムが簡単になりますので 、Thonnyを使用しライブラリーをインストールします。

Thonny を起動し [ツール]⇒[ Manage packages] を開き [hcsr04] で検索し、検索された中の [mPython-hcsr04] をクリックしインストールするとMicroPython用のライブラリーがインストールできます。


 

MicroPython プログラムコード


動作させると Thonny で以下のエラーが出ますが問題なく動きます。

WARNING: Could not sync device's clock: 'RTC' object has no attribute 'init'
WARNING: Device's real-time clock seems to be off by 18960713 seconds

これについての関連記事がありました。

forum.micropython.org

このフォーラムによると Thonny を Ver.3.3.11 にすると出ないようです、ちなみに私のはVer.3.3.10でした。
 

from machine import Pin
from hcsr04 import HCSR04
from utime import sleep
relay = Pin(16,Pin.OUT)     
led_red = Pin(17,Pin.OUT)
led_blue = Pin(18,Pin.OUT)
sonic = HCSR04(trigger_pin=14,echo_pin=15,echo_timeout_us=1000000)
while True: 
    distance = int(sonic.distance_cm())
    print (distance)    
    if distance > 6:
        relay.value(0)
        led_red.value(1)
    else:
        led_red.value(0)
        led_blue.value(1)
        sleep(0.2)
        relay.value(1)
        sleep(0.3)
        relay.value(0)
        sleep(2)
        led_blue.value(0)    

 
 

動作試験(仮組み)


動作試験を行うため仮組みしました、最初画像の上側の超音波センサーを使用しましたが動作が不安定で下側の超音波センサーに変えました、同じHC-SR04ですが全くの別物です。

手持ちに水晶発振子の付いた画像下側の超音波センサーがなかったので、不具合が出た超音波センサーを使用しましたが距離測定が不安定ではまりました、。



組み込んだ画像です、スプレーノズルはホットグルーで超音波センサーに貼り付けました、見た目は良くありませんが蓋で隠れますので。(^_^;