tukumoyuuki
2024年09月20日作成 (2024年10月30日更新)
製作品 Lチカ 41
鍵かけ忘れ防止システム
概要
家の鍵をかけ忘れがないか鍵の状態を確認
鍵の傾きを検知して、スマホで確認できる
概要図
詳細
・9軸センサ(mpu-9250)とraspiを接続し、x軸、y軸、z軸の傾きを取得し、設定したセンサ値から鍵の状態を確認し、施錠ができていない場合LINE Notifyに通知が送られる。
使用した物品
・rasberry pi4
・スマホ
・9軸センサ
動作確認
LINENotifyへ通知↓
ソースコード
ソースコード
import smbus
import time
import requests
# LINE Notifyの設定
LINE_NOTIFY_TOKEN = '*********************************'
LINE_NOTIFY_API = 'https://notify-api.line.me/api/notify'
# I2C busのセットアップ
bus = smbus.SMBus(1)
MPU9250_ADDR = 0x68
# 通知送信用関数
def send_line_notify(message):
headers = {'Authorization': f'Bearer {LINE_NOTIFY_TOKEN}'}
data = {'message': message}
response = requests.post(LINE_NOTIFY_API, headers=headers, data=data)
if response.status_code == 200:
print("通知が送信されました")
else:
print("通知の送信に失敗しました")
# 初期化
def init_MPU9250():
bus.write_byte_data(MPU9250_ADDR, 0x6B, 0) # ウェイクアップ
# 加速度センサーの値を読み込む
def read_MPU9250():
acc_x = bus.read_byte_data(MPU9250_ADDR, 0x3B) # X軸加速度データ
acc_y = bus.read_byte_data(MPU9250_ADDR, 0x3D) # Y軸加速度データ
acc_z = bus.read_byte_data(MPU9250_ADDR, 0x3F) # Z軸加速度データ
return acc_x, acc_y, acc_z
# 閾値を設定
THRESHOLD_X = 7 # 適宜調整
THRESHOLD_Y = 195 # 適宜調整
THRESHOLD_Z = 240 # 適宜調整
# 加速度が設定した範囲内かを判定する関数
def check_acc_threshold(acc_x, acc_y, acc_z):
if abs(acc_x - THRESHOLD_X) < 5 and abs(acc_y - THRESHOLD_Y) < 5 and abs(acc_z - THRESHOLD_Z) < 5:
return True
return False
# MPU9250の初期化
init_MPU9250()
# メインループ
notified = False
while True:
acc_x, acc_y, acc_z = read_MPU9250()
print(f"Acc: X={acc_x}, Y={acc_y}, Z={acc_z}")
if check_acc_threshold(acc_x, acc_y, acc_z):
if not notified:
send_line_notify(f"鍵かけ忘れが検出されました: X={acc_x}, Y={acc_y}, Z={acc_z}")
notified = True
else:
notified = False # 状態が変わったら通知をリセット
time.sleep(1)
まとめ
この作品の使い勝手としては配線が鍵の金具までつなぐのに長くなってしまうという欠点がありますが、センサを用いて値を取得すれば手軽に動作させることができます。
-
tukumoyuuki
さんが
2024/09/20
に
編集
をしました。
(メッセージ: 初版)
-
tukumoyuuki
さんが
2024/09/30
に
編集
をしました。
-
tukumoyuuki
さんが
2024/09/30
に
編集
をしました。
-
tukumoyuuki
さんが
2024/10/29
に
編集
をしました。
-
tukumoyuuki
さんが
2024/10/30
に
編集
をしました。
-
tukumoyuuki
さんが
2024/10/30
に
編集
をしました。
-
tukumoyuuki
さんが
2024/10/30
に
編集
をしました。
ログインしてコメントを投稿する