欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
Arduino追光器(光敏電阻+步進電機)實驗
[打印本頁]
作者:
探索軟件
時間:
2018-12-7 21:55
標題:
Arduino追光器(光敏電阻+步進電機)實驗
效果:
https://pan.baidu.com/s/1dVSk6hXK0xozKsxj1EDUSQ
硬件:
Arduino UNO
三相四線步進電機 x1
光敏電阻 x2
電阻 x 2
LED X 2
接線圖:
連線圖.jpg
(63.96 KB, 下載次數: 78)
下載附件
2018-12-7 21:48 上傳
代碼:
//追光器(光敏電阻+步進電機 利用光敏電阻阻值差控制步進電機旋轉)
#include <Arduino.h>
#define ADpin1 A0 //光敏電阻1
#define ADpin2 A1 //光敏電阻2
#define LED1 6
#define LED2 7
//步進電機
#define A 8 //引腳命名
#define B 9
#define C 10
#define D 11
int ADBuffer1 = 0;
int ADBuffer2 = 0;
int temp=0;
void setup()
{
//設置引腳為輸出引腳
pinMode(LED1,OUTPUT);
pinMode(LED2,OUTPUT);
pinMode(A,OUTPUT);
pinMode(B,OUTPUT);
pinMode(C,OUTPUT);
pinMode(D,OUTPUT);
Serial.begin(9600); //波特率9600
}
void loop(){
ADBuffer1 = analogRead(ADpin1); //讀取AD值
Serial.print("AD1 = ");
Serial.println(ADBuffer1);
ADBuffer2 = analogRead(ADpin2); //讀取AD值
Serial.print("AD2 = ");
Serial.println(ADBuffer2);
temp=ADBuffer2-ADBuffer1;
Serial.print("temp = ");
Serial.println(temp);
if(temp>0 and temp>5){
digitalWrite(LED1,HIGH); //點亮LED
digitalWrite(LED2,LOW); //熄滅LED
delay(500); //延時500ms
bjdjzz(); //步進電機正旋轉
}else{
digitalWrite(LED1,LOW); //熄滅LED
digitalWrite(LED2,LOW); //熄滅LED
delay(500); //延時500ms
}
if(temp<0 and temp<-5) {
digitalWrite(LED1,LOW); //熄滅LED
digitalWrite(LED2,HIGH); //點亮LED
delay(500); //延時500ms
bjdjfz(); //步進電機反旋轉
}else{
digitalWrite(LED1,LOW); //熄滅LED
digitalWrite(LED2,LOW); //熄滅LED
delay(500); //延時500ms
}
}
void Phase_A()
{
digitalWrite(A,HIGH); //A1引腳高電平
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,LOW);
}
void Phase_B()
{
digitalWrite(A,LOW);
digitalWrite(B,HIGH); //B1引腳高電平
digitalWrite(C,LOW);
digitalWrite(D,LOW);
}
void Phase_C()
{
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,HIGH); //C1引腳高電平
digitalWrite(D,LOW);
}
void Phase_D()
{
digitalWrite(A,LOW);
digitalWrite(B,LOW);
digitalWrite(C,LOW);
digitalWrite(D,HIGH); //D1引腳高電平
}
//電機正轉
void bjdjzz(){
for(int i=1;i<35;i++){
Phase_A(); //設置A相位
delay(5); //改變延時可改變旋轉速度
Phase_B(); //設置B相位
delay(5);
Phase_C(); //設置C相位
delay(5);
Phase_D(); //設置D相位
delay(5);
}
}
//電機反轉
void bjdjfz(){
for(int i=1;i<35;i++){
Phase_D(); //設置A相位
delay(5); //改變延時可改變旋轉速度
Phase_C(); //設置B相位
delay(5);
Phase_B(); //設置C相位
delay(5);
Phase_A(); //設置D相位
delay(5);
}
}
作者:
yyy13660134652
時間:
2018-12-8 08:36
豁然開朗
作者:
我是牛大人
時間:
2019-5-12 18:11
燒錄時出錯是怎么回事 樓主能告訴一下嗎
作者:
azi197417
時間:
2019-5-22 00:05
非常不錯
作者:
lucq7896
時間:
2019-12-18 17:21
三相四線步進電機是什么樣的啊?
歡迎光臨 (http://www.raoushi.com/bbs/)
Powered by Discuz! X3.1