3duilab が 2023年04月19日22時11分21秒 に編集
初版
タイトルの変更
挿入型非接触スイッチ
タグの変更
非接触スイッチ
非接触センサー
非接触空間センサー
メイン画像の変更
記事種類の変更
製作品
本文の変更
# 概要 Maker Faire Kyoto 2023(4/29,30)出展のため新しく作り直した非接触スイッチです。挿入型は、「エレベーターのような環境でも誤動作せずに使える非接触スイッチ」を目標に考えました。世界でもまだ実現されていないイノベーティブで現代的なテーマです。 非接触空間センサーについてはこちらをご覧下さい https://interactive-hand-sensor.com/root/ https://makezine.jp/event/mfk2023/ # 動画 @[twitter](https://twitter.com/TakahiroMaeda3/status/1641998142706184192) # しくみ - 4個のセンサーがそれぞれ商品マークのLEDとペアになりマイコンから制御しています。 - 指の挿入があればセンサーの値が上がり、しきい値を超えるとペアのLEDを点灯します。 - 高感度非接触センサーをこのように実装するとセンサーはほとんど最大値に振り切れて指先を検出できません。 - そこでセンサー付近は黒色の板に遮光フィルムを貼って光の反射を防ぎコントラストを上げています。 ![キャプションを入力できます](https://camo.elchika.com/bd60147e00c74290c4d0f376404fbb59ac480bce/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f30633061613765312d333965322d346239302d393362302d626636383330633663663735/) ![キャプションを入力できます](https://camo.elchika.com/0815563d97cd065f1e32b17e4fed07f9f937f643/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f36336366343063392d643464622d343733332d396566362d363130373662356163363336/) # プログラム ```python:RaspberryPiPico-MicroPython from machine import PWM from Sensor_CLED import * def makePwm(gpio, freq, duty16): pwm = PWM(gpio) pwm.freq(freq) pwm.duty_u16(duty16) makePwm(pwmCled_gpio, 50, 1<<15) # set pwm def makeIndi(): val = True def closure(timer): nonlocal val CLed.setIndi(val) val = not val return closure indi = makeIndi() tim = Timer() tim.init(freq=3, mode=Timer.PERIODIC, callback=indi) # ***************** main ******************** if __name__ == '__main__': try: CRI_LED = 50 cled = CLed() Sensor.init(1) # *** initialize Sensor *** print('ROW_LEN:', ROW_LEN, ' ******************* START ********************' ) cled.turnOn(5) time.sleep(1) cled.turnOn(0) while True: Sensor.setAd() adLst = Sensor.getAdLst() for i, ad in enumerate(adLst): if ad > CRI_LED: Sensor.ledOn(i) except KeyboardInterrupt: print("\nCtl+C") CLed.turnOn(0) ``` # 終わりに コロナは減ってきましたが感染症の驚異は無くなりません。自動販売機やエレベーターで感染するなんて馬鹿らしいと思いませんか?非接触スイッチは現実でもSFでもほとんど使われていませんが非接触空間センサーを使うと実現可能です。 世界でイノベーションが生まれ続ける現代ですが、このような先進的なデバイスを売り出すことができれば日本の製造業もきっと復活のチャンスがあります。スポンサー募集中です。