При совместном использовании функции tone() и библиотеки NewPing.h, которая работает с сонаром, компилятор выдает такую ошибку: :\Users\DrProg\AppData\Local\Temp\build8006194688059551054.tmp/core.a(Tone.cpp.o): In function `__vector_7': C:\Users\DrProg\Desktop\arduino-1.6.3\hardware\arduino\avr\cores\arduino/Tone.cpp:536: multiple definition of `__vector_7' NewPing\NewPing.cpp.o:C:\Users\DrProg\Desktop\arduino-1.6.3\libraries\NewPing/NewPing.cpp:214: first defined here collect2.exe: error: ld returned 1 exit status Ошибка компиляции. Можно ли это вылечить?
Решил путем замены рекомендованной Амперкой библиотеки на другую. Правда, пришлось немного доработать ее напильником, ибо дальше 50см сенсор не видел. Теперь видит на 2 метра и это не предел. Кстати, ссылка на вот эту первую рекомендованную библиотеку ведет на очень подозрительный завирусованный сайт. Рекомендую туда не ходить и вообще убрать из ссылок. Вдруг кому то пригодится.
Этот датчик работает без всяких деБилиотек: Код (C): unsigned int getDistance(byte trig, byte ping) { // указать тригерную и приемную ноги unsigned int duration = 0; digitalWrite(trig, LOW); delayMicroseconds(2); digitalWrite(trig, HIGH); delayMicroseconds(10); digitalWrite(trig, LOW); duration = pulseIn(ping,HIGH); Distance = duration/29/2; return Distance; }