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

QQ登錄

只需一步,快速開(kāi)始

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

Arduino DIY X-Y 平面運(yùn)動(dòng)機(jī)構(gòu)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
Arduino DIY X-Y 平面運(yùn)動(dòng)機(jī)構(gòu)



* 所需部件某寶上都可以買到,自己組裝就可以.

* 運(yùn)轉(zhuǎn)起來(lái)很有趣(請(qǐng)看視頻).

* 改裝了可以做畫(huà)圖機(jī)器


代碼:

//激光切割機(jī)
  1. #include <Wire.h>
  2. #include <LiquidCrystal_I2C.h> //引用I2C庫(kù)
  3. //I2C 引腳接A4, A5
  4. //設(shè)置LCD1602設(shè)備地址,這里的地址是0x3F,一般是0x20,或者0x27,具體看模塊手冊(cè)
  5. LiquidCrystal_I2C lcd(0x27,16,2);
  6. #include <Stepper.h>
  7. #include <Servo.h>
  8. Servo myservo1;  
  9. Servo myservo2;
  10. #define JDQ   5                       //激光頭繼電器
  11. #define LED1  8                      //方向指示燈1
  12. #define LED2  9                       //方向指示燈2


  13. #define LED3  10                      //方向指示燈3


  14. #define LED4  11                       //方向指示燈4


  15. int pos1 =0;
  16. int pos2 =0;
  17. //模擬1數(shù)據(jù)
  18. int X[ 40 ] = { 0, 40, 40, 0,90,35,60,10,87,110,10, 26, 20, 0,45,15,30,70,98,12,0, 40, 40, 0,90,35,60,10,87,110,10, 26, 20, 0,45,15,30,70,98,12} ;
  19. int Y[ 40 ] = { 0, 20, 40, 0,110,23,85,44,90,100,0, 80, 30, 80,40,0,15,89,56,20,0, 20, 40, 0,110,23,85,44,90,100,0, 80, 30, 80,40,0,15,89,56,20,} ;

  20. void setup() {
  21. Serial.begin(9600);                             //串口
  22. lcd.init();                                              // 初始化LCD
  23. lcd.backlight();                                   //設(shè)置LCD背景等亮
  24. myservo1.attach(2);
  25. myservo1.write(1);  
  26. myservo2.attach(3);
  27. myservo2.write(1);
  28. pinMode(JDQ,OUTPUT);
  29. pinMode(LED1,OUTPUT);
  30. pinMode(LED2,OUTPUT);
  31. pinMode(LED3,OUTPUT);
  32. pinMode(LED4,OUTPUT);
  33. }

  34. void loop() {
  35. myservo1.write(1);  
  36. myservo2.write(1);
  37. delay(1000);
  38. //
  39. for ( int i = 0; i < 40; ++i ){
  40. lcd.setCursor(0,0);
  41. lcd.print("X-Y Draw Test");
  42. lcd.setCursor(0,1);               
  43. lcd.print("X=");                  
  44. lcd.setCursor(2,1);            
  45. lcd.print("   ");   
  46. lcd.setCursor(2,1);              
  47. lcd.print(X[i]);     
  48. lcd.setCursor(6,1);            
  49. lcd.print("Y=");     
  50. lcd.setCursor(8,1);              
  51. lcd.print("   ");     
  52. lcd.setCursor(8,1);               
  53. lcd.print(Y[i]);     
  54. lcd.setCursor(12,1);            
  55. lcd.print(i);   
  56. delay(10);
  57. if(X[i]>90){digitalWrite(LED4,HIGH);digitalWrite(LED1,LOW);digitalWrite(LED2,LOW);digitalWrite(LED3,LOW);}
  58. if(X[i]<90){digitalWrite(LED2,HIGH);digitalWrite(LED1,LOW);digitalWrite(LED3,LOW);digitalWrite(LED4,LOW);}
  59. myservo1.write(X[i]);
  60. delay(600);
  61. if(Y[i]>90){digitalWrite(LED1,HIGH);digitalWrite(LED2,LOW);digitalWrite(LED3,LOW);digitalWrite(LED4,LOW);}
  62. if(Y[i]<90){digitalWrite(LED3,HIGH);digitalWrite(LED1,LOW);digitalWrite(LED2,LOW);digitalWrite(LED4,LOW);}
  63. myservo2.write(Y[i]);
  64. delay(600);  
  65. digitalWrite(JDQ,LOW);
  66. delay(200);
  67. digitalWrite(JDQ,HIGH);
  68. delay(200);
  69. }
  70. //
  71. delay(5000);
  72. }
復(fù)制代碼



評(píng)分

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

查看全部評(píng)分

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

使用道具 舉報(bào)

本版積分規(guī)則

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

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

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