欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 9514|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

Arduino追光器(光敏電阻+步進(jìn)電機(jī))實(shí)驗(yàn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
效果:


硬件:
Arduino UNO
三相四線步進(jìn)電機(jī) x1
光敏電阻 x2
電阻 x 2
LED X 2

接線圖:



代碼:
//追光器(光敏電阻+步進(jìn)電機(jī)   利用光敏電阻阻值差控制步進(jìn)電機(jī)旋轉(zhuǎn))
#include <Arduino.h>
#define ADpin1 A0  //光敏電阻1
#define ADpin2 A1  //光敏電阻2
#define LED1 6  
#define LED2 7

//步進(jìn)電機(jī)
#define A 8      //引腳命名
#define B 9
#define C 10
#define D 11

int ADBuffer1 = 0;
int ADBuffer2 = 0;
int temp=0;
void setup()
{
//設(shè)置引腳為輸出引腳
  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);                          //點(diǎn)亮LED
    digitalWrite(LED2,LOW);                         //熄滅LED
    delay(500);          //延時(shí)500ms
    bjdjzz();                                         //步進(jìn)電機(jī)正旋轉(zhuǎn)
    }else{
    digitalWrite(LED1,LOW);                          //熄滅LED
    digitalWrite(LED2,LOW);                           //熄滅LED
    delay(500);          //延時(shí)500ms
  }


  if(temp<0 and temp<-5) {
    digitalWrite(LED1,LOW);                //熄滅LED
    digitalWrite(LED2,HIGH);                //點(diǎn)亮LED
   delay(500);                                        //延時(shí)500ms
   bjdjfz();                                         //步進(jìn)電機(jī)反旋轉(zhuǎn)
     }else{
    digitalWrite(LED1,LOW);    //熄滅LED
    digitalWrite(LED2,LOW);    //熄滅LED
    delay(500);          //延時(shí)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引腳高電平
}
//電機(jī)正轉(zhuǎn)
void bjdjzz(){
for(int i=1;i<35;i++){
  Phase_A();      //設(shè)置A相位
  delay(5);     //改變延時(shí)可改變旋轉(zhuǎn)速度
  Phase_B();      //設(shè)置B相位
  delay(5);
  Phase_C();      //設(shè)置C相位
  delay(5);
  Phase_D();      //設(shè)置D相位
  delay(5);
}
}
//電機(jī)反轉(zhuǎn)
void bjdjfz(){
for(int i=1;i<35;i++){
  Phase_D();      //設(shè)置A相位
  delay(5);         //改變延時(shí)可改變旋轉(zhuǎn)速度
  Phase_C();      //設(shè)置B相位
  delay(5);
  Phase_B();      //設(shè)置C相位
  delay(5);
  Phase_A();      //設(shè)置D相位
  delay(5);
}
}




評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏5 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:441552 發(fā)表于 2018-12-8 08:36 來自觸屏版 | 只看該作者
豁然開朗
回復(fù)

使用道具 舉報(bào)

板凳
ID:536314 發(fā)表于 2019-5-12 18:11 | 只看該作者
燒錄時(shí)出錯(cuò)是怎么回事 樓主能告訴一下嗎
回復(fù)

使用道具 舉報(bào)

地板
ID:452731 發(fā)表于 2019-5-22 00:05 | 只看該作者
非常不錯(cuò)
回復(fù)

使用道具 舉報(bào)

5#
ID:171746 發(fā)表于 2019-12-18 17:21 | 只看該作者
三相四線步進(jìn)電機(jī)是什么樣的啊?
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表