Raspberry Pi 打招呼 RemindBot (三)

Raspberry Pi 打招呼 RemindBot (三)

製作電子作品,原則上是一邊組裝硬件,繼而進行相關的軟件測試。不過,考慮到過往已進行多個習作,加上篇幅所限,因此 RemindBot 習作流程並不按順序出現,但預計同學應可處理。以下將講解習作餘下的工作。

正確的 RemindBot 製作流程,不妨先準確硬件並進行接線,然後先是進行簡易聲音播放測試,再加入 eSpeak 軟件,最後才是編排程式。

在習作中,將會使用超音波感測器 HC-SR04 ,偵測路人進入或離開房間,從而呼叫 eSpeak 軟件發出語音訊號。 HC-SR04 是一個非常普及,價錢亦十分便宜的傳感器。感測器將會發出超聲波及接收反射回來的超聲波訊號,只要能量度得到發出及接收訊號所需的時間,就可以計算出前面障礙物的距離。使用傳感器,我們就可偵測到是否有人進入或離開房間。

HC-SR04 超聲波傳感器。

HC-SR04 超聲波傳感器。

傳感器可感測前方是否出現障礙物。

傳感器可感測前方是否出現障礙物。

HC-SR04 感測器共有四個接駁接口,分別是 GND (接地)、 VCC ( +5V )、 Trig 及 Echo 。其中 Trig 發出 40KHz 超聲波, Echo 是用來接收反射回來的超聲波。只要知道發出超聲波和接收到反射回來的超聲波的時間,就可以計算到物件的距離。因此使用兩個 HC-SR04 傳感器,分別偵測路人是進入,還是離開房間,從而呼叫 eSpeak 作出不同的輸出,按下圖是 HC-SR04 感測器連接至 Raspberry Pi 的線路圖。

HC-SR04 與 Raspberry Pi 的接駁線路圖。

HC-SR04 與 Raspberry Pi 的接駁線路圖。

編寫 RemindBot 程式

最後編寫 Python2 程式 remindBot.py ,設定 HC-SR04 感測器,呼叫 eSpeak 軟件,作語音輸出。 remindBot.py 程式碼,如下:

remindBot.py

remindBot.py

Pyyhon2程式remindBot.py的說明如圖

Pyyhon2程式remindBot.py的說明如圖

完成圖

完成圖

總結

雖然這不算是一個人工智能的裝置,但因為裝置會發出語音,故此習作令人有種人性化的感覺。除此之外,此裝置提供的功能,對視障學生有一定的幫助。習作中使用的 eSpeak 軟件,可支援多國語言,如果同學有興趣,可以將 RemindBot 改良,讓它說出其他國家的語言,必定能夠使到不同國籍的人士更加有親切感。