Машинка живет сама по себе.
- Войдите на сайт для отправки комментариев
Втр, 24/05/2016 - 04:13
Всем привет! Я новичек в ардуине. Вообщем у меня такая ситуация: машинка с двумя движками пульт от 2ой соньки, L298,arduino nano. После включения она начинает ехать вперед не смотря на то что пульт даже не включен, даже если его совсем отключить от ардуинки все ровно она едет, глушит моторы только отсоединение от драйвера контактов ена и енб. Прошу заметить раньше она работала потом почемуто затупила и все. драйвер двигателя и ардуинку менял, скетч менял(у меня их два разных, т.к. писать я их не умею они чужие но подходят) из-за чего она могла затупить так??? вот скетч на всякий случай:#include <PS2X_lib.h> //for v1.6
PS2X ps2x;
int PS2 = 0;
#define in1 10 // direction pin 1
#define in2 4 // direction pin 2
#define ena 5 // PWM pin to change speed
#define in3 7 // direction pin 1
#define in4 6 // direction pin 2
#define enb 3 // PWM pin to change speed
byte L_speed; // forward speed
byte R_speed; // forward speed
byte analogL;
byte analogR;
void setup(){
PS2 = ps2x.config_gamepad(13,11,8,12, true, true); //Настройка выводов: (clock, command, attention, data, true, true)
pinMode(in1, OUTPUT); // connection to L298n
pinMode(in2, OUTPUT); // connection to L298n
pinMode(ena, OUTPUT); // connection to L298n
pinMode(in3, OUTPUT); // connection to L298n
pinMode(in4, OUTPUT); // connection to L298n
pinMode(enb, OUTPUT); // connection to L298
Serial.begin(9600);
}
void loop(){
ps2x.read_gamepad(false, false);
analogL= ps2x.Analog(PSS_LY);
analogR= ps2x.Analog(PSS_RY);
Serial.print(analogL);
Serial.print(" ");
Serial.println(analogR);
//==========================================================левый мотор
if (analogL == 128) analogWrite(ena, 0);
if (analogL > 128){
L_speed = (analogL*2)-255;
digitalWrite(in1, LOW);
digitalWrite(in2, HIGH);
analogWrite(ena, L_speed);
}
if (analogL < 128){
L_speed = 255-(analogL*2);
digitalWrite(in1, HIGH);
digitalWrite(in2, LOW);
analogWrite(ena, L_speed);
}
//==========================================================правый мотор
if (analogR == 128) analogWrite(enb, 0);
if (analogR > 128){
R_speed = (analogR*2)-255;
digitalWrite(in3, LOW);
digitalWrite(in4, HIGH);
analogWrite(enb, R_speed);
}
if (analogR < 128){
R_speed = 255-(analogR*2);
digitalWrite(in3, HIGH);
digitalWrite(in4, LOW);
analogWrite(enb, R_speed);
}
delay(50);
}
Машинка живет сама по себе
Это же прекрасно! Вспомните Стругацких: