سلام دوستان.من برای کنترل 4 موتور dc و 1 موتور servo توسط آردوینو و ماژول بلوتوث و درایور موتور l293d میخوام کد بنویسم.
واسه موتور های dc کد زیر رو نوشتم و مشکلی نداشت:
ولی واسه servo کد زیر رو نوشتم ولی ارور unusable value میده:
چجوری میتونم عدد خونده شده از سریالو در اینجا به کار ببرم؟
واسه موتور های dc کد زیر رو نوشتم و مشکلی نداشت:
کد:
#include <Servo.h> #include <AFMotor.h> AF_DCMotor MotorR(1); AF_DCMotor MotorL(2); AF_DCMotor MotorR2(3); AF_DCMotor MotorL2(4); Servo gripperServo; int reads = Serial.read(); void setup() { Serial.begin(9600); gripperServo.attach(5); MotorR.setSpeed(255); MotorL.setSpeed(255); MotorR2.setSpeed(255); MotorL2.setSpeed(255); } void loop() { switch (reads){ case 200: MotorR.run(FORWARD); MotorL.run(FORWARD); MotorR2.run(FORWARD); MotorL2.run(FORWARD); break; case 210: MotorR.run(BACKWARD); MotorL.run(BACKWARD); MotorR2.run(BACKWARD); MotorL2.run(BACKWARD); break; case 220: MotorR.run(FORWARD); MotorL.run(RELEASE); MotorR2.run(FORWARD); MotorL2.run(RELEASE); break; case 230: MotorR.run(RELEASE); MotorL.run(FORWARD); MotorR2.run(RELEASE); MotorL2.run(FORWARD); break; case 240: MotorR.run(BACKWARD); MotorL.run(RELEASE); MotorR2.run(BACKWARD); MotorL2.run(RELEASE); break; case 250: MotorR.run(RELEASE); MotorL.run(BACKWARD); MotorR2.run(RELEASE); MotorL2.run(BACKWARD); break; } }
کد:
case Serial.read(): if Serial.read<200{ gripperServo.write(Serial.read); } break;
دیدگاه