概要
非接触空間センサー「双方向ハンドセンサー」を使い部屋の明かりを自動制御しました。簡単そうですがカメラやLidar、他の非接触センサーでは難しいかもしれません。
- 蛍光灯のリモコンをMOSFETでスイッチ
- 入室で点灯、退室で消灯
- 入室しないで退室すると点灯して消灯
website https://interactive-hand-sensor.com/root/
動画
写真
明かりの制御は蛍光灯のリモコンから線を引き出してMOSFETでスイッチしています。最初は壁のスイッチをサーボモーターで制御する予定でした。試しに蛍光灯のリモコンを分解すると、ハードもソフトも簡単そうなのでこちらにしました。
配線図
センサーで方向を判断し入室したときに点灯、退室で消灯します。リモコンのジャンパー線はGNDがあります。(リモコンの写真参照)
プログラム
AutoLight
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<<14) # 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)
# ***************** AutoLight ********************
class AutoLight():
AD_CRI = 300
WAIT_MS = 300
def __init__(self, pin):
self.sw = GPIOOUT(pin)
self.in0out7 = True
self.isOn = False
self.goOut = False
def exec(self):
adLst = Sensor.getAdLst()
outSum = sum(adLst[5:]) if self.in0out7 else sum(adLst[0:3])
inSum = sum(adLst[5:]) if not self.in0out7 else sum(adLst[0:3])
isIn = inSum > self.AD_CRI
isOut = outSum > self.AD_CRI
inout = (isOut, isIn)
if self.isOn:
if not any(inout) and self.goOut: # turn off
self.goOut = self.isOn = False
self.swOn()
else:
self.goOut = (isOut and not isIn)
elif isOut:
self.isOn = True
self.swOn() # turn on
def swOn(self):
self.sw(True)
time.sleep_ms(self.WAIT_MS)
self.sw(False)
if not self.isOn:
time.sleep_ms(self.WAIT_MS * 2)
self.sw(True)
time.sleep_ms(self.WAIT_MS)
self.sw(False)
# ***************** main ********************
if __name__ == '__main__':
try:
al = AutoLight(28) # output:28pin
cled = CLed()
Sensor.init() # *** initialize Sensor ***
print('Row', ROW_LEN, '******************* ')
cled.turnOn(5)
time.sleep(1)
while True:
Sensor.setAd()
cled.turnOn()
al.exec()
except KeyboardInterrupt:
print("\nCtl+C")
CLed.turnOn(0)
感想
- やってみるととても楽しくて便利です。
- 胸の位置は100%反応します。
- 足元はセンサーの検出距離20センチを超えて反応しないことがあります。
- 一人じゃない状況にはソフトの修正が必要です。
終わりに
一般的な電気製品はコモディティ化で下り坂ですがこれはチャンスかもしれません。マークされていない上、コピーが難しく、代替えの出来ない用途があるからです。不安定なところを創造力(想像力)で解決するのが現代の開発です。これを製品化して事業を始め、子どもたちに希望を残したいです。
リンク
YouTubeショート動画:https://youtube.com/shorts/MhElkg5Dx4U
website:https://interactive-hand-sensor.com/root/
ラズパイピコプログラム例:https://interactive-hand-sensor.com/root/raspberry-pi-pico-example
発売中:https://www.switch-science.com/products/6495/
Instagram:https://www.instagram.com/3duilab/?hl=ja
ツイッター:https://twitter.com/TakahiroMaeda3
2
投稿者の人気記事
-
3duilab
さんが
2022/09/30
に
編集
をしました。
(メッセージ: 初版)
-
3duilab
さんが
2022/09/30
に
編集
をしました。
ログインしてコメントを投稿する