好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

arduino通过I2C通信控制4路步进电机master.pdf

3页
  • 卖家[上传人]:油条
  • 文档编号:1788104
  • 上传时间:2017-07-14
  • 文档格式:PDF
  • 文档大小:158.49KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • //输入格式采用 485 转串口通信,所以 a[0]代表串口地址, a[1]-a[4]代表四个电机的方向,a[5]-a[8]代表电机速度 #include "Wire.h" String data=""; long a[9]; //速度值 1250-500001, int数据类型不能满足实际需求 int j=0; int b=0; //b,c,d,e,f 分别提取速度值的各位数值 int c=0; int d=0; int e=0; int f=0; int mark; //判断串口发送指令标志 位 void setup() { Serial.begin(9600); Wire.begin(); for (int i=0;i 0) { data += char(Serial.read()); delay(2); //稳定时间 mark=1; for (int i=0;i<=8;i++) {a[i]=0;} } if(mark==1) { // Serial.println(data); for (int i=0;i

      c=(a[5]-b*100000)/10000; d=(a[5]-b*100000-c*10000)/1000; e=(a[5]-b*100000-c*10000-d*1000)/100; f=a[5]-b*100000-c*10000-d*1000-e*100; Wire.write(a[1]); Wire.write(b); Wire.write(c); Wire.write(d); Wire.write(e); Wire.write(f); delay(2); Wire.endTransmission(); // Serial.println(a[5]); // Serial.print("b: "); // Serial.println(b); // Serial.print("c: "); // Serial.println(c); // Serial.print("d: "); // Serial.println(d); // Serial.print("e: "); // Serial.println(e); // Serial.print("f: "); // Serial.println(f); Wire.beginTransmission(2); //传入电机 2的方向和速度信息 b=a[6]/100000; c=(a[6]-b*100000)/10000; d=(a[6]-b*100000-c*10000)/1000; e=(a[6]-b*100000-c*10000-d*1000)/100; f=a[6]-b*100000-c*10000-d*1000-e*100; Wire.write(a[2]); Wire.write(b); Wire.write(c); Wire.write(d); Wire.write(e); Wire.write(f); delay(2); Wire.endTransmission(); Wire.beginTransmission(3); //传入电机 3的方向和速度信息 b=a[7]/100000; c=(a[7]-b*100000)/10000; d=(a[7]-b*100000-c*10000)/1000; e=(a[7]-b*100000-c*10000-d*1000)/100; f=a[7]-b*100000-c*10000-d*1000-e*100; Wire.write(a[3]); Wire.write(b); Wire.write(c); Wire.write(d); Wire.write(e); Wire.write(f); delay(2); Wire.endTransmission(); Wire.beginTransmission(4); //传入电机 4的方向和速度信息 b=a[8]/100000; c=(a[8]-b*100000)/10000; d=(a[8]-b*100000-c*10000)/1000; e=(a[8]-b*100000-c*10000-d*1000)/100; f=a[8]-b*100000-c*10000-d*1000-e*100; Wire.write(a[4]); Wire.write(b); Wire.write(c); Wire.write(d); Wire.write(e); Wire.write(f); delay(2); Wire.endTransmission(); } mark=0; } } 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.