步驟1:
Arduino/Genuino Uno是基于ATmega328P的微控制器板。它具有14個數(shù)字輸入/輸出引腳(其中6個可以用作PWM輸出),6個模擬輸入,一個16 MHz石英晶體,一個USB連接,一個電源插孔,一個ICSP接頭和一個復(fù)位按鈕。它包含支持微控制器所需的一切;
用于將草圖上傳到您可以參考的Arduino板。請按照以下步驟上傳您的草圖:
下載arduino軟件以上傳草圖
使用USB電纜連接Arduino。 USB電纜的方形端連接到Arduino,扁平端連接到計算機(jī)上的USB端口。選擇“工具”→“板”→“ Arduino Uno”,在Arduino菜單中找到您的板。您也可以通過此菜單找到所有開發(fā)板,例如Arduino MEGA 2560和Arduino Leonardo。為您的主板選擇正確的串行端口。通過選擇工具→串行端口→comX或/dev/tty.usbmodemXXXXX,可以找到所有可用串行端口的列表。 X標(biāo)記順序或隨機(jī)分配的數(shù)字。在Windows中,如果您剛剛連接了Arduino,則COM端口通常是最高的端口號,例如com 3或com15。COM端口列表中可以列出許多設(shè)備,如果您插入多個Arduino,則每個端口將被分配一個新號碼。在Mac OS X上,/dev/tty.usbmodem編號將是隨機(jī)分配的,并且長度可以變化,例如/dev/tty.usbmodem1421或/dev/tty.usbmodem262471。除非您連接了另一個Arduino,否則它應(yīng)該是唯一可見的一個。點(diǎn)擊上傳按鈕。這是在Arduino環(huán)境中指向右側(cè)的按鈕。您也可以使用鍵盤快捷鍵Ctrl + U(對于Windows)或Cmd + U(對于Mac OS X)。
我用于上傳arduino的代碼如下
#include“ PN532_SPI.h”
#include“ PN532.h”
#define FLAG_NONE 0
#define FLAG_IRQ_TRIGGERED 1
#define FLAG_RESET_IRQ 2
volatile int標(biāo)志= FLAG_NONE;
字符串const myUID = “ A6 C1 CD 93”;
int const irqPin = 2;
int const ActuatorPin = 8;
int const LockPin = A3;
int const UnlockPin = A2;
int const sirenPin = 7;
PN532_SPI接口(SPI,10);
NfcAdapter nfc = NfcAdapter(interface);
字符串scannedUID =“”;
void設(shè)置(void){
pinMode(LockPin,OUTPUT);
pinMode(UnlockPin,OUTPUT);
pinMode(sirenPin,OUTPUT);
pinMode(ActuatorPin,OUTPUT);
Serial.begin(115200);
nfc.begin();
digitalWrite(LockPin,LOW);
digitalWrite(UnlockPin,LOW);
digitalWrite(sirenPin,LOW);
//digitalWrite(ActuatorPin,LOW);
attachInterrupt(0,irq,F(xiàn)ALLING); }
void loop(void){
int flag = getFlag();
switch(flag){
case FLAG_NONE:
中斷;
情況為FLAG_IRQ_TRIGGERED:
if(nfc.tagPresent()){
NfcTag標(biāo)簽= nfc.read() ;
scannedUID = tag.getUidString();
if(myUID.compareTo(scannedUID)== 0){
if(digitalRead(ActuatorPin)== HIGH){
Serial.println(“鎖定“);
digitalWrite(LockPin,HIGH);
延遲(800);
digitalWrite(LockPin,低);
delay(5000);
} else {
Serial.println(“ UNlocked”);
digitalWrite(UnlockPin,HIGH);
延遲(800);
digitalWrite(UnlockPin,LOW);
delay(5000); }
}其他{
Serial.println(“ sound”);
digitalWrite(sirenPin,HIGH);
delay(3000);
}
setFlag(FLAG_NONE);
reset_PN532_IRQ_pin(); }
else {
setFlag(FLAG_NONE); }
break;
默認(rèn):
打破; }}
void setFlag(int flag){flags = flag; }
int getFlag(){
返回標(biāo)志; }
void irq(){如果(getFlag()== FLAG_NONE){
setFlag(FLAG_IRQ_TRIGGERED); }}
void reset_PN532_IRQ_pin(){
nfc.tagPresent();
}
步驟2:PN532 NFC模塊
描述:NFC是近年來流行的技術(shù)。在三星或HTC等智能手機(jī)公司推出其最新高端手機(jī)時,我們經(jīng)常聽到這項(xiàng)工作。市場上幾乎所有的高端電話都支持NFC。近場通信(NFC)是智能手機(jī)和類似設(shè)備通過相互觸摸或緊密靠近而建立無線電通信的一組標(biāo)準(zhǔn),通常不再對于電子極客,我們還希望使用NFC技術(shù)來制造自己的東西。因此,我們構(gòu)建了此NFC RFID模塊。該模塊基于恩智浦PN532構(gòu)建。恩智浦PN532在NFC領(lǐng)域非常受歡迎。該公司提供了許多技術(shù)文檔來幫助開發(fā)人員。我們根據(jù)官方文檔開發(fā)了此模塊。為了簡化操作,我們還為此模塊構(gòu)建了庫。我們幾乎將NXP532的所有IO引腳斷開。用戶可以輕松連接和播放。在此模塊上,默認(rèn)情況下,I2C是數(shù)據(jù)接口。使用我們的Arduino Sensor Shield,即插即用非常容易。但是,如果用戶要使用其他接口,例如UART或SPI,則該模塊還可以輕松斷開這些引腳。
。特點(diǎn):
1,鍍金PCB和小尺寸并易于嵌入到您的項(xiàng)目中
2,支持I2C,SPI和HSU(高速UART),在這些模式之間進(jìn)行切換
3,支持RFID讀寫支持與對等方的P2P通信在Android手機(jī)上支持NFC
4,“典型操作距離”已更新為5cm?7cm讀取距離
5,在NFC模式或RFID讀寫器模式下工作
6,RFID讀寫器支持:
a)Mifare 1k,4k,Ultralight和DesFire卡
b)ISO/IEC 14443-4卡,例如CD97BX,CD輕,Desfire,P5CN072(SMX)
c)Innovision Jewel卡(例如IRT5001卡)
d)FeliCa卡(例如RCS_860和RCS_854
7,插頭)即插即用,兼容Arduino
8,內(nèi)置PCB天線,通訊距離為4cm?6cm
9,板載電平轉(zhuǎn)換器,用于I2C和U的標(biāo)準(zhǔn)5V TTL ART,3.3V TTL SPI10,用作RFID讀寫器11,用作1443-A卡或虛擬卡12,與其他NFC設(shè)備(例如智能手機(jī))交換數(shù)據(jù)接口:版本3可支持I2C,SPI和HSU(高速UART) ,有一個開關(guān)可以幫助您輕松更改這些模式之間的接口。
步驟3:5V兩個2通道繼電器模塊
5V 2通道繼電器接口板,每個需要15-20mA驅(qū)動器電流
配備大電流繼電器
AC250V 10A; DC30V 10A
標(biāo)準(zhǔn)接口,可直接由微控制器(Arduino,8051,AVR,PIC,DSP,ARM,ARM,MSP430,TTL邏輯)控制
用于繼電器輸出的指示LED狀態(tài)
步驟4:電源模塊
功能
輸入電壓:DC 6.5?12V或USB供電;
輸出電壓:3.3V,5V開關(guān);最大輸出電流:
兩個向下的兩個獨(dú)立控制可切換至0V ,3.3V,5V;
步驟5:電路圖
步驟6:繼電器和Arduino之間的電路圖
步驟7:汽車中央門鎖接線圖
汽車制造商采用各種類型的接線圖示例。.正向觸發(fā)器,負(fù)向觸發(fā)器以及兩者。..因此請注意汽車中控鎖接線圖。..
責(zé)任編輯:wv
-
nfc
+關(guān)注
關(guān)注
59文章
1623瀏覽量
180661 -
Arduino
+關(guān)注
關(guān)注
188文章
6471瀏覽量
187306
發(fā)布評論請先 登錄
相關(guān)推薦
評論