Собирал вот такую схему, и возникла проблема. При питании от USB Arduino работает нормально. Как только отключаю USB и подключаю батарейку, она после пары нажиманий кнопок в приложении на телефоне зависает, хотя при питании через USB такое не происходит. В чем может быть проблема?

Код:
int val; // освобождаем память в контроллере для переменой
#define MOT 6
#include <Servo.h> // подключаем библиотеку для работы с сервоприводом
Servo servo1; // объявляем переменную servo типа "servo1"
int valSpeed = 50;
void setup() {
Serial.begin(9600); // подключаем последовательный порт
pinMode(MOT, OUTPUT);
servo1.attach(11); // привязываем сервопривод к аналоговому выходу 11
servo1.write(123);
}
void loop() {
if (Serial.available()) // проверяем, поступают ли какие-то команды
{
val = Serial.read(); // переменная val равна полученной команде
if (val == '2') {
servo1.write(123);
delay(50);
analogWrite(MOT, valSpeed);
}
if (val == '5') {
servo1.write(123);
delay(50);
analogWrite(MOT, 0);
}
if (val == '4') {
servo1.write(72);
delay(50);
analogWrite(MOT, valSpeed);
}
if (val == '6') {
servo1.write(162);
delay(50);
analogWrite(MOT, valSpeed);
}
}
}
