Оглавление:
- Запасы
- Шаг 1: Шаг 1: резка по нескольким участкам вручную
- Шаг 2: Шаг 2: автоматическое решение
- Шаг 3: Шаг 3: Программное обеспечение
- Шаг 4: Шаг 4: Активация программного обеспечения
Видео: Как сделать глупого робота-газонокосилки умнее: 4 шага
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Итак, у меня есть прекрасный, но глупый робот-газонокосилка (изображение с сайта www.harald-nyborg.dk).
Этот робот должен стричь мою лужайку, но мой газон слишком большой и сложный, чтобы он действительно попадал в углы.
На моих рисунках не показано множество деревьев, качели и так далее. В результате робот тратит слишком много времени, переезжая уже скошенные открытые участки, и слишком мало времени на стрижку твердых частей.
Поэтому я решил добавить немного внешнего интеллекта.
23-04-2020 РЕДАКТИРОВАТЬ: датчик не совсем работал, поэтому я изменил пару вещей
Запасы
2 наружных двухпозиционных переключателя
ИЛИ
1 старый USB-роутер
1 релейная карта usb
1 цифровой парк
1 usb-концентратор
1 водонепроницаемая коробка для электроники
23-04-2020 РЕДАКТИРОВАТЬ:
OR1 старый USB-роутер
1 релейная карта usb
1 usb2serial tll вещь
1 usb-концентратор
1 водонепроницаемая коробка для электроники
1 ультразвуковой датчик Dfrobot URM 37 v3.2 (возможно, можно использовать любой датчик =)
kmod-usb-serial-cp210x
Шаг 1: Шаг 1: резка по нескольким участкам вручную
На картинке показано, как я перешел от одного участка резки к двум участкам.
Мой робот будет автоматически запускаться каждые 2 дня, поэтому пока я не забывал менять его с одной области на другую, это работало нормально.
Я использовал 2 ручных переключателя, вроде тех, что вы используете в коридоре или на лестнице.
Это сработало, за исключением тех, которые я использовал, были слишком плохого качества, и поэтому я получал ошибки, заползающие в них, испортил их.
Шаг 2: Шаг 2: автоматическое решение
Поэтому я решил сделать что-нибудь автоматическое.
У меня есть подержанный маршрутизатор Netgear R6100, я получил этот, потому что у него есть Wi-Fi, USB и достаточно памяти, чтобы экспериментировать, вместо того, чтобы пытаться втиснуть в него OpenWrt и друзей.
У меня есть лучший концентратор usb 2.0 от ebays и карта реле на 12 В.
Потом у меня был digispark из более раннего проекта. 23-04-2020 РЕДАКТИРОВАТЬ: вместо этого использовал usb2seriel thinghy
я подключил реле вместо переключателей. я использовал реле 3 и 4
Затем я установил OpenWrt и добавил к нему Crelay, picocom и coreutils-stty.
23-04-2020 РЕДАКТИРОВАТЬ: также добавлены xxk, kmod-usb-serial-cp210x
Подключил 12В к роутеру и плате реле.
23-04-2020 РЕДАКТИРОВАТЬ: использовал Urm 37 v3.2 вместо остальной части этой страницы
Потом я узнал кое-что "забавное". релейная колодка будет пытаться включить USB-концентратор, тем самым препятствуя правильной перезагрузке digispark. Поэтому я перерезал провод питания в кабеле USB от релейной карты и концентратора USB.
Затем я подключил digispark и карту реле USB к концентратору USB 2.0, а концентратор к маршрутизатору.
Честно говоря, я запрограммировал digispark перед тем, как добавить его в роутер.
В digispark я добавил кнопку, которую я подключил между P1 и Gnd.
Эту кнопку я разместил, чтобы робот активировал ее, как только зарядится в гараже.
Мне пришлось добавить пружину к активации, чтобы получить хорошее надежное сцепление.
Шаг 3: Шаг 3: Программное обеспечение
Файл содержит программу arduino ide для digispark.
Его помещают в корневой каталог / LawnSelector.
Для этого файла требуется несколько библиотек digispark, таких как digiCDC и платы digispark, добавленные к arduino ide.
Затем есть файлы / root / GrassCtr / *.
Это файлы, которые действительно работают.
Kreds1 меняет реле на area1
Kreds2 меняет реле на area2
KredsStatus спрашивает USB-реле, какая область активна
23-04-2020 РЕДАКТИРОВАТЬ: используйте UltraSoundSeriel вместо чтения digispark.
ReadDigiSpark, каждый вторник новости читает.. Погоди. Считывает состояние ввода digispark
GrassCtl думает.
Вот что он делает.
Если робот находится в режиме IN более 10 часов, он решает, что робот находится внутри на ночь, и это активирует триггер, который заставляет его запускаться в каждой области каждый второй раз. Причина этого в том, что мой робот начинает срезать всю кромку, и таким образом он обрезает кромки через день.
Затем, когда робот косит, датчик сообщит, что робот отсутствует.
Каждый раз, когда робот возвращается для зарядки аккумулятора (определяется как нахождение в течение более 20 минут), область будет изменена на другую область.
пожалуйста, обрати внимание. Программное обеспечение - ужасный беспорядок, но оно работает, так что вперед и вверх
Шаг 4: Шаг 4: Активация программного обеспечения
Чтобы запустить программу, нам нужно что-то сделать.
Я добавил его в cronJob
* / 5 * * * * / корень / GrassCtrl / GrassCtl
в файл
/ и т. д. / crontabs / корень
Затем, чтобы включить cronjobs, я сделал
/etc/init.d/cron включить
Насколько я могу судить, робот теперь будет переключаться между началом скашивания 1 или 2 зоны и будет менять то, что скашивается, каждый раз при подзарядке аккумуляторов.
И да, теперь он получает все
Рекомендуемые:
Как сделать дома робота для управления жестами Arduino своими руками: 4 шага
Как сделать DIY-робот для управления жестами Arduino дома: Как сделать DIY-робот для управления жестами Arduino дома. В этом проекте я покажу вам, как сделать робота для управления жестами Arduino своими руками
Как сделать робота, избегающего кромки на базе Arduino: 4 шага
Как создать робота, избегающего кромок на базе Arduino: Давайте создадим полностью автономного робота с использованием Arduino и ИК-датчиков. Он исследует поверхность стола, не падая. Смотрите видео, чтобы узнать больше
Как сделать умного робота с помощью Arduino: 4 шага
Как сделать умного робота с помощью Arduino: привет, я производитель arduino, и в этом уроке я собираюсь показать вам, как сделать умного робота с помощью Arduino, если вам понравился мой урок, подумайте о поддержке моего канала на YouTube под названием создатель arduino
[Робот Arduino] Как сделать робота захвата движения - Большой палец руки робота - Серводвигатель - Исходный код: 26 шагов (с изображениями)
[Робот Arduino] Как сделать робота захвата движения | Большой палец руки робота | Серводвигатель | Исходный код: Thumbs Robot. Использовал потенциометр серводвигателя MG90S. Это очень весело и просто! Код очень простой. Это всего около 30 строк. Это похоже на захват движения. Пожалуйста, оставьте любой вопрос или отзыв! [Инструкция] Исходный код https: //github.c
Как избавиться от глупого файла ".hex No such File" Ошибка при загрузке Arduino !: 4 шага
Как избавиться от глупого файла ".hex No such File" Ошибка при загрузке Arduino !: Это руководство предоставит вам пошаговые инструкции о том, как заставить Arduino Diecemella действительно загружать самодельный код, а не просто примеры в Windows XP