Заметка юзера Gol

Сонар на базе DYP-ME007

железки ардуина arduino видео

Для коптера заказывал ультразвуковой дальномер (вот такой, DYP-ME007 v2). Взял про запас три штучки, парочку собираюсь на тележку повесить чтоб в препятствия не врезалась. Раньше с такими девайсами дела не имел, так что разбираюсь вот что куда совать.

Оказалось что надо задействовать только два сигнальных пина (помимо обычных GND и Vcc) - Trig и Echo. Нашёл примерный кусок кода, попробовал - пашет.

Устроил полигон на коленке. Дальномер приделал к сервочке. Сервочка крутится туды-сюды, дальномер постоянно дальномерит. В итоге получаем примерную карту окрестностей (на 180 градусов, ибо серва у меня дальше не крутит). С ардуины данные (текущий угол и намеряное расстояние) уходят на комп в браузер, там скриптик рисует диаграмку на Canvas. Вроде даже похоже на правду. Бывают левые всплески но нечасто. Вообще дальномер довольно стабильно дальномерит - показания практически не плавают (оно и понятно - не к аналоговому входу подключён). Кстати, насколько я заметил - глюкает когда бьёт вскользь по стеклу. Слева одиночные лучи появляются иногда - там как раз дверь стеклянная.

UPD> Сейчас дальномер на тележке стоит

Выглядит это примерно вот так:

Продолжение...


Ну и скриптег ардуинский

int dypOutputPin = 2; // сюда подключён TRIG
int dypInputPin = 3; // сюда подключён ECHO
long distance;
long cm;

void setup(){
pinMode(dypOutputPin, OUTPUT);
pinMode(dypInputPin,INPUT);
Serial.begin(115200);
}

void loop()
{
// The DYP-ME007 pings on the low-high flank...
digitalWrite(dypOutputPin, LOW);
delayMicroseconds(2);
digitalWrite(dypOutputPin, HIGH);
delayMicroseconds(10);
digitalWrite(dypOutputPin, LOW);
// the distance is proportional to the time interval
// between HIGH and LOW
distance = pulseIn(dypInputPin, HIGH);
cm= distance/58;
Serial.println(cm);
}
Копия в ЖЖ Gol      Четверг, 29 Марта, 2012 20:24       0


Добавить комментарий

Сколько букв в слове Гол?

Вы вошли как Гость      

Сейчас на сайте: 1 и 12 гостей









Страница сгенерирована за 0.04997992515564 мкс