欧美极品高清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

接線圖:



代碼:
//追光器(光敏電阻+步進電機   利用光敏電阻阻值差控制步進電機旋轉)
#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