如何在mBlok5中自製積木/附加元件/擴展積木

一、連線官網

  1. 慧編程 mBlock / 開發者
  2. 地區有分 國際/中國大陸 兩個選項,帳號和數據互不相通,請選「國際」註冊的,下次登入時,若選錯「中國大陸」則登不進去。沒帳號的請先註冊。

二、新建擴展/附加元件

  1. 左側選單 我的插件/我的擴展/新建擴展
  2. 選擇 Arduino預設模板
  3. 輸入你自己取的 擴展名稱
  4. 這樣就新增成功一個擴展/附加元件了喔!不過可以看出,目前裡面只包含了一個分類、一個預設空積木。

三、新增積木

  1. 點一下積木列表最下方的(+)可以新增一個如積木列表中的preview block
  2. 積木分為7種類型,自己選擇後,看看積木上方的圖形就可以大概知道它的作用了。

四、設定積木,以「功能」積木為例

  1. 下圖是Arduino的程式,先把程式分為4個區塊,分別為1.include區塊。2.定義區塊。3.setup設定區塊。4.loop區塊。
  2. 「內容」內的文字會顯示在積木上,本例使用 #include <Stepper.h> 是內建資料庫,所以我們可以如下圖直接輸入<Stepper.h>就可以了。
    如果要自行上傳程式庫該怎麼辦呢?請參閱
    在mBlok5自製積木時,如何自行上傳程式庫?
  3. 第2區塊就放入declare內。
  4. 第3區就放入setup內。第4區放入code內。
  5. 這樣就完成了喔!

指紋辨識 FPM10A/AS608 +ARDUINO UNO

本文是記錄如何使用Arduino Uno微控制板來控制指紋辨識模組 FPM10A 以登錄、比對、刪除指紋及清空指紋資料庫。
FPM10A和AS608工作原理、函式庫、程式都相同。
FPM10A接3.3V、5V都可以,但是AS608只接受3.3V!

一、硬體連接

本例中所使用的指紋辨識模組FPM10A是利用序列埠傳輸資料,我們只會使用到紅(Vcc)、綠(Tx)、白(Rx)、黑(Gnd)四條線,黃藍兩線空接即可。

ArduinoUno 的D0和D1因為要預留給電腦用的通訊埠,所以我們使用SoftwareSerial(rxPin, txPin)指定rxPin=2, txPin=3,連接FPM10A的綠(Tx)、白(Rx)當通訊埠使用。

二、軟體安裝

安裝 Adafruit Fingerprint Sensor Library,點選 草稿碼/匯入程式庫/管理程式庫

輸入fingerprint後,就可以看到Adafruit fingerprint Sensor Library…,請點選安裝。

三、範例程式

指紋登錄程式: enroll

載入用來登錄指紋的範例程式enroll。預設Arduion的D0和D1給電腦的序列埠當Tx和Rx使用,指令SoftwareSerial mySerial(2, 3);則是指定D2和D3當Rx和Tx,用來連接FPM10A。

設定好開發板種類和序列埠編號後,將程式上傳到Arduino,上傳完成後請打開序列埠監控視窗,可看到如下的訊息。

請輸入1~127中一個號碼當新建指紋編號,本例中我輸人1,程式就在等待使用者將手指放到採集窗口。

採集完成後,會提示Place same finger again,也就是請使用者將同一根手指再放到採集窗口一次,以供確認。

完成後,程式則又進入等待輸入ID以登錄另一枚指紋資料。

指紋比對程式fingerprint

利用相同的方法,請試著載入範例程式fingerprint,它可以用來比對指紋是否有建檔。

程式上傳到Arduino後,請打開序列埠監控視窗,可看到如下的訊息。

上圖說明FPM10A內目前已有登錄一枚指紋,並且在等待輸入指紋以進行比對,請將你的手指靠上去FPM10A的採集窗口。

如果指紋比對不出結果,則一直維持等待指紋狀態;若有比對到資料庫內已登錄的指紋時,則會顯示 Found ID #1 with confidence of 89,中文的意思是:找到編號1的指紋,可信度為89。

