第1步:零件
首先您需要一個(gè)Arduino,我用了Diecimila,但任何類型都可以。
我使用的鎖是La Gard ENV 1300型鎖,我在EBay上花了10美元買了6個(gè)這樣的鎖。
你不能只使用任何類型的鎖,像普通的門鎖,它必須是電子鎖。
它需要在按以下方式進(jìn)行操作:在此鎖內(nèi)有一個(gè)鎖舌,現(xiàn)在使鎖舌保持閉合的是一個(gè)非常簡(jiǎn)單的電磁體。 通過(guò)此電磁體通電時(shí),它可以打開鎖。如果內(nèi)部沒(méi)有此簡(jiǎn)單的電磁體,則它將不起作用。一個(gè)簡(jiǎn)單的使用鑰匙,大頭針和彈子的門鎖將不起作用。
我在其中包括鎖內(nèi)部的圖片,在其中您可以看到它的工作原理:電源進(jìn)入電磁體,該電磁體將銷子拉回并釋放,釋放楔子。從理論上講,您可以創(chuàng)建自己的電磁鎖,或者使用簡(jiǎn)單的電動(dòng)機(jī)或其他工具,但這又是不同的指示。
您還需要一個(gè)基本的晶體管:從Radio shack購(gòu)置的2N2222
現(xiàn)在,如果您想通過(guò)其他方式(而不是僅通過(guò)計(jì)算機(jī))打開它,則是:藍(lán)牙電話,我正在將Touch Pro與Windows Mobile一起使用
條形碼掃描儀,我正在使用Symbol CS1504
在上一張圖片中看到一個(gè)門把手,該門把手的底部粘有一個(gè)木制方形旋鈕,以適合鎖上的方形釘,用于打開鎖。
步驟2:Arduino
Arduino的接線非常簡(jiǎn)單。
這只是一個(gè)非常簡(jiǎn)單的晶體管設(shè)置。來(lái)自Radio shack的2N2222
現(xiàn)在我用幾個(gè)電阻器嘗試了一下,遇到了一些問(wèn)題,所以我就沒(méi)有了。
請(qǐng)隨時(shí)對(duì)此進(jìn)行糾正。
晶體管已這樣連接:
》來(lái)自數(shù)字端口的信號(hào)連接到晶體管的基極。
Arduino的電源通過(guò)鎖回并流到晶體管的集電極
,然后它的發(fā)射極從接地端流出。 Arduino
代碼非常簡(jiǎn)單,它可以從串行端口獲取任何數(shù)據(jù)并將信號(hào)發(fā)送到端口,延遲然后結(jié)束信號(hào)。再次,非常簡(jiǎn)單:
/*
測(cè)試到使用串行端口打開/關(guān)閉鎖
*/
int inByte = 0;
void setup()
{
//啟動(dòng)serial
Serial.begin(9600);
pinMode(3,OUTPUT);
}
void循環(huán)()
{
//檢查是否連接
if(Serial.available()》 0)
{
inByte = Serial.read();
digitalWrite(3,HIGH);
delay(1000);
digitalWrite(3,LOW);
}
}
它看起來(lái)就像它選擇的任何串行數(shù)據(jù)在該端口上打開鎖的時(shí)間為1000毫秒。
非常簡(jiǎn)單
步驟3:LockApp
現(xiàn)在我創(chuàng)建了一個(gè)應(yīng)用程序并將其拆分為多個(gè)部分:
按鈕-按下按鈕,它將數(shù)據(jù)發(fā)送到Arduino以打開《條形碼-訪問(wèn)條形碼掃描儀數(shù)據(jù)并檢查特定的代碼,如果看到則打開鎖。藍(lán)牙-使用WinMo手機(jī),它通過(guò)藍(lán)牙串行連接獲取正確的數(shù)據(jù)。它會(huì)打開鎖
設(shè)置-您可以在其中告訴每個(gè)設(shè)備正在使用哪些COM端口。
每個(gè)設(shè)備都以相同的方式將數(shù)據(jù)發(fā)送到Arduino,
從設(shè)置菜單中拉出COM端口,
》打開連接,
發(fā)送數(shù)據(jù),
關(guān)閉端口
更新?tīng)顟B(tài)
像這樣:
C#:
infoLabel1.Text =“ OPENING”;
嘗試
{
SerialPort port2 =新的SerialPort(lockCom.Text,9600);
port2.Open();
port2.Write(“ open”);
port2.Close();
為(int i = 0;我《100; i ++)
{
infoLabel1.Text =“ OPEN”;
}
infoLabel1.Text =“ LOCKED”;
}
catch(System.Exception exp)
{
infoLabel1.Text =“連接問(wèn)題”;
}
因此在按鈕Tab上,如果您單擊“打開”,請(qǐng)運(yùn)行上面的代碼。
步驟4 :條形碼
現(xiàn)在在“條形碼”選項(xiàng)卡上,該代碼首先將條形碼掃描器稱為Symbol CS1504
Motorola為此模型提供了c ++ SDK,但我沒(méi)有感覺(jué)像是要轉(zhuǎn)換或處理它,因此我查找了已經(jīng)完成的C#庫(kù),我發(fā)現(xiàn):http://boss.bekk.no/display/BOSS/BarcodeLibrary
該庫(kù)使用起來(lái)非常簡(jiǎn)單:
try
{
BarcodeLibrary.BarcodeFunctions條碼=新的BarcodeLibrary.BarcodeFunctions(barscanCom.Text);
條碼。Interrogate();
列表scandCodes =新List();
ScanningCodes =條碼.GetBarcodes();
如果(scannedCodes.Count!= 0)
{
TESTCODE = ScandCodes [0] .Code;
條碼.ClearBarcodes();
如果(CODE = = TESTCODE)
{
bsLabel.Text =“ ACCEPTE D“;
SerialPort端口=新的SerialPort(lockCom.Text,9600);
port.Open();
port.Write(” open“);
port.Close();
for(int i = 0;我《100; i ++)
{
infoLabel2.Text =“ OPEN”;
}
infoLabel2.Text =“ LOCKED”;
}
else
{
bsLabel.Text =“ DENIED”;
}
}
else
{
bsLabel.Text =“未檢測(cè)到代碼”;
}
}
catch(System.Exception exp)
{
bsLabel.Text =“條形碼掃描儀問(wèn)題”;
}
它調(diào)用掃描儀并檢索保存在掃描儀上的JUSTTHEFIRST CODE(我懶惰地搜索它們)一旦找到它,它就會(huì)刪除所有保存的代碼。
然后進(jìn)行比較,如果它是有效的,它將使用前面解釋的代碼(懶惰地使其變成函數(shù))來(lái)打開鎖。
非常容易。
步驟5:藍(lán)牙和BlueLock
現(xiàn)在輪到藍(lán)牙了,我為Windows Mobile創(chuàng)建了一個(gè)非常簡(jiǎn)單的程序當(dāng)您點(diǎn)擊send時(shí),它會(huì)要求COM端口提供藍(lán)牙并向其發(fā)送數(shù)據(jù)。
一旦您點(diǎn)擊了名為blueLock
的此代碼的send,您便會(huì)在PC上點(diǎn)擊“掃描并打開”,它將掃描數(shù)據(jù)從設(shè)備中打開
blueLock Windows Mobile代碼:
公共Form1()
{
InitializeComponent();
字符串[]端口= SerialPort.GetPortNames();
comboBox1.Items。 Add(“未選擇端口”);
for(int i = 0;我 comboBox1.Items.Add(端口[i]);
comboBox2.Items.Add(“未選擇端口”);
for(int i = 0; i comboBox2.Items.Add(ports [i]);
}
私有void button1_Click(對(duì)象發(fā)送方,EventArgs e)
{
SerialPort端口=新的SerialPort(comboBox1.SelectedItem。 ToString(),9600);
port.ReadTimeout = 1000;
port.Open();
port.Write(“ Test”);
port.Close();
}
lockApp的藍(lán)牙代碼:
私有無(wú)效btButton_Click(對(duì)象發(fā)送者,EventArgs e)
{
btLabel.Text =“掃描”;
嘗試{
SerialPort端口=新的SerialPort (btInputCom.Text,9600);
port.Open();
藍(lán)色= port.ReadByte();
port.Close();
如果(藍(lán)色!= 0)
{
btLabel.Text =“成功!”;
SerialPort端口2 =新的SerialPort(lockCom.Text,9600);
port2.Open();
port2.Write(“ open”);
port2.Close();
}
else
{
btLabel.Text =“ ERROR”;
}
}
catch(System.Exception exp)
{
btLabel.Text =“條形碼掃描儀問(wèn)題”;
}
}
步驟6:結(jié)束
這背后的想法是簡(jiǎn)單,正如您希望的那樣更好地了解Arduino,藍(lán)牙,條形碼,串行連接和硬件通信
責(zé)任編輯:wv
-
電子鎖
+關(guān)注
關(guān)注
3文章
122瀏覽量
24475 -
Arduino
+關(guān)注
關(guān)注
189文章
6494瀏覽量
190329
發(fā)布評(píng)論請(qǐng)先 登錄
WT3000A,電子鎖 AI 智慧語(yǔ)音方案強(qiáng)勢(shì)來(lái)襲!

讓門鎖變得有溫度有情感!唯創(chuàng)WT3000A無(wú)線模組,為智能鎖帶來(lái)更智慧的AI語(yǔ)音交互方案

漫畫圖解 電感器 抗干擾元器件指南(全彩PDF版)
WT2606B顯示驅(qū)動(dòng)TFT語(yǔ)音芯片IC:重塑電子鎖交互體驗(yàn)的技術(shù)革新

基于WTV380-8S語(yǔ)音芯片的智能電子鎖語(yǔ)音交互系統(tǒng)設(shè)計(jì)方案介紹

WT3000A-M6對(duì)話式AI模組:重新定義智能電子鎖的語(yǔ)音交互安全與便捷

WT588F02B-8S語(yǔ)音芯片:重新定義電子鎖智能化方案的性價(jià)比革命

WT3000A-M6對(duì)話式AI模組:重新定義智能電子鎖的語(yǔ)音交互安全與便捷
電子鎖語(yǔ)音芯片方案,低功耗語(yǔ)音播報(bào)ic,NV256H

電子鎖語(yǔ)音芯片方案,低功耗語(yǔ)音播報(bào)ic,NV256H
WTV芯片在智能電子鎖語(yǔ)音留言上的應(yīng)用方案解析

WTL580-電子鎖微波雷達(dá)應(yīng)用解決方案,5.8GHz精準(zhǔn)人體感知,觸發(fā)高效交互新體驗(yàn)

解鎖未來(lái)安全:WT2003HP8芯片如何重塑智能電子鎖的安全性與智能化體驗(yàn)

評(píng)論