Labview开启Arduino密码锁程序设计
发布时间:2011-11-21 11:01
发布者:满天星的愿望
实验任务是:Labview发送4位数的密码给Arduino控制器,如果这个密码与Arduino控制器设定的密码一致,则指示灯常亮。密码不对,则蜂鸣器发出刺耳的报警声,同时指示灯闪烁。 Labview框图程序如图: Arduino程序: //变量声明 byte thousand; byte hundred; byte ten; byte one; int speak = 3; //蜂鸣器模块接于数字口3 int led = 9; //指示灯模块接于数字口9 boolean speak_state = false; boolean flag = false; //初始化 void setup() { Serial.begin(9600); //串口波特率设置 pinMode(speak, OUTPUT); //设置为输出模式 digitalWrite(speak,HIGH); //初始化让喇叭不响 pinMode(led, OUTPUT); digitalWrite(led,HIGH);//初始化让灯不亮 } //由参数t形成不同的频率 void Alarm(int t) { int i,j; for(int i=0;i<200;i++) { speak_state=!speak_state; digitalWrite(speak,speak_state); for(j=0;j } } //主程序 void loop() { //如果查询上位机通过串口已经发来有四个字节的密码 if(Serial.available()==4) { flag= true; thousand=Serial.read(); //读取千位 hundred=Serial.read();//读取百位 ten=Serial.read();//读取十位 one=Serial.read();//读取个位 } if(flag == true) { int sum;//总数 sum=thousand*1000+hundred*100+ten*10+one; //如果密码正确 if (sum ==5768) { digitalWrite(led,LOW); //让灯亮 digitalWrite(speak,HIGH); //让喇叭不响 } //如果密码不正确 else { //让灯闪烁,让喇叭报警 digitalWrite(led,LOW); Alarm(90); Alarm(140); digitalWrite(led,HIGH); Alarm(90); Alarm(140); } } ![]() |
网友评论