No003. 基于Arduino的射频卡控制功能
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了No003. 基于Arduino的射频卡控制功能相关的知识,希望对你有一定的参考价值。
参考技术A 射频卡控制模块主要是对IC/ID卡进行识别,并将接收到的信息传输给Arduino开发板,再由Arduino开发板对其进行认证,此部分编译环境为Arduino IDE,在信息认证匹配后控制舵机开始工作,打开门锁,实现自动开门。在此已经设定好了相应的IC/ID卡,进行多次启动后,使舵机旋转一个适合的角度,恰好打开门锁。元件包括MFRC522模块、Arduino开发板和舵机。需要加载MFRC522.h函数库
补充:
利用SPI可以在软件的控制下构成各种系统。如一个主控制器和几个从控制器、几个从控制器相互连接构成多主机系统(分布式系统)、一个主控制器和一个或几个从 I/O设备 所构成的各种系统等。在大多数应用场合,可以使用一个主控制器作为主控机来控制数据,并向一个或几个从外围器件传送该数据。从器件只有在主控机发命令时才能接收或发送数据,其数据的传输格式是高位(MSB)在前,低位(LSB)在后。单主系统只有一台主控制器,其他均为从控制器。
基于Arduino的按键控制LED实验
I/O 口的意思即为INPUT 接口和OUTPUT 接口,到目前为止我们设计的小灯实验都还只是应用到Arduino 的I/O 口的输出功能,这个实验我们来尝试一下使用Arduino的I/O 口的输入功能即为读取外接设备的输出值,我们用一个按键和一个LED 小灯完成一个输入输出结合使用的实验,让大家能简单了解I/O 的作用。按键开关大家都应该比较了解,属于开关量(数字量)元件,按下时为闭合(导通)状态。完成本实验要
用到的元件如下:
按键开关*1
红色M5 直插LED*1
220Ω电阻*1
10KΩ电阻*1
面包板*1
面包板跳线*1 扎
我们将按键接到数字7 接口,红色小灯接到数字11 接口(Arduino 控制器0-13 数字I/O 接口都可以用来接按键和小灯,但是尽量不选择0 和1 接口,0 和1 接口为接口功能复用,除I/O 口功能外也是串口通信接口,下载程序时属于与PC 机通信故应保持0 和1 接口悬空,所以为避免插拔线的麻烦尽量不选用0 和1 接口),按下面的原理图连接好电路。
实物连接图:
下面开始编写程序,我们就让按键按下时小灯亮起,根据前面的学习相信这个程序很容易就能编写出来,相对于前面几个实验这个实验的程序中多加了一条条件判断语句,这里我们使用if 语句,Arduino 的程序便写语句是基于C 语言的,所以C 的条件判断语句自然也适用于Arduino,像while、swich 等等。这里根据个人喜好我们习惯
于使用简单易于理解的if 语句给大家做演示例程。
我们分析电路可知当按键按下时,数字7 接口可读出为高电平,这时我们使数字11 口输出高电平可使小灯亮起,程序中我们判断数字7 口是否为低电平,要为低电平使数字11 口输出也为低电平小灯不亮,原理同上。
1 int ledpin=11;//定义数字11 接口 2 int inpin=7;//定义数字7 接口 3 int val;//定义变量val 4 void setup() 5 { 6 pinMode(ledpin,OUTPUT);//定义小灯接口为输出接口 7 pinMode(inpin,INPUT);//定义按键接口为输入接口 8 } 9 void loop() 10 { 11 val=digitalRead(inpin);//读取数字7 口电平值赋给val 12 if(val==LOW)//检测按键是否按下,按键按下时小灯亮起 13 { digitalWrite(ledpin,LOW);} 14 else 15 { digitalWrite(ledpin,HIGH);} 16 }
实验结果,及其现象:当按键按下时,LED亮,按键没有按下时,LED不亮。
下载完程序我们本次的小灯配合按键的实验就完成了,本实验的原理很简单,广泛被用于各种电路和电器中,实际生活中大家也不难在各种设备上发现,例如大家的手机当按下任一按键时背光灯就会亮起,这就是典型应用了。你可以把LED当成继电器,就可以控制220v电灯啦!
以上是关于No003. 基于Arduino的射频卡控制功能的主要内容,如果未能解决你的问题,请参考以下文章