欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
Arduino開(kāi)關(guān)鍵控鎖程序,自動(dòng)門
[打印本頁(yè)]
作者:
Mr-Sa
時(shí)間:
2019-11-18 16:00
標(biāo)題:
Arduino開(kāi)關(guān)鍵控鎖程序,自動(dòng)門
#include <Servo.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include<Stepper.h>
LiquidCrystal_I2C lcd(0x27,16,2); //配置LCD地址及行列
Servo myservo; //創(chuàng)建一個(gè)舵機(jī)控制對(duì)象
int led1=3; //定義LED1引腳
int led2=4; //定義LED2引腳
int buzzer=5; //定義蜂鳴器引腳
int button=6; //定義按鍵引腳
int length; //定義一個(gè)變量用來(lái)表示共有多少個(gè)音符
int steps=512;
Stepper myStepper(steps, 8, 9, 10, 11);
int song[] =
{
/* 歌曲頻率*/
589, 495, 441, 495,
-1, 589, 495, 441, 589,
495, -1, 495, 495, 495, 441, 495, -1, 495,
589, 495, 441, 589, 495, -1,
};
float duration[]=
{
/* 持續(xù)的時(shí)間 單位 ms */
1, 1, 0.5, 0.5,
1, 0.5, 0.5, 0.5, 0.5,
1, 0.5, 0.5, 0.5, 1, 0.5, 1, 0.5, 0.5,
0.5,0.5, 0.5, 0.5, 1, 1,
};
void setup()
{
{
pinMode(led1,OUTPUT); //3號(hào)數(shù)字口設(shè)置為輸出狀態(tài)
pinMode(led2,OUTPUT); //4號(hào)數(shù)字口設(shè)置為輸出狀態(tài)
}
pinMode(buzzer,OUTPUT);
length = sizeof(song) / sizeof(song[0]); //這里用了一個(gè)sizeof函數(shù),查出數(shù)組里有多少個(gè)音符
for (int x = 0; x < length; x++) //循環(huán)音符的次數(shù)
{
tone(buzzer, song[x]); //依次播放tune數(shù)組元素,即每個(gè)音符
delay(400 * duration[x]); //每個(gè)音符持續(xù)的時(shí)間,即節(jié)拍duration,400是調(diào)整時(shí)間的越大,曲子速度越慢,越小曲子速度越快
noTone(buzzer); //停止當(dāng)前音符,進(jìn)入下一音符
}
{
Serial.begin(9600);
myservo.attach(2); //綁定對(duì)象至D7
}
{
// 設(shè)置轉(zhuǎn)速,單位r/min
myStepper.setSpeed(20);
// 初始化串口
Serial.begin(9600);
}
}
void duoji1()
{
myservo.write(150); //寫入角度
Serial.println(myservo.read()); //打印舵機(jī)角度
}
void duoji2()
{
myservo.write(0); //寫入角度
Serial.println(myservo.read()); //打印舵機(jī)角度
}
void duoji3()
{
myservo.write(10); //寫入角度
Serial.println(myservo.read()); //打印舵機(jī)角度
}
void clockwise()
{
// 順時(shí)針一次旋轉(zhuǎn)
Serial.println();
myStepper.step(520);
delay(1000);
}
void clockwises()
{
// 順時(shí)針一次旋轉(zhuǎn)
Serial.println();
myStepper.step(-520);
delay(1000);
}
void xianshi1()
{
lcd.init(); //初始化LCD
lcd.backlight(); //打開(kāi)背光
lcd.setCursor(3,0); //設(shè)置顯示位置
lcd.print("Welcome to "); //顯示字符數(shù)據(jù)
lcd.setCursor(5,1); //設(shè)置顯示位置
lcd.print("Home !"); //顯示字符數(shù)據(jù)
}
void xianshi2()
{
lcd.init(); //初始化LCD
lcd.backlight(); //打開(kāi)背光
lcd.setCursor(4,0); //設(shè)置顯示位置
lcd.print("Good Bye"); //顯示字符數(shù)據(jù)
lcd.setCursor(4,1); //設(shè)置顯示位置
lcd.print("*Locked*"); //顯示字符數(shù)據(jù)
}
void loop()
{
jiance();
}
void jiance()
{
int buttonState = digitalRead(button); // 檢測(cè)按鍵
delay(1000);
int n =digitalRead(button); //創(chuàng)建一個(gè)變量n,按鍵狀態(tài)采集出來(lái)賦值給他。
if (n==HIGH) //判斷n是否為高電平,如果是執(zhí)行下面的語(yǔ)句,不是則跳過(guò)。
{
digitalWrite(led2,LOW); //LED2滅
digitalWrite(led1,HIGH); //LED1亮
xianshi1(); //運(yùn)行xianshi
delay(1000);
duoji1(); //運(yùn)行xianshi
setup();
delay(1000);
clockwise(); //運(yùn)行xianshi
delay(11000);
digitalWrite(led1,LOW); //LED1滅
digitalWrite(led2,HIGH); //LED2亮
xianshi2(); //運(yùn)行xianshi2
setup();
clockwises();
delay(1000);
duoji2(); //運(yùn)行xianshi
delay(1000);
duoji3(); //運(yùn)行duoji3
}
}
復(fù)制代碼
作者:
admin
時(shí)間:
2019-11-20 14:55
本帖需要重新編輯補(bǔ)全電路原理圖,源碼,詳細(xì)說(shuō)明與圖片即可獲得100+黑幣(帖子下方有編輯按鈕)
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1