Оглавление:
2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
В этом руководстве вы узнаете, как создать робота, решающего лабиринты, который решает лабиринты, нарисованные людьми.
В то время как большинство роботов решают нарисованные лабиринты первого типа (вы должны следовать линиям, это пути), нормальные люди склонны рисовать лабиринты второго типа. Для робота это намного сложнее и требовательнее, но не невозможно!
Шаг 1: Шаг 1: решение лабиринта
На самом деле я рассмотрел множество методов решения лабиринтов, но наиболее часто используемый метод легко запрограммировать, хотя он все еще решает практически любой лабиринт!
В этом методе мы говорим роботу:
- Поверните направо, когда это возможно
- Если нет, двигайтесь вперед, если это возможно.
- В качестве последнего решения поверните налево и
- Повернитесь назад, если он попадет в тупик
На изображении вы видите, как лабиринт решается таким образом. Этот метод часто называют «Следование за стеной». Пока целью является выход во внешней стене, «Следование за стеной» его найдет.
Шаг 2: Шаг 2: Заказ запасных частей
Для этого робота нам понадобятся:
- 1 × Arduino Uno
- Держатель для батареек 1 × 4 AA
- 3 датчика TCRT5000 (QTR-1A)
- 2 × 6V двигатели постоянного тока
- 13 × мужской-женский провод макета
- 10 × женский-женский макетный провод
- Заголовок штыря с как минимум 29 штырями
- Паяльное оборудование
Кроме того, загрузите и установите Arduino IDE для разработки на вашем Arduino и убедитесь, что ваш Arduino поставляется с USB-кабелем типа A / B для подключения к компьютеру.
Шаг 3: Шаг 3: Считывание с датчика
Датчики TCRT5000 состоят из инфракрасного светодиода (синий шар) и приемника (черный шар).
Когда светодиод излучает инфракрасный свет на белую поверхность, он отражается в приемнике и возвращает низкое значение (40 ~ 60 в моем случае). Когда светодиод излучает свет на черную поверхность, он поглощается и возвращает высокое значение (700 ~ 1010 в моем случае)
На втором изображении показана схема, объясняющая, как подключить датчик к Arduino. Держите датчик так, чтобы вы могли видеть светодиод и приемник, а контакты были направлены в сторону схемы, чтобы убедиться, что вы подключили правильные контакты.
Теперь нам просто нужно подключить Arduino к нашему компьютеру, поместить следующий код в Arduino IDE и скомпилировать его:
// Измените A0 на любой порт, к которому вы подключили датчик, на # define FRONT_SENSOR A0void start () {Serial.begin (9600); } void loop () {int frontValue = analogRead (FRONT_SENSOR); Serial.println (frontValue);}
Теперь, если вы переместите датчик очень близко по белой и черной поверхности, вы увидите, что значения изменились соответствующим образом на последовательном мониторе.