我是Arduino编码的初学者。 我使用带有PS2控制器的Arduino来控制直流电机的速度。 我使用没有ESC的单个直流电机。我首先使用二极管,晶体管TIP120和330欧姆的电阻来尝试,但不知何故,来自PS2控制器的命令没有控制直流电机的速度,因此直流电机继续运转。 / p>
我该如何解决?
这是我的代码:
#include <PS2X_lib.h>
#define PS2_DAT 12
#define PS2_CMD 11
#define PS2_SEL 10
#define PS2_CLK 13
#define pressures true
#define rumble true
PS2X ps2x;
int error=0;
int type=0;
byte vibrate=0;
int RX =0;
int LY=0;
int RY =0;
int LX=0;
const int motor1=5;
int speed =0;
void setup()
{
pinMode(motor1,OUTPUT);
Serial.begin(9600);
while(! Serial);
Serial.println("Set Speed 0-255");
ps2x.config_gamepad(13,11,10,12,false,false);
delay(1000);
}
void loop()
{
if((ps2x.Analog(PSS_RY) < 64) && ((ps2x.Analog(PSS_RX) >= 64) && (ps2x.Analog(PSS_RX) <= 192)))
{
speed= ps2x.Analog(PSS_RY) && ps2x.Analog(PSS_RX);
//cara ngebuat command dari stik ps2, ke read jadi speed, untuk masuk ke motor dc
//128,255 value, kordinat
analogWrite (motor1, speed);
}
else
{
analogWrite (motor1, LOW);
}
}
我的代码有什么问题?