Проблема с проектом
- Войдите на сайт для отправки комментариев
Пт, 30/03/2018 - 12:49
У меня Aruduino Nano.
Я хочу сделать умную мусорку, но при измерении расстояния, датчик как-будто выключается, и не присылает расстояние в консоль порта. Но отключив серво, все работает идеально. Возможно ли, что питания не хватает?И как это можно исправить? Помогите пожалуйста.
#include <Servo.h>
#include <NewPing.h>
#define trigPin 3
#define echoPin 4
NewPing sonar(trigPin, echoPin, 100);
Servo servo;
#define servoPin 5
long duration;
#define MAX_DISTANCE 100
void setup() {
servo.attach(servoPin);
pinMode(trigPin,OUTPUT);
pinMode(echoPin,INPUT);
Serial.begin(9600);
}
void loop() {
delay(500);
unsigned int measure2 = sonar.ping(); // Send ping, get ping time in microseconds (uS).
Serial.print("Ping: ");
measure2=(sonar.convert_cm(measure2));
Serial.print(measure2); // Convert ping time to distance and print result (0 = outside set distance range, no ping echo)
Serial.println("cm");
int measure=measure2;
if (measure < 40 && measure>0){
Serial.println("Open");
servo.write(0);
delay(5000);
}
else{
Serial.println("Close");
servo.write(60);
delay(5000);
}}
Для проверки гипотезы по питанию - можно какую-то часть платы запитать от литиевой батарейки 4.2V.
Достаточно просто посмотреть осциллографом, что происходит с напряжением питания при включении серво.