步骤1:
Arduino/Genuino Uno是基于ATmega328P的微控制器板。它具有14个数字输入/输出引脚(其中6个可以用作PWM输出),6个模拟输入,一个16 MHz石英晶体,一个USB连接,一个电源插孔,一个ICSP接头和一个复位按钮。它包含支持微控制器所需的一切;
用于将草图上传到您可以参考的Arduino板。请按照以下步骤上传您的草图:
下载arduino软件以上传草图
使用USB电缆连接Arduino。 USB电缆的方形端连接到Arduino,扁平端连接到计算机上的USB端口。选择“工具”→“板”→“ Arduino Uno”,在Arduino菜单中找到您的板。您也可以通过此菜单找到所有开发板,例如Arduino MEGA 2560和Arduino Leonardo。为您的主板选择正确的串行端口。通过选择工具→串行端口→comX或/dev/tty.usbmodemXXXXX,可以找到所有可用串行端口的列表。 X标记顺序或随机分配的数字。在Windows中,如果您刚刚连接了Arduino,则COM端口通常是最高的端口号,例如com 3或com15。COM端口列表中可以列出许多设备,如果您插入多个Arduino,则每个端口将被分配一个新号码。在Mac OS X上,/dev/tty.usbmodem编号将是随机分配的,并且长度可以变化,例如/dev/tty.usbmodem1421或/dev/tty.usbmodem262471。除非您连接了另一个Arduino,否则它应该是唯一可见的一个。点击上传按钮。这是在Arduino环境中指向右侧的按钮。您也可以使用键盘快捷键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标志= 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设置(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,FALLING); }
void loop(void){
int flag = getFlag();
switch(flag){
case FLAG_NONE:
中断;
情况为FLAG_IRQ_TRIGGERED:
if(nfc.tagPresent()){
NfcTag标签= 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;
默认:
打破; }}
void setFlag(int flag){flags = flag; }
int getFlag(){
返回标志; }
void irq(){如果(getFlag()== FLAG_NONE){
setFlag(FLAG_IRQ_TRIGGERED); }}
void reset_PN532_IRQ_pin(){
nfc.tagPresent();
}
步骤2:PN532 NFC模块
描述:NFC是近年来流行的技术。在三星或HTC等智能手机公司推出其最新高端手机时,我们经常听到这项工作。市场上几乎所有的高端电话都支持NFC。近场通信(NFC)是智能手机和类似设备通过相互触摸或紧密靠近而建立无线电通信的一组标准,通常不再对于电子极客,我们还希望使用NFC技术来制造自己的东西。因此,我们构建了此NFC RFID模块。该模块基于恩智浦PN532构建。恩智浦PN532在NFC领域非常受欢迎。该公司提供了许多技术文档来帮助开发人员。我们根据官方文档开发了此模块。为了简化操作,我们还为此模块构建了库。我们几乎将NXP532的所有IO引脚断开。用户可以轻松连接和播放。在此模块上,默认情况下,I2C是数据接口。使用我们的Arduino Sensor Shield,即插即用非常容易。但是,如果用户要使用其他接口,例如UART或SPI,则该模块还可以轻松断开这些引脚。
。特点:
1,镀金PCB和小尺寸并易于嵌入到您的项目中
2,支持I2C,SPI和HSU(高速UART),在这些模式之间进行切换
3,支持RFID读写支持与对等方的P2P通信在Android手机上支持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,内置PCB天线,通讯距离为4cm〜6cm
9,板载电平转换器,用于I2C和U的标准5V TTL ART,3.3V TTL SPI10,用作RFID读写器11,用作1443-A卡或虚拟卡12,与其他NFC设备(例如智能手机)交换数据接口:版本3可支持I2C,SPI和HSU(高速UART) ,有一个开关可以帮助您轻松更改这些模式之间的接口。
步骤3:5V两个2通道继电器模块
配备大电流继电器
AC250V 10A; DC30V 10A
标准接口,可直接由微控制器(Arduino,8051,AVR,PIC,DSP,ARM,ARM,MSP430,TTL逻辑)控制
用于继电器输出的指示LED状态
步骤4:电源模块
功能
输入电压:DC 6.5〜12V或USB供电;
输出电压:3.3V,5V开关;最大输出电流:
两个向下的两个独立控制可切换至0V ,3.3V,5V;
步骤5:电路图
步骤6:继电器和Arduino之间的电路图
步骤7:汽车中央门锁接线图
汽车制造商采用各种类型的接线图示例。.正向触发器,负向触发器以及两者。..因此请注意汽车中控锁接线图。..
责任编辑:wv
-
nfc
+关注
关注
59文章
1621浏览量
180508 -
Arduino
+关注
关注
188文章
6468浏览量
186939
发布评论请先 登录
相关推荐
评论