Arduino应用范例例.docx
《Arduino应用范例例.docx》由会员分享,可在线阅读,更多相关《Arduino应用范例例.docx(14页珍藏版)》请在冰点文库上搜索。
Arduino应用范例例
Arduino应用范例例
————————————————————————————————作者:
————————————————————————————————日期:
Arduino
应
用
范
例
10
例
作者:
小新哥
1.趣味彩灯.................................................................................3
2.楼道延时报警灯.....................................................................4
3.行程自动往返工件传送带.....................................................5
4.A、B、C三路智能抢答器....................................................6
5.机床控制系统.........................................................................7
6.楼上楼下共控一灯.................................................................8
7.工厂顺序启动反顺序停车控制系统.....................................9
8.楼道声光控灯........................................................................10
9.水塔自动上水装置................................................................11
10.电机拖动控制......................................................................12
1.趣味彩灯
voidsetup()
{
for(inti=0;i<=7;i++)//把0-7设置为输入
pinMode(i,INPUT);
for(intj=8;j<=13;j++)//把8-13设置为输出
pinMode(j,OUTPUT);
}
voidloop()
{
if(digitalRead
(1)==HIGH)
{
if(digitalRead
(1)==HIGH)
{
for(intx=9;x<=12;x++)//循环方式依次让每个led在1秒内点亮
{
digitalWrite(x,HIGH);
delay(1000);
}
}
delay(10000);
for(intx=9;x<=12;x++)//循环方式依次让每个led熄灭
{
digitalWrite(x,LOW);
}
for(intK=1;K<=10;K++)//循环10次,亮0.5秒灭0.5秒,共10秒
{
digitalWrite(13,HIGH);
delay(500);
digitalWrite(13,LOW);
delay(500);
}
}
}
2.楼道延时报警灯
voidsetup()
{
for(inti=0,j=9;i<=8,j<=13;i++,j++)//设置0-8为输入,9-13为输出
{pinMode(i,INPUT);pinMode(j,OUTPUT);}
}
voidloop()
{
if(digitalRead
(1)==HIGH||digitalRead
(2)==HIGH)//引脚1或2置高电平
{
digitalWrite(9,HIGH);//9置高电平
delay(25000);//延时25秒
digitalWrite(10,HIGH);//10置高电平
delay(5000);//延时5秒
digitalWrite(10,LOW);//10置低电平
digitalWrite(9,LOW);//9置低电平
}
}
3.行程自动往返工件传送带
voidsetup()
{
for(inti=0;i<=7;i++)//把0-7设置为输入
pinMode(i,INPUT);
for(intj=8;j<=13;j++)//把8-13设置为输出
pinMode(j,OUTPUT);
}
voidloop(){
if(digitalRead
(1)==HIGH){
digitalWrite(9,HIGH);
digitalWrite(10,LOW);
}
if(digitalRead
(2)==HIGH){
digitalWrite(10,HIGH);
digitalWrite(9,LOW);
}
if(digitalRead(3)==HIGH){
digitalWrite(9,LOW);
digitalWrite(10,LOW);
}
}
4.A、B、C三路智能抢答器(直接用带闪烁灯的蜂鸣器更好)
voidsetup()
{
for(inti=0,j=9;i<=8,j<=13;i++,j++)//设置0-8为输入,9-13为输出
{pinMode(i,INPUT);pinMode(j,OUTPUT);}
}
voidloop()
{if(digitalRead
(1)==HIGH&&digitalRead(11)==LOW&&digitalRead(13)==LOW)
{
digitalWrite(8,HIGH);
digitalWrite(9,HIGH);
}if(digitalRead
(2)==HIGH&&digitalRead(9)==LOW&&digitalRead(13)==LOW)
{
digitalWrite(10,HIGH);
digitalWrite(11,HIGH);
}
if(digitalRead(3)==HIGH&&digitalRead(9)==LOW&&digitalRead(11)==LOW)
{
digitalWrite(12,HIGH);
digitalWrite(13,HIGH);
}
if(digitalRead(4)==HIGH)
{
for(intk=8;k<=13;k++)
digitalWrite(k,LOW);
}
}
5.机床控制系统
voidsetup()
{
for(inti=0;i<=7;i++)//把0-7设置为输入
{pinMode(i,INPUT);}
for(intj=8;j<=13;j++)//把8-13设置为输出
{pinMode(j,OUTPUT);}
}
voidloop(){
digitalWrite(9,digitalRead
(1));
digitalWrite(10,!
digitalRead
(2));
digitalWrite(11,digitalRead(3));
}
6.楼上楼下共控一灯(方式2)
voidsetup()
{
for(inti=0,j=9;i<=8,j<=13;i++,j++)//设置0-8为输入,9-13为输出
{pinMode(i,INPUT);pinMode(j,OUTPUT);}
}
voidloop(){
if(digitalRead
(1)==HIGH)//有按键按下
{
delay(20);//延时去抖动
if(digitalRead
(1)==HIGH)//有按键按下
{
digitalWrite(9,!
digitalRead(9));//LED的状态翻转
while(digitalRead
(1)==HIGH);//等待按键松手
}
}
if(digitalRead
(2)==HIGH)//有按键按下
{
delay(20);//延时去抖动
if(digitalRead
(2)==HIGH)//有按键按下
{
digitalWrite(9,!
digitalRead(9));//LED的状态翻转
while(digitalRead
(2)==HIGH);//等待按键松手
}
}
}
7.工厂顺序启动反顺序停车控制系统
voidsetup()
{
for(inti=0;i<=7;i++)//把0-7设置为输入
{pinMode(i,INPUT);}
for(intj=8;j<=13;j++)//把8-13设置为输出
{pinMode(j,OUTPUT);}
}
voidloop(){
if(digitalRead
(1)==HIGH)
{digitalWrite(9,HIGH);
delay(5000);
digitalWrite(10,HIGH);}
if(digitalRead
(2)==HIGH)
{digitalWrite(10,LOW);
delay(5000);
digitalWrite(9,LOW);}
}
8.楼道声光控灯
voidsetup()
{
for(inti=0;i<=7;i++)//把0-7设置为输入
{pinMode(i,INPUT);}
for(intj=8;j<=13;j++)//把8-13设置为输出
{pinMode(j,OUTPUT);}
}
voidloop(){
if(digitalRead
(1)==HIGH&digitalRead
(2)==HIGH)
{digitalWrite(9,HIGH);
delay(20000);
digitalWrite(9,LOW);}
}
9.水塔自动上水装置
voidsetup(){
pinMode(1,INPUT);
pinMode(9,OUTPUT);}
voidloop()
{digitalWrite(9,!
digitalRead
(1));}
11.电机拖动控制
voidsetup()
{
for(inti=0;i<=7;i++)//把0-7设置为输入
pinMode(i,INPUT);
for(intj=8;j<=13;j++)//把8-13设置为输出
pinMode(j,OUTPUT);
}
voidloop()
{
if(digitalRead
(1)==HIGH&&digitalRead(9)==LOW&&digitalRead(10)==LOW)
{
digitalWrite(9,HIGH);
delay(5000);
digitalWrite(10,HIGH);
}
if(digitalRead
(2)==HIGH)
{digitalWrite(9,HIGH);}
if(digitalRead(3)==HIGH)
{digitalWrite(9,LOW);}
if(digitalRead(4)==HIGH)
{digitalWrite(10,HIGH);}
if(digitalRead(5)==HIGH)
{digitalWrite(10,LOW);}
}