Arduino Nano + Adfruit Motor Shield

Мастер
Offline
Зарегистрирован: 18.09.2015

Доброго времени, 

не понимаю как подключить Arduino Nano к Adfruit Motor Shield.

имеется:

4 аккумулятора 18650

1 Arduino Nano 

 Adfruit Motor Shield

соединил так (см картинку)

Были попробованы разные скетчи. результат : двигатели (DC) хаотично крутятся, т.е. живут своей жизнью, ардуино греется 

Мастер
Offline
Зарегистрирован: 18.09.2015

Картинка!

vvadim
Offline
Зарегистрирован: 23.05.2012

по картинке не понятно что вы куда подсоединили и кода вашего не видно

Мастер
Offline
Зарегистрирован: 18.09.2015

Согласен, пины на шилде подключены к одноименным пинам на ардуине. код любой: с просторов интернета и из библиотек от Adfruit

Гриша
Offline
Зарегистрирован: 27.04.2014

Мастер пишет:

Согласен, пины на шилде подключены к одноименным пинам на ардуине. код любой: с просторов интернета и из библиотек от Adfruit

ГЫ любой код, по любому работает.... начните с одного мотора, и код все же нужен - используемый вами.

Мастер
Offline
Зарегистрирован: 18.09.2015


Для примера:

результат: постоянно крутится мотор 2 ардуино греется

#include <AFMotor.h>  // Подключаем библиотеку для работы с шилдом 

AF_DCMotor motor1(1);

void setup() {
  // Задаем максимальную скорость вращения моторов (аналог работы PWM) 
  motor1.setSpeed(255);
  motor1.run(RELEASE);
}

int i;

void loop() {
  // Двигаемся условно вперед одну секунду 
  motor1.run(FORWARD); // Задаем движение вперед
  motor1.setSpeed(255); // Задаем скорость движения
  delay(1000);
  
  // Останавливаем двигатели
  /* Очень не рекомендуем резко переключать направление вращения двигателей.
  Лучше дать небольшой промежуток времени.*/
  
  motor1.run(RELEASE); 
  delay(500);
  
  // Двигаемся в обратном направлении
  motor1.run(BACKWARD);  // Задаем движение назад
  motor1.setSpeed(255);  // Задаем скорость движения 
   delay(1000);
  
  // Останавливаем двигатели  
  motor1.run(RELEASE);
  delay(500);
  
  // Разгоняем двигатели в одном направлении
  motor1.run(FORWARD);
  for (i=0; i<255; i++) {
    motor1.setSpeed(255); 
    delay(10);
 }
 
 // Останавливаем двигатели  
  motor1.run(RELEASE);
  delay(500);
  
  // Разгоняем двигатели в обратном направлении
  motor1.run(BACKWARD);
   for (i=255; i>=0; i--) {
    motor1.setSpeed(255); 
    delay(10);
 }
  // Останавливаем движение  
  motor1.run(RELEASE);
 delay(500);
}