Здравствуйте. Выложу материал по драйверу моторов L298N от компании Geegrow. Собрал схемку подключения одного мотора. Скетч дёрнул тут и немного подправил http://www.cyberforum.ru/arduino/thread1658955.html Код (C++): #include <AFMotor.h> int enA = 8, in1 = 3, in2 = 9; //enA = М1 int xValue, yValue; void setup() { pinMode(enA, OUTPUT); pinMode(in1, OUTPUT); pinMode(in2, OUTPUT); Serial.begin(9600); } void loop() { xValue = map(analogRead(A2), 0, 1024, -255, 255); yValue = map(analogRead(A1), 0, 1024, -255, 255); Serial.print(xValue); Serial.print("\t"); Serial.print(yValue); Serial.print("\t"); if (xValue >= -0 && xValue <= 0) { digitalWrite(in1, LOW); digitalWrite(in2, LOW); Serial.print("X stop\t"); } if (xValue > 0) { digitalWrite(in1, HIGH); digitalWrite(in2, LOW); analogWrite(enA, xValue); Serial.print("X up\t"); } if (xValue < -0) { digitalWrite(in1, LOW); digitalWrite(in2, HIGH); analogWrite(enA, -xValue); Serial.print("X down\t"); } Serial.println(""); } По мере движения буду обновлять.
парни, вы самое интересное не заметили, смотрите какая строчка классная: Код (C++): if (xValue >= -0 && xValue <= 0) {
А чо? Смысл в этой строчке имеется, компилятор хавает, чего ещё надо? Там, кстати, пониже ещё одна такая есть. Гораздо хуже другая строчка: Код (C++): analogWrite(enA, -xValue); Это уже большим ляпом пахнет.