利用相同的方法,請試著載入範例程式delete來刪除資料庫中的指紋,也可以試著載入範例程式emptyDatabase來清空資料庫。

============ 本文結束 ============

參考資料:
光學指紋模塊 ARDUINO 識別鎖 FPM10A FINGERPRINT SENSOR TUTORIAL

Guide to Fingerprint Sensor Module with Arduino (FPM10A)

cdn-learn.adafruit.com/downloads/pdf/adafruit-optical-fingerprint-sensor.pdf

https://github.com/adafruit/Adafruit-Fingerprint-Sensor-Library/blob/master/documentation/ZFM-20_Fingerprint_Module.pdf

https://www.instructables.com/id/Arduino-Fingerprint-Lock/

機電整合小木屋 Scratch2.0 + Transformer S2A 控制與應用

還不認識「機電整合小木屋」的同好,可以先看一下聖順寫的機電整合小木屋開箱文,小木屋中,除了ArduinoUno主板外,另外接了一張擴展板如下圖。

擴展板使用了ArduinoUno的5個數位腳位 D5~D9 及1個類比腳位 A0,另外可以觀察到,擴展板上內建了一顆LED、一顆按鈕、一個蜂鳴器並留有一組3Pin的接腳(黃色基座)用來接伺服馬達,另有3組2Pin的接腳由左至右分別是用來外接光敏電阻線(pho)、雷射模組線(lsr)及預留標示+-的腳位為+5V和GND輸出。

整理配對一下:
D5 => LED
D6 => 雷射模組
D7 => 蜂鳴器
D8 => 伺服馬達
D9 => 擴展板上的按鈕
A0 => 光敏電阻

有了以上的資料,我們就可以開始使用了!GO!GO!GO!

一、使用USB傳輸線,連接小木屋和電腦。

二、啟動 Transformer

1.選擇 S2A Plus。
2.選擇介面:每部電腦不見得會相同,聖順是還擇COM3(USB SERIAL CH340)。
3.勾選「自動燒錄韌體」,第二次以上使用就可以不用再勾選此項了。
4.檔案:開啟Scratch。
5.點選「連線」按鈕。

三、成功連線並開啟Scratch後,就可以在更多積木內看到S2A的控制積木了。

四、控制小木屋的LED

1.程式積木如下圖。
2.執行影片如下。

五、控制小木屋的雷射模組

1.程式積木如下圖。
2.執行影片如下。

六、控制小木屋的蜂鳴器

1.程式積木如下圖。
2.執行影片如下。

七、控制小木屋的伺服馬達-大門的開閉

1.程式積木如下圖,轉動角度要自行根據你的小木屋狀況改一下喔!後來為了讓門關緊一點,我把關門角度由95改成100了。
2.執行影片如下。

八、讀小木屋的光敏電阻-環境亮度偵測

1.程式積木如下圖。
2.就可以在Scratch的執行畫面中看到輸出值,數字愈小代表愈亮。可以運用在環境亮度偵測,也可以用在可見光的遮斷偵測上。


運用範例一:外接模組使用練習

以電腦鍵盤來控制小木屋,當我按下按鍵5時,則開啟小木屋的電燈(LED),再按一次時,則關閉小木屋的電燈;同理,按鍵6為紅光雷射開關、按鍵7為蜂鳴器開關、按鍵8則為大門的開關。並且Scratch貓咪,每秒都說出現在讀到的類比亮度值。藉由這個範例的練習,就可以瞭解並學會各個外接模組的使用方式。這裡就不錄製影片囉!大家自己試試吧!

運用範例二:小木屋保全

利用雷射光模組打出雷射,並利用光敏電阻為接收器,感應是否有人通過大門,若有偵測到入侵者,則啟動警示燈(LED)閃爍,並讓警鈴(蜂鳴器)大作,以威嚇入侵者。來看一下實作影片吧!

Follow by Email