Ардуино машинка-робот, помогите разобраться со скетчами.

Тема в разделе "Arduino & Shields", создана пользователем MTS200, 30 янв 2019.

  1. MTS200

    MTS200 Нуб

    [​IMG]
    [​IMG]
    Всем доброго времени суток!
    Все тривиально, подарили сыну комплект Ардуино машинки-робота с Али на Arduino UNO R3. Сама машинка собралась без проблем, а вот с программированием начались проблемы. Я когда то в детстве писал что то на бейсике, сейчас тружусь совершенно в другой области и что знал то уже забыл, а прогресс как выяснилось не стоит на месте. С машинкой шли китайские схемы библиотеки и скетчи, но толи китайцы решили поглумится, толи сунули первое что нашли в инете, но если собирать все вместе по их хелпу и с ихними скетчами, то не работает ничего от слова совсем. На просторах интернета легко нашелся скетч управления по блютус с телефона, я его немного откорректировал и машинка поехала, сынишка наигрался, и стал задавать вопросы про самостоятельное движение робота, объезда препятствий с помощью ультрасоника и инфракрасного датчика препятствий. В этот раз я также думал по легкому найти скетч в сети, но не тут то было... То ли машинки уже ни кому не интересны, толи кодеры стали чутко охранять свою интеллектуальную собственность), но полностью рабочего скетча мне так найти не удалось...
    Случайно нашел очень интересный скетч машинки робота с использованием ультразвукового датчика НС-SR04, инфракрасного датчика препятствий YL-63, интересной схемой просчета траектории, и управлением всего этого безобразия по ИК пульту и блютус. Третий день пытаюсь залить его в Arduino, но победить ошибки компиляции с наскока (без соответствующих знаний в данной области) не получается. А сынишка очень ждет...
    Задача собственно в следующем:
    1. Если у кого то есть лишняя минутка и желание подскажите как победить ошибки скетча и как перевести его в автоматический режим через блютус, чтобы машинка поехала сама.
    2. Может у кого то уже есть готовые решения с ультрасоником, ИК датчиком препятствий и блютус, выложите (желательно с библиотеками)), буду очень признателен.

    Вот собственно сам скетч, брал вот отсюда http://sevenbytes.ru/forum/viewtopic.php?f=28&t=263

    Ошибки:
    C:\Users\Etoken\AppData\Local\Temp\arduino_modified_sketch_918319\sketch_jan30c.ino: In function 'int GetDistance(int)':

    sketch_jan30c:240:26: error: 'class Ultrasonic' has no member named 'Ranging'

    int dist1 = ultrasonic.Ranging(1); //замер №1

    sketch_jan30c:242:26: error: 'class Ultrasonic' has no member named 'Ranging'

    int dist2 = ultrasonic.Ranging(1); //замер №2

    C:\Users\Etoken\AppData\Local\Temp\arduino_modified_sketch_918319\sketch_jan30c.ino: In function 'void CheckBluetooth()':

    sketch_jan30c:334:34: error: 'class Ultrasonic' has no member named 'Ranging'

    int dist_ping = ultrasonic.Ranging(1);

    C:\Users\Etoken\AppData\Local\Temp\arduino_modified_sketch_918319\sketch_jan30c.ino: In function 'void SmartMode()':

    sketch_jan30c:437:38: error: 't' was not declared in this scope

    RightMotorSpeed(currentRightSpeed);t

    sketch_jan30c:444:5: error: 'telemetry_rightm' was not declared in this scope

    telemetry_rightm = int((currentRightSpeed/5.1f) + 50);

    sketch_jan30c:448:5: error: 'telemetry_rightm' was not declared in this scope

    telemetry_rightm = int(50 - (currentRightSpeed/5.1f));

    sketch_jan30c:460:68: error: 'telemetry_rightm' was not declared in this scope

    Serial.println("L: " + String(telemetry_leftm) + " R: " + String(telemetry_rightm) + " A: " + String(AzimutDrive));

    ^

    exit status 1
    'class Ultrasonic' has no member named 'Ranging'

    Пробовал заменить
    int dist2 = ultrasonic.Ranging(1); //замер №1 и №2
    на int dist2 =ultrasonic.distanceRead(CM); как указанно в библиотеке, код компилируется но Ардуинка все равно ругается и машинка не едет. (Пины все проверенны и все воткнуто как в скетче)
    C:\Users\Etoken\AppData\Local\Temp\arduino_modified_sketch_82014\sketch_jan30d.ino: In function 'int GetDistance(int)':

    C:\Users\Etoken\AppData\Local\Temp\arduino_modified_sketch_82014\sketch_jan30d.ino:240:41: warning: 'unsigned int Ultrasonic::distanceRead(uint8_t)' is deprecated: This method is deprecated, use read() instead. [-Wdeprecated-declarations]

    int dist1 = ultrasonic.distanceRead(CM); //замер №1

    ^

    In file included from C:\Users\Etoken\AppData\Local\Temp\arduino_modified_sketch_82014\sketch_jan30d.ino:4:0:

    D:\Мои Документы\Arduino\arduino-1.8.6\libraries\Ultrasonic-master\src/Ultrasonic.h:34:18: note: declared here

    unsigned int distanceRead(uint8_t und = CM) __attribute__ ((deprecated ("This method is deprecated, use read() instead.")));

    ^

    C:\Users\Etoken\AppData\Local\Temp\arduino_modified_sketch_82014\sketch_jan30d.ino:242:40: warning: 'unsigned int Ultrasonic::distanceRead(uint8_t)' is deprecated: This method is deprecated, use read() instead. [-Wdeprecated-declarations]

    int dist2 =ultrasonic.distanceRead(CM); //замер №2

    ^

    In file included from C:\Users\Etoken\AppData\Local\Temp\arduino_modified_sketch_82014\sketch_jan30d.ino:4:0:

    D:\Мои Документы\Arduino\arduino-1.8.6\libraries\Ultrasonic-master\src/Ultrasonic.h:34:18: note: declared here

    unsigned int distanceRead(uint8_t und = CM) __attribute__ ((deprecated ("This method is deprecated, use read() instead.")));

    ^

    Скетч использует 15306 байт (47%) памяти устройства. Всего доступно 32256 байт.
    Глобальные переменные используют 729 байт (35%) динамической памяти, оставляя 1319 байт для локальных переменных. Максимум: 2048 байт.
    Всем заранее спасибо!
     
    Последнее редактирование: 30 янв 2019