第5步编写代码
这一步对Arduino进行编程,思路是这样的:Arduino检查串行口是否接收到信息。如果接收到,Arduino把接收的字符转为序列,然后确定是否是跟预先设好的密码相匹配。我设置的密码是ABCD。
int lock =9; // Arduino的9脚
charfinal[4]; // Arduino接收到的字符
char correct[4] = {'A','B','C','D'}; //用户定义的密码
int pass_correct =0; //密码是否匹配, 0=false 1=true
void setup()
{
pinMode(lock, OUTPUT);
Serial.begin(9600);
digitalWrite(lock,HIGH);
}
void loop()
{
while(Serial.available())
{
for(int i=0;i<4; i++) //有数据,则读出4个字节
{
final[i] =Serial.read(); //把这4个字节送到"final"序列
}
for(int i=0;i<4; i++)
{
if(final[i]==correct[i]) // {
pass_correct = 1; // }
else
{
pass_correct = 0; //
break; //结束循环
}
}
}
if(pass_correct==1) //如果匹配密码, 则解锁5秒的时间
{
Serial.println("Unlocked");
digitalWrite(lock, LOW);
delay(5000);
Serial.println("Locked");
pass_correct = 0;
}
else
{
digitalWrite(lock, HIGH); //如果不匹配,保持门电位为高电平(锁门)
}
/* FOR TESTING
Serial.print(final[0]);Serial.print(final[1]);Serial.print(final[2]);Serial.print(final[3]);
Serial.print(" |");
Serial.print(correct[0]);Serial.print(correct[1]);Serial.print(correct[2]);Serial.print(correct[3]);
Serial.print("");
Serial.print(pass_correct);
Serial.println("");
*/
delay(500);
}
猜你会喜欢
iPhone控制的简易物联网
这次我尝试制作一个简单的物联网系统,可以...
TEM36温度传感器
非常容易解释什么是模拟温度传感器,它就是...
基于MK802的摄像头自动光源跟踪
基于MK802的摄像头自动光源跟踪,展示...
Arduino加速度传感器与幻彩立方的互动
这篇文章介绍MM7361三轴加速度传感器...
教你驱动1.8寸显示屏
想过驱动旧手机的显示屏没有?也许这篇文章...
评 论
选择昵称后请轻按空格键
请勿进行人身攻击,谩骂以及任何违法国家相关法律法规的言论。