亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2210|回復: 2
打印 上一主題 下一主題
收起左側

Arduino XY軸上控制步進機轉動,煩請師傅們指點指點程序如何修改,謝謝!

[復制鏈接]
跳轉到指定樓層
樓主
ID:719553 發表于 2020-6-16 13:57 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
本帖最后由 jewelry21 于 2020-6-17 15:03 編輯

小白最近在學習uno,用搖桿+28電機做實驗,邊學邊做,下面的程序能做到X軸上控制步進機轉動,如何實現在Y軸上也能控制一個電機呢?
這段程序沒有像其他的一樣用define來定義A0或A1,直接插線就成了,于是想著在后面也復制一段,改針腳什么的,改來改去驗證都不通過,想煩請師傅們提示一下如何修改?萬分感激!
//PS2搖桿控制X,Y方向各控制一個步進電機
int apin=8;   //定義X軸電機使用8,9,10,11號針腳
int bpin=9;
int cpin=10;
int dpin=11;
int epin=4;   //定義Y軸電機使用4,5,6,7號針腳
int fpin=5;
int gpin=6;
int hpin=7;
int delay1;   //左拉搖桿時延時
int delay2;   //右推搖桿時延時
int delay3;   //上推搖桿時延時
int delay4;   //下拉搖桿時延時
void setup()
{
pinMode(apin,OUTPUT);  //關閉X軸電機
pinMode(bpin,OUTPUT);
pinMode(cpin,OUTPUT);
pinMode(dpin,OUTPUT);
pinMode(epin,OUTPUT);  //關閉Y軸電機
pinMode(fpin,OUTPUT);
pinMode(gpin,OUTPUT);
pinMode(hpin,OUTPUT);
Serial.begin(9600);    //開啟調試輸出,設定9600波特率
}
void loop()
{
int x;
int y;
x=map(analogRead(0),0,1023,0,254);  //從A0讀取X軸搖桿隨機值
y=map(analogRead(1),0,1023,0,254);  //從A1讀取Y軸搖桿隨機值
Serial.println(x);    //以十進制形式輸出x的ASCII編碼值,并同時跟隨一個回車和換行符
Serial.println(y);
if (x>130);
{
     int delay1=264-x;
     digitalWrite(apin,HIGH);
     delay(delay1);
     digitalWrite(apin,LOW);
     digitalWrite(bpin,HIGH);
     delay(delay1);
     digitalWrite(bpin,LOW);
     digitalWrite(cpin,HIGH);
     delay(delay1);
     digitalWrite(cpin,LOW);
     digitalWrite(dpin,HIGH);
     delay(delay1);
     digitalWrite(dpin,LOW);
     Serial.print("264-");
     Serial.print(x);
     Serial.print("=");
     Serial.println(delay1);
}
  else if (x<115)
{
     delay2=x+10;
     Serial.print(x);
     Serial.print("+10");
     Serial.print("=");
     Serial.println(delay2);
     digitalWrite(apin,HIGH);
     delay(delay2);
     digitalWrite(apin,LOW);
     digitalWrite(dpin,HIGH);
     delay(delay2);
     digitalWrite(dpin,LOW);
     digitalWrite(cpin,HIGH);
     delay(delay2);
     digitalWrite(cpin,LOW);
     digitalWrite(bpin,HIGH);
     delay(delay2);
     digitalWrite(bpin,LOW);
}
if (y>130);
{
     int delay3=264-y;
     digitalWrite(epin,HIGH);
     delay(delay3);
     digitalWrite(epin,LOW);
     digitalWrite(fpin,HIGH);
     delay(delay3);
     digitalWrite(fpin,LOW);
     digitalWrite(gpin,HIGH);
     delay(delay3);
     digitalWrite(gpin,LOW);
     digitalWrite(hpin,HIGH);
     delay(delay3);
     digitalWrite(hpin,LOW);
     Serial.print("264-");
     Serial.print(y);
     Serial.print("=");
     Serial.println(delay3);
}
else if (y<115)
{
     delay4=y+10;
     Serial.print(y);
     Serial.print("+10");
     Serial.print("=");
     Serial.println(delay4);
     digitalWrite(epin,HIGH);
     delay(delay4);
     digitalWrite(epin,LOW);
     digitalWrite(hpin,HIGH);
     delay(delay4);
     digitalWrite(hpin,LOW);
     digitalWrite(gpin,HIGH);
     delay(delay4);
     digitalWrite(gpin,LOW);
     digitalWrite(fpin,HIGH);
     delay(delay4);
     digitalWrite(fpin,LOW);
}
else if (110<x<130)
{
}
else if (100<y<130)
{
     
}
}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:719553 發表于 2020-6-17 15:03 | 只看該作者
//PS2搖桿控制X,Y方向各控制一個步進電機

