04 特殊輸入裝置
(2021/7/7)
【原來學Arduino這麼簡單(四) 】
上次介紹完顯示器的使用,今天來介紹輸入裝置的使用,而且是很酷的輸入裝置(如RFID及KeyPad),這些輸入元件馬上聯想到智慧門鎖的應用,就是利用磁扣或密碼來開門!但一開始在使用PictoBlox的這些積木時,我花了很多時間測試,不大會用他們的積木,還好最後有測試成功,才有這篇文章。
一、特殊輸入裝置的種類及積木的擴充
一共提供有5種輸入元件積木
RFID Sensor
Keypad Sensor
Fingerprint Sensor R307 ( 我手上沒有這種感應器,已經在淘寶找到了,下次再來測試)
IMU Sensor MPU6050
Other Sensors
二、測試RFID Sensor積木的使用
RFID感應器(RFID-RC522)的接線圖,如下:
RFID積木的使用
PictoBlox提供的RFID積木比較奇怪,跟一般的比較不一樣,試了好久,才有一點點了解
先設定一組 master RFID tag ,且是固定不能改變
如果要取得其他磁扣的UID值,就要使用get current tag ID
而且此積木也只能用在【上傳模式】
實作一:在1602LCD顯示器上顯示磁扣的UID及是否為master
SS接到D10
RST接到D9
2022.01.01更新如下,可一直量測不同磁扣的ID,程式下載
下面為以前的作法,不要再用了
實作二:在特定的磁扣下會做特定反應,如點燈、開門、....
將上面基本程式進行延伸即可
目前在D2接了一顆LED燈
放上master的磁扣會開燈,移開就會關燈
放上UID為E052814D的磁扣會開燈,移開就會關燈
如此一來就可以做外部裝置的控制了
這樣就可以用RFID做很多控制了,是不是很簡單啊!小朋友,接下來就看你如何應用了!
三、測試Keypad Sensor積木的使用
keypad接線圖,如下:(下圖有關薄膜按鍵模組有詳細圖解,下圖取自 https://swf.com.tw/?p=917)
列1~列4、行1~行4的腳位如下:D2、D3、D4、D5、D6、D7、D8、D9(改用A0)
實作一:在LCD上顯示按下鍵的內容
這積木也是試了好久才成功
這積木也只能用在上傳模式
由於D9被RFID使用,所以腳位用了D2~D8及A0
實作二:設定4位的密碼
在程式一開始先設定我們的密碼
如果發現輸入的變數沒有出現在變數區域時,先切換回舞台模式,再切換回上傳模式即可
實作三:請輸入4碼的密碼,如果輸入正確的密碼才能點燈或開門.....
這次LED燈接在A1腳位
這樣就完成了密碼的設定與輸入了,也可以再簡化直接將密碼寫在程式中,這樣程式就會再減一半了!
另外,有一個積木,檢查有沒有按下哪一個鍵的積木,我試了那積木一直有問題!還好也沒用到!
四、測試MPU6050積木的使用
MPU6050介紹 (資料取自https://www.itread01.com/content/1545324504.html)
1、介紹:MPU6050 是 InvenSense 公司推出的全球首款整合性 6 軸運動處理元件,相較於多元件方案,免除了組合陀螺儀與加速器時之軸間差的問題,減少了安裝空間。
(1)繞X軸旋轉角度為roll,繞Y軸旋轉角度為pitch,繞Z軸旋轉角度為yaw。
(2)加速度感測器,本質是力感測器。用來檢查上下左右前後哪幾個面都受了多少力(包括重力),然後計算角度。
(3)陀螺儀,本質是角速度檢測儀。比如,一塊板,以X軸為軸心,在一秒鐘的時間轉到了90度,那麼它在X軸上的角速度就是 90度/秒 (DPS, 角速度單位,Degree Per Second的縮寫°/S ,體現了轉動的快慢)
(4)MPU解析度:3軸加速度 和3軸陀螺儀分別用了3個16位的ADC, 也就是說,加速度有3個16位ADC,其中每個軸使用了一個。也是說,每個軸輸出的資料,是2^16 也就是 -32768 ---- +32768。陀螺儀也是一樣。
2、擴充套件性:MPU6050 內部整合了 3 軸陀螺儀和 3 軸加速度感測器,並且含有一個第二 IIC 介面,可用於連線外部磁力感測器即AUX_CL 和 AUX_DA,並利用自帶的數字運動處理器(DMP: DigitalMotion Processor)硬體加速引擎,通過主 IIC 介面,嚮應用端輸出完整的 9 軸融合演算資料。SCL 和 SDA 是連線 MCU 的 IIC 介面,MCU 通過這個 IIC 介面來控制 MPU6050,另外還有一個 IIC 介面:AUX_CL 和 AUX_DA,這個介面可用來連線外部從裝置,比如磁感測器,這樣就可以組成一個九軸感測器。
3、姿態解算:我們可以使用 InvenSense 公司提供的DMP非常方便的實現姿態解算,降低了運動處理運算對作業系統的負荷。
積木內容:這部份不再測試,有興趣者或需要者,請自行測試
利用序列埠監控視窗是觀看數據
添加【Communication積木】
這些積木只能用在【上傳模式】
接線圖:只用一組I2C的腳位即可
測試X軸的轉動角度
這部份不再測試,有興趣者或需要者,請自行測試
五、測試R307指紋辨識積木的使用
R307介紹:
R307指紋模組由光學指紋感測器、高速DSP處理器、高性能指紋比對演算法、大容量FLASH晶片等軟硬體構成,性能穩定,結構簡單,具有指紋錄入、影像處理、指紋比對、搜索和範本儲存等功能
接線:
作品功能說明
按按鍵1,可切換摸式(Mode1~4)
mode1:調整可變電阻器來設定ID(1~127)
mode2:放上手指,儲存指紋資料,重複mode1改變ID,再來記錄該ID下的指紋
mode3:按按鍵2,清除指紋資料庫的所有資料
mode4:放上手指判斷是否已有內建的指紋了,如果是點亮藍燈,如果不是點亮紅燈
參考資料:https://thestempedia.com/project-tag/fingerprint/,分兩部份
Enrolling Fingerprints(登記指紋)
Fingerprint Matching(指紋比對)
SoftwareSerial mySerial(10, 11);//YELLOW/WHITT
設備及接線說明
R307
4位7段顯示器
測試程式,尚未精簡
上面這積木測試了好久才會用,接下來可以做更多的應用,而且可以做成打卡機,並把打卡資料上傳到雲端