Двигатели, не работающие с моторным экраном

Сегодня я получил моторный щит Duratech, и мне интересно, почему мои двигатели не работают. Ценю любую помощь. Код, который я использую, - это пример кода Adafruit, Motorparty. Сервоприводы работают, а двигатели-нет.

Вот фотография моей установки, код приведен ниже:

Setup

/* 
This is a test sketch for the Adafruit assembled Motor Shield for Arduino v2
It won't work with v1.x motor shields! Only for the v2's with built in PWM
control

For use with the Adafruit Motor Shield v2 
---->   http://www.adafruit.com/products/1438

Этот скетч создает веселую моторную вечеринку на вашем столе *whiirrr*
Подключите однополярный/биполярный шаговый двигатель к M3/M4
Подсоедините двигатель постоянного тока к М1
Подключите хобби серво к СЕРВО1
*/

#include <Wire.h>
#include <Servo.h> 
#include <Adafruit_MotorShield.h>

// Создать объект motor shield с адресом I2C по умолчанию
Adafruit_MotorShield AFMS = Adafruit_MotorShield(); 
// Или создайте его с другим адресом I2C (скажем, для укладки)
// Adafruit_MotorShield AFMS = Adafruit_MotorShield(0x61); 

// Подсоединить шаговый двигатель с 200 шагами на оборот (1,8 градуса)
// к моторному порту № 2 (M3 и M4)
Adafruit_StepperMotor *myStepper = AFMS.getStepper(200, 2);
// И подсоедините двигатель постоянного тока к порту M1
Adafruit_DCMotor *myMotor = AFMS.getMotor(3);

// Мы также протестируем встроенную сервотеку Arduino Servo library
Servo servo1;


void setup() {
  Serial.begin(9600);           // настройка последовательной библиотеки со скоростью 9600 бит / с
  Serial.println("MMMMotor party!");

  AFMS.begin();  // создать с частотой по умолчанию 1,6 кГц
  //AFMS.begin(1000);  // ИЛИ с другой частотой, скажем 1 кГц
  
  // Прикрепить сервопривод к контакту № 10
  servo1.attach(10);
   
  // включить двигатель M1
  myMotor->setSpeed(200);
  myMotor->run(RELEASE);
  
  // настройка шагового двигателя
  myStepper->setSpeed(10);  // 10 rpm   
}

int i;
void loop() {
  myMotor->run(FORWARD);
  for (i=0; i<255; i++) {
    servo1.write(map(i, 0, 255, 0, 180));
    myMotor->setSpeed(i);  
    myStepper->step(1, FORWARD, INTERLEAVE);
    delay(3);
 }
 
 for (i=255; i!=0; i--) {
    servo1.write(map(i, 0, 255, 0, 180));
    myMotor->setSpeed(i);  
    myStepper->step(1, BACKWARD, INTERLEAVE);
    delay(3);
 }
 
  myMotor->run(BACKWARD);
  for (i=0; i<255; i++) {
    servo1.write(map(i, 0, 255, 0, 180));
    myMotor->setSpeed(i);  
    myStepper->step(1, FORWARD, DOUBLE);
    delay(3);
 }
 
  for (i=255; i!=0; i--) {
    servo1.write(map(i, 0, 255, 0, 180));
    myMotor->setSpeed(i);  
    myStepper->step(1, BACKWARD, DOUBLE);
    delay(3);
 }
}

, 👍1

Обсуждение

Вы можете попробовать заменить двигатель светодиодом и резистором. Таким образом, вы можете проверить, есть ли по крайней мере что-то выходящее (светодиод загорится только в одном направлении движения). Также вы можете попробовать измерить напряжение с помощью мультиметра. По картинке я не могу толком разглядеть, как все связано. Пожалуйста, предоставьте принципиальную схему или схему подключения, @chrisl