Как правильно подключить от внешнего источника?

ansh
Offline
Зарегистрирован: 26.09.2014

Добрый день! Помогите разобраться.) 

Плата Arduino Leonardo и Driver подключены от одного внешнего источника. При обнаружении препятствия (см фото поднес руку к датчику) двигатель работает на всю мощность, но когда препятствия нет (см фото) двигатель крутится чуть медленнее.( Хочу заметить, что на плате двайвера видно как горят все светодиоды (для двигателя правильно IN1 HIGH (горит) и IN2 LOW (не горит)) т.е. от arduino приходит HIGH на все IN1 IN2 IN3 IN4. При отключении питания от внешнего источника Arduino и включения ее к компу по USB двигатель работает правильно во всех режимах. Возможно я неправильном подключил массу?

ansh
Offline
Зарегистрирован: 26.09.2014
#include "Ultrasonic.h"

// sensor connected to:
// Trig - 12, Echo - 13
Ultrasonic ultrasonic(12, 13);
  
 
// Motor A
 
int enA = 3;
int in1 = 4;
int in2 = 5;
 
// Motor B
 
int enB = 10;
int in3 = 8;
int in4 = 9;


 
void setup()
 
{
 
  // Set all the motor control pins to outputs
 
  pinMode(enA, OUTPUT);
  pinMode(enB, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);

  // Start with motors disabled and direction forward
  
  // Motor A
  
  digitalWrite(enA, LOW);
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  
  // Motor B
  
  digitalWrite(enB, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
 
}
 
void loop() {

  float dist_cm = ultrasonic.Ranging(CM);  // get distance

 
  if (dist_cm < 50)
  {
    // This is Backward
 
    // Set Motor A Forward
 
    digitalWrite(in1, HIGH);
    digitalWrite(in2, LOW);
 
    // Set Motor B Forward
 
    digitalWrite(in3, HIGH);
    digitalWrite(in4, LOW);
 
 
  }
 else if (dist_cm > 63)
  {
    // This is Forward
 
    // Set Motor A forward
 
    digitalWrite(in1, LOW);
    digitalWrite(in2, HIGH);
 
    // Set Motor B forward
 
    digitalWrite(in3, LOW);
    digitalWrite(in4, HIGH);
 
  }
}

 

ansh
Offline
Зарегистрирован: 26.09.2014

Отключил двигатель и теперь двайвер работает правильно. Буду разбираться с двигателем http://smartep.ru/index.php?page=lego_mindstorms_hardware

ansh
Offline
Зарегистрирован: 26.09.2014

Заработало.) Подключил точно также, но запитал от блока питания 7,5В - 220В... Видимо сели батарейки.(

ansh
Offline
Зарегистрирован: 26.09.2014

Так и не заработало пока не подключил отдельный источник питания (крона) для ардуино.