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

3duilab が 2022年01月05日17時40分21秒 に編集

コメント無し

本文の変更

# 概要 中に物が入っているとLEDが光って教えてくれるセンサーを作りました。お店などで忘れ物防止、盗難防止用です。これはAIカメラや焦電センサーなど他のセンサーでは無理だったり、面倒くさいですが非接触空間センサーを使うと簡単にできます。 # 動画 @[youtube](https://youtu.be/xd5zlXAvnCM) # 非接触空間センサー

-

フォトリフレクタを使った小型距離センサーアレイで空間の変化を検出します。SPIで12bitADコンバータを読むと自動的に赤外線LEDが発光して距離データを取得できます。SFや魔法のようにマイコンで手の動きを検出ために発明した令和生まれのSFプロトタイピング型デバイスです。https://interactive-hand-sensor.com/root/

+

フォトリフレクタを使った小型距離センサーアレイで空間の変化を検出します。SPIで12bitADコンバータを読むと自動的に赤外線LEDが発光して距離データを取得できます。SFや魔法をヒントにマイコンで手の動きを検出できように発明した令和生まれのSFプロトタイピング型デバイスです。https://interactive-hand-sensor.com/root/

# 回路図、システム ![キャプションを入力できます](https://camo.elchika.com/6898becfe1edfb83ed582227ccd5449dcf10d0a8/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f30346161363165362d633431362d346530352d383464392d373739633933306661373835/) # プログラム(Raspberry Pi Pico) ```:Python from machine import PWM from Sensor_CLED import * from neopixel import Neopixel numpix = 60 strip = Neopixel(numpix, 1, 28, "GRB") orange = (255, 50, 0) red = (255, 0, 0) orange = (255, 50, 0) yellow = (255, 100, 0) green = (0, 255, 0) blue = (0, 0, 255) indigo = (100, 0, 90) violet = (200, 0, 100) off = (0,0,0) #colors_rgb = [red, orange, yellow, green, blue, indigo, violet, off] strip.brightness(50) def neop(isOn): # show neoPixel outC = orange if isOn else off strip.fill(outC) strip.show() # *************************************************** def makePwm(gpio, freq, duty16): # set LED pwm pwm = PWM(gpio) pwm.freq(freq) pwm.duty_u16(duty16) makePwm(pwmCled_gpio, 50, 1<<11) def makeIndi(): # LED indicator/blink val = True def closure(dummy): nonlocal val CLed.setIndi(val) val = not val return closure indi = makeIndi() tim = Timer() tim.init(freq=1, mode=Timer.PERIODIC, callback=indi) # ***************** main ******************** if __name__ == '__main__': print('******************* START ********************') CRI, CNT_MAX = 500, 40 cled = CLed() cled.turnOn(5) time.sleep(1) Sensor.init() # *** initialize Sensor *** cled.turnOn(0) flg = False cnt = 0 while True: Sensor.setAd() cled.turnOn() cnt += 1 if cnt >= CNT_MAX: cnt = 0 ad = Sensor.getAdMax() flg2 = (ad > CRI) if flg2 != flg: flg = flg2 neop(flg) ``` # 写真 ![キャプションを入力できます](https://camo.elchika.com/aaa7c254bf1ab2892252aa49ca06b314d78d3227/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f63386130313932332d353530372d343664372d393366612d393230393765343963623337/) ![キャプションを入力できます](https://camo.elchika.com/7ab3a7f766aeb937f1edebf639079d7f7fccb1e8/687474703a2f2f73746f726167652e676f6f676c65617069732e636f6d2f656c6368696b612f76312f757365722f31383164613832352d646330322d343939302d626461342d3362323431386663646437372f62656238656439322d663261662d343738332d626362632d313231356233333637356664/) # ストーリー 最近、ラーメン屋でカゴにノートpcを忘れたことがありました。幸い、回収できたのですがそれをヒントに「何か入っていると教えてくれるカゴ」があれば便利かなと思って作ってみました。予定通り一発で動作したのですがセンサーの実装が難しいのと少しスペースを取るのが課題です。 回路やシステムは簡単ですが、重要なのは誰も真似できないオリジナルを作ることだと思います。電機産業の停滞が明らかで電子機器開発は儲からない仕事になりつつあります。この壁を壊し、かつてような世界のリーダーとなるには未来を想像し試作品で具体化していくSFプロトタイピングが必要だと思います。アニメーションのように個性あふれる世界観でフロンティアを開拓していきたいです。