私的AI研究会 > FaceRec5

顔認証/顔認識 (Face recognition) 5

 「顔認証/顔認識 (Face recognition)」野結果でドアを開閉する仕組みを考える。

※ 最終更新:2023/12/20 

顔認証プログラムの開発 Step 4「顔認証の結果で『自動ドア』を制御する」

 Step 3 の プログラム「face_rec3.py」 にドアを制御する機能を追加する。

開発手順

  1. DCモータで開閉する『自動ドア』の模型を作成する
  2. DCモーター制御とホストPCとの通信は RP2040 チップ搭載のマイコン「Raspberry Pico」を使用する
  3. ホストPC とは USB接続
  4. PC ←→ Pico 間の通信(UART)プログラムを開発(Pico側 / PC側)
  5. DCモーター制御プログラムを開発(Pico側)
  6. これらをまとめたドア制御のプログラムパッケージを開発(Pico側)
    Pico に自動起動設定することで、USBインターフェースを持つ自動ドアが完成する
  7. PC → Pico の通信でドアを制御するプログラムパッケージを開発
  8. プログラム「face_rec3.py」に組み込む

PC から制御できる『自動ドア』の準備

  1. Raspberry Pi Pico を動かす
  2. PC からコントロールできる『自動ドア』を作る

【参考】RaspberryOS のバージョンアップのため再検証する

自動ドア(模型)のソフトウェア・インターフェース

・自動ドア 制御クラス

Doorクラス 関数メソッド機能
set_port(COM = "COM3", bitRate = 115200)ポートの初期化
get_port()シリアルポート オブジェクトの取得
send_command(cmd)コマンド文字列の送信
info()ポートの状態を送信
open_door()ドアを開く
close_doorドアを閉じる
open_close()ドアを開いて閉じる
finish()シリアルポートを閉じて終了
read()文字列の受信

・使い方

import door_ctrl

door = Door()         ←  インスタンス作成
ser = door.set_port(COM)    ← ポートの初期化(ポート名)
if ser is None:        ← ポートがない
    print(f"error: '{COM}' port not found.")
    return 0
else:             ← ポートオープン
    print(f"'{COM}' port ready.")
    :

door.open_close()       ← ドアを開いて閉じる
    :
door.finish()         ← 終了

環境の違い(Windows / Linux)による通信ポートの設定

 Windows と Linux では通信ポートの確認方法が異なっている

ドア制御付き顔認証プログラム「face_rec3d.py」

完成

    

更新履歴

 

参考資料


Last-modified: 2023-12-20 (水) 09:58:45