Здравствуйте! Я делаю робота на платформе dfrobot с ультразвуковым дальномером. Задача дальномера создать возможность распознать человека от стены. Пожалуйста подскажите как написать код. Заранее благодарен!
Отправляем 2 сигнала с неким интервалом. Сравниваем значения. Если больше погрешности (вибрации), то человек, если меньше стена. Понятно что этот модуль он не очень точный, но других вариантов нет.
Картинку можете нарисовать? В каком направлении сигналы хотите посылать? Чем человек принципиально отличается от стены?
Думаю человека можно определить только с помощью колебаний. Если у стены колебаний практически нет т.е. датчик выдает постоянное число, то движения человека создают малые, но колебания и путем вычита среднего между 2-3 колебаниями в пол секунды можно распознать движущийся объект. Помогите оформить скетч.
Вот скетч, но имеются временые срывы. Подскажите как их сгладить. #include <NewPing.h> #define TRIGGER_PIN 12 #define ECHO_PIN 13 #define MAX_DISTANCE 100 NewPing sonar(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); int vibr = 5; void setup(){ Serial.begin(9600); } void loop(){ int curDist = sonar.ping_cm(); Serial.print ("curDist"); Serial.println(curDist); delay(3000); int curDist1 = sonar.ping_cm(); Serial.print ("curDist1"); Serial.print(" "); Serial.println(curDist1); if (((curDist1 - curDist) > vibr) || ((curDist - curDist1) > vibr)){ Serial.println("MEN"); } else { Serial.println("WALL"); } }