int apin=8;   //定義X軸電機使用8,9,10,11號針腳
int bpin=9;
int cpin=10;
int dpin=11;
int epin=4;   //定義Y軸電機使用4,5,6,7號針腳
int fpin=5;
int gpin=6;
int hpin=7;
int delay1;   //左拉搖桿時延時
int delay2;   //右推搖桿時延時
int delay3;   //上推搖桿時延時
int delay4;   //下拉搖桿時延時

void setup()
{
 pinMode(apin,OUTPUT);  //關閉X軸電機
 pinMode(bpin,OUTPUT); 
 pinMode(cpin,OUTPUT);
 pinMode(dpin,OUTPUT);
 pinMode(epin,OUTPUT);  //關閉Y軸電機
 pinMode(fpin,OUTPUT); 
 pinMode(gpin,OUTPUT);
 pinMode(hpin,OUTPUT);
 Serial.begin(9600);    //開啟調試輸出,設定9600波特率
}

void loop() 
{
 int x;
 int y;
 x=map(analogRead(0),0,1023,0,254);  //從A0讀取X軸搖桿隨機值
 y=map(analogRead(1),0,1023,0,254);  //從A1讀取Y軸搖桿隨機值
 Serial.println(x);    //以十進制形式輸出x的ASCII編碼值,并同時跟隨一個回車和換行符
 Serial.println(y);
 
 if (x>130);
 {
     int delay1=264-x;
     digitalWrite(apin,HIGH);
     delay(delay1);
     digitalWrite(apin,LOW);
     digitalWrite(bpin,HIGH);
     delay(delay1);
     digitalWrite(bpin,LOW);
     digitalWrite(cpin,HIGH);
     delay(delay1);
     digitalWrite(cpin,LOW);
     digitalWrite(dpin,HIGH);
     delay(delay1);
     digitalWrite(dpin,LOW);

     Serial.print("264-");
     Serial.print(x);
     Serial.print("=");
     Serial.println(delay1);
 }
  else if (x<115)
 {
     delay2=x+10;
     Serial.print(x);
     Serial.print("+10");
     Serial.print("=");
     Serial.println(delay2);
     digitalWrite(apin,HIGH);
     delay(delay2);
     digitalWrite(apin,LOW);
     digitalWrite(dpin,HIGH);
     delay(delay2);
     digitalWrite(dpin,LOW);
     digitalWrite(cpin,HIGH);
     delay(delay2);
     digitalWrite(cpin,LOW);
     digitalWrite(bpin,HIGH);
     delay(delay2);
     digitalWrite(bpin,LOW);
 }
 if (y>130);
 {
     int delay3=264-y;
     digitalWrite(epin,HIGH);
     delay(delay3);
     digitalWrite(epin,LOW);
     digitalWrite(fpin,HIGH);
     delay(delay3);
     digitalWrite(fpin,LOW);
     digitalWrite(gpin,HIGH);
     delay(delay3);
     digitalWrite(gpin,LOW);
     digitalWrite(hpin,HIGH);
     delay(delay3);
     digitalWrite(hpin,LOW);

     Serial.print("264-");
     Serial.print(y);
     Serial.print("=");
     Serial.println(delay3);
 }
 else if (y<115)
 {
     delay4=y+10;
     Serial.print(y);
     Serial.print("+10");
     Serial.print("=");
     Serial.println(delay4);
     digitalWrite(epin,HIGH);
     delay(delay4);
     digitalWrite(epin,LOW);
     digitalWrite(hpin,HIGH);
     delay(delay4);
     digitalWrite(hpin,LOW);
     digitalWrite(gpin,HIGH);
     delay(delay4);
     digitalWrite(gpin,LOW);
     digitalWrite(fpin,HIGH);
     delay(delay4);
     digitalWrite(fpin,LOW);
 }
 
 else if (110<x<130)
 {

 }
 
 else if (100<y<130)
 {
     
 }
 
}
回復

使用道具 舉報

板凳
ID:719553 發表于 2020-6-17 15:05 | 只看該作者
請問師傅們能這么寫么,驗證的時候最后Y的else if報錯
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表