編集履歴一覧に戻る
3duilabのアイコン画像

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でもほとんど使われていませんが非接触空間センサーを使うと実現可能です。 世界でイノベーションが生まれ続ける現代ですが、このような先進的なデバイスを売り出すことができれば日本の製造業もきっと復活のチャンスがあります。スポンサー募集中です。