Оглавление:
- Шаг 1: ВЕДУЩИЙ и ВЕДОМЫЙ в одном коде
- Шаг 2. Модули BLUETOOTH обмениваются данными посредством последовательного чтения и записи
- Шаг 3: управление гонкой
- Шаг 4: остальная часть кода
- Шаг 5: Что дальше?
Видео: Скоростной трек Arduino Hot Wheels, часть №2 - Код: 5 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:53
В первой части этого проекта мы построили оборудование для прототипа на двух макетных платах.
В этой части мы рассмотрим код, то, как он работает, а затем протестируем его.
Обязательно посмотрите видео выше, чтобы увидеть полный обзор кода и демонстрацию работающего кода.
Шаг 1: ВЕДУЩИЙ и ВЕДОМЫЙ в одном коде
Код состоит из двух частей, но внутри одного файла. Я использую #define и #ifdef, чтобы определить, какой код будет скомпилирован или проигнорирован, поэтому я могу отделить любой код, предназначенный только для макета MASTER, и код, предназначенный только для макета SLAVE.
По сути, если определение MASTER найдено, то любой код, который находится внутри блока кода MASTER, будет скомпилирован, и любой код за пределами этого блока будет удален во время компиляции.
#ifdef MASTER
// Код мастера находится здесь
#еще
#define SLAVE
// Здесь указан специальный код ведомого устройства
#endif
Я также использую ту же технику для #define SLAVE, когда MASTER скомпилирован, поэтому вам нужно только беспокоиться об определении MASTER или не включать определение SLAVE.
Шаг 2. Модули BLUETOOTH обмениваются данными посредством последовательного чтения и записи
В этом проекте только макет SLAVE общается с макетом MASTER. МАСТЕР никогда не отвечает, он только слушает, а затем действует в соответствии с поступающими данными.
Модули говорят и слушают, используя встроенный класс Serial в экосистеме кодирования Arduino.
Модули Bluetooth обмениваются данными на скорости 38400 бод, поэтому оба кодовых тракта инициализируют свою последовательную связь, используя:
Serial.begin (38400);
И РАБОТА использует:
Serial.write (данные здесь);
Чтобы поговорить с МАСТЕРОМ, МАСТЕР использует:
данные = Serial.read ();
Для прослушивания последовательного потока, чтения его содержимого и сохранения его внутри переменной.
Шаг 3: управление гонкой
SLAVE сообщает МАСТЕРУ, находится ли он в режиме гонки или готовности, с помощью зеленой кнопки, подключенной к его микроконтроллеру. В режиме готовности ИК-датчики ничего не делают, и MASTER покажет на дисплее 8 черточек, показывая, что он находится в режиме готовности.
Когда ВЕДОМЫЙ сообщает МАСТЕРУ, что гонка собирается начаться, ВЕДОМЫЙ начинает опрашивать ИК-датчики на своей стороне (начало гоночной трассы), чтобы машины могли проехать под ним.
Когда каждая машина проезжает под каждым ИК-датчиком, она отправляет A (автомобиль 1) или B (автомобиль 2) на МАСТЕР.
Когда МАСТЕР получает оценку A или B, он включает таймер для этой конкретной машины, а затем ждет, пока машина проедет под соответствующим ИК-датчиком на финишной прямой.
Дисплей обновляется каждые 50 мс для отображения текущего времени для каждой машины в секундах с двумя десятичными знаками.
Как только обе машины финишируют, МАСТЕР решает, какая машина была самой быстрой, и мигает это время на дисплее, указывая на победителя.
Шаг 4: остальная часть кода
Остальная часть кода - это просто служебный код, который либо управляет отображением данных на 8-значном дисплее, либо обрабатывает логику нажатия кнопок и т. Д.
В конце видео во вводном разделе этого проекта я показываю пример кода, работающего на двух макетных платах, поэтому обязательно ознакомьтесь с ним!
Вы можете взять код этого проекта из моего репозитория на github.
Шаг 5: Что дальше?
Вот и все … в части 3 мы рассмотрим перемещение компонентов с макета на что-то более постоянное … следите за обновлениями!
Надеюсь, вам нравится этот проект!
Следуй за мной на:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
Рекомендуемые:
Трек игрового автомата Rejuvenate: 5 шагов
Rejuvenate Slot Car Track: Гонки на игровых автоматах - это увлекательный способ привнести в ваш дом азарт автогонок. Замечательно участвовать в гонках на новой трассе, но когда ваша трасса станет старой и изношенной, вы можете обнаружить, что машины не так хорошо ездят. Это руководство покажет вам, как улучшить
Самодельный скоростной электромобиль: 7 шагов
Самодельный высокоскоростной электромобиль: если вы когда-нибудь хотели попробовать сделать свой собственный электромобиль, это очень простой способ сделать высокоскоростной автомобиль из обычных материалов, а также пары дешевых вещей из магазина электроники. Больше не нужно тратить 30-60 долларов на радиоуправляемые машины, когда вы
Сделайте недорогой сенсорный трек за считанные минуты !: 10 шагов (с изображениями)
Сделайте недорогой сенсорный трек за считанные минуты! В моем предыдущем Руководстве я показал вам, как создать макет модели поезда с автоматизированным сайдингом. Он использовал сегмент трека, названный «сенсорный трек». Очень полезно иметь в макете железной дороги. Меня можно использовать для следующих целей: Заблокировать
Как изменить стандартные Hot Wheels на R / C Hot Wheels: D: 6 шагов (с изображениями)
Как изменить стандартные Hot Wheels на R / C Hot Wheels: D: С детства я люблю Hot Wheels Cars. Это вдохновило меня на создание фантастических автомобилей. На этот раз они превзошли самих себя с помощью Star War Hot Wheels, C-3PO. Однако я хочу большего, чем просто толкать или путешествовать по треку, я решил: «П
Скоростной трек Arduino Hot Wheels - Часть 1 - Прототип: 4 шага
Arduino Hot Wheels Speed Track - Часть 1 - Прототип: Неудивительно, что мой сын любит горячие колеса и гонять на своих машинах по всему дому! Одно из его любимых занятий - гонять на всех своих машинах (сейчас их более 100), чтобы определить, какая из них самая быстрая. Сейчас он все это делает на глаз и