Схемы, к сожалению, нет, но можно ориентироваться на список пинов, перечисленных в самом начале программы. Я постарался развернуто прокомментировать код.
Попробуйте следующее решение построить на базе машинки на радиоуправлении, +удаленное управление через телефон (есть несколько готовых приложений под андроид) и получится крутой агрегат для сына))
На самом деле есть приложения для управления роботом по блютуз — Arduino Bluetooth rc car, Bluetooth robot remote control. Нужно будет только изменить немного код скетча
точное приложение коим еще сам пользовался «Arduino Bluethooth RC Car», общение идет через модуль bluethooth, как уже было отмечено выше, ограничения по дальности зависят от модуля, попадались и хорошие и не очень, но лучше выбирать wifi (далее сам на него перешел)
Как раз недавно писал библиотеку для HС-SR04 с медианным фильтром. Не хотите попробовать? Код будет чище и быстрее, за счет того что можно прописывать максимальное расстояние. Чуть-чуть вырастет точность — библиотека учитывает изменение скорости звука от температуры.
Здорово, что автор смог довести дело до конца. У меня такая же платформа, никак собрать не соберусь…
Несколько идей:
По описанию, на плате L298N должен быть джампер, который разрещает управление скоростью.
Есть платформа — mBot. В качестве основы они взяли ту же ардуино, но делали на своей плате. Все схемы открыты. От них я взял, что в качестве драйверов двигателей можно использовать TB6612. На ней гораздо меньше потери.
Даже не один джамер, а два — на каждый двигатель соответственно. Если джампер снимаем, то по документации скорость можно менять. А при низком напряжении питания — шиш. Я как раз об этом и писал в статье.
Я не очень понял, почему L298N не позвояет управлять скоростью? Вроде у меня тоже китайский комплект. И все прекрасно управляется шимом при питании в пять вольт.
Схему не составлял. Проверял отдельно на одном двигателе — два входа драйвера на цифровые выходы, и один на шим выход ардуино (3, 6, 9...) Два разных скетча пробовал. Не получилось. Может, брак. Потом будем следующего робота собирать, еще отдельно поработаю над этим вопросом.
А эта штука не будет принимать за людей другие объекты? Скажем, ножку стула. Или человек отбежит до стены, игрушка за человеком, человек отбегает от игрушки быстро, и ближайший объект к игрушке оказывается… стена?
Да, на мебель и стены реагирует, это его ограничение. Можно улучшать алгоритм, например, определять, что едет на неподвижный предмет. Или ставить ограничитель на минимальное расстояние, чтобы не врезался никуда. В-общем, есть куда развиваться.
4.8 номинального напряжения 4хАА — это очень мало для этих моторов. Лучше все-таки с самого начала именно в схеме предусмотреть разделение силовой части моторов, которые вообще питать от 2х18650 или 3х18650, что дает 7.4В или 11.1В, и низковольтной части ардуины и прочих. Сам на каких-то платформах делал с 4хАА, и плевался потом от тормознутости, а 3х18650 работали отлично.
с 3-я 18650 надо быть осторожнее, т.к. они дают суммарно более 12 V. хотя и заявлено, что в 18650 — 3,7 V, на практике 4,2 V. можно спалить L298N, если перемычку не убрать.
Идея супер.
Я прямо загорелся ее повторить.
А почему бы в качестве платформы не взять шасси от какой-нибудь радиоуправляемой игрушки? В семье с маленькими мальчиками обычно этого добра полно.
И еще. Как с помощью одного УЗ датчика определить в какую сторону из поля видимости ушла цель, чтобы продолжить ее преследовать?
Одним датчиком, я думаю, тут не обойтись. Надо два. Или что-то посерьезнее, потому что УЗ датчик довольно нестабилен с плане определения препятствий (он только на гладких стенках хорошо работает).
шасси, включая те, что использует автор имеют низкую проходимость, заметно буксуют на коврах, скользят на ламинате. пока лучшее, что мне попадалось это танки —
есть книга ROS for absolute beginners — link.springer.com/book/10.1007/978-1-4842-3405-1, при желании можно найти в сети. там реализован проект, подобный вашему, но с использованием ROS. в том числе там можно управлять удаленно arduinoй по bluetooth и считывать показания энкодеров с колес. попробуйте, в какой-то мере, это продолжение вашего проекта.
Опыт создания первого робота на Ардуино (робот-«охотник»)