Дата последнего обновления:
Содержание
- Общее описание проекта
- Необходимые комплектующие
- Электрические схемы
- Сборка механической части
- Программирование Arduino
- Тестирование и настройка
- Контакты для обращений
Общее описание проекта
В статье рассматривается процесс создания радиоуправляемой машинки с помощью микроконтроллера Arduino и беспроводного модуля NRF24L01.
Проект подходит как для начинающих, так и для тех, кто хочет углубиться в схемотехнику и программирование.
На основе найденных в сети материалов (см. даты , , , и др.) мы собрали проверенную схему, адаптировали её под современные комплектующие и добавили подробные пояснения.
Ключевые цели
- Собрать шасси и установить два постоянных двигателя (движение вперёд/назад и поворот).
- Создать пульт управления на базе Arduino Nano + NRF24L01.
- Разработать прошивку для обеих сторон (трансивер и приёмник).
- Настроить связь, проверить отклик и отладить управление.
Необходимые комплектующие
Электронные
- Arduino Nano (или Arduino Pro Mini) – 2 шт. (один в машине, второй в пульте).
- NRF24L01+PA+LNA модуль – 2 шт.
- Два постоянных двигателя постоянного тока (12‑24 В) – один отвечает за движение, второй – за поворот.
- Драйверы моторов (L298N или TB6612FNG) – 2 шт.
- Батарейный блок 7.4 V Li‑Po (2 шт.) + держатели.
- Светодиоды (фары) – 4 шт.
- Резисторы 220 Ω (для светодиодов) – 4 шт.
- Конденсаторы 10 µF (для стабилизации питания NRF24L01) – 2 шт.
- Кнопки/джойстик для пульта – 2‑4 шт.
Механические
- Шасси (можно напечатать на 3‑D принтере формата А8, как в статье от ).
- Гаечные ключи, крестовая отвертка, набор винтов и гаек.
- Колёса (подходящие под выбранные моторы).
- Подшипники, оси, планки для крепления электроники.
Электрические схемы
3.1 Схема подключения двигателя в машине
Схема построена на основе примеров от и .
+-------------------+ +-------------------+ | Arduino Nano | | NRF24L01 | | (RX) | | (приёмник) | | D2 —> CE |------| CE | | D3 —> CSN |------| CSN | | D4‑D7 —> MOSI/SCK |------| MOSI/SCK | +-------------------+ +-------------------+ +-------------------+ +-------------------+ | Драйвер L298N | | Двигатель DC | | IN1 —> D8 |------| + (вперёд) | | IN2 —> D9 |------| — (назад) | +-------------------+ +-------------------+
3.2 Схема пульта управления
Пульт использует тот же набор микросхем, но в роли передатчика.
+-------------------+ +-------------------+ | Arduino Nano | | NRF24L01 | | (TX) | | (передатчик) | | D2 —> CE |------| CE | | D3 —> CSN |------| CSN | | D4‑D7 —> MOSI/SCK |------| MOSI/SCK | +-------------------+ +-------------------+ Кнопки: - Button A (вперёд) → D8 - Button B (назад) → D9 - Button C (влево) → D10 - Button D (вправо) → D11
Сборка механической части
- Подготовка шасси. Распечатайте детали на 3‑D принтере (формат А8). Смотрите модель из статьи от .
- Установка двигателей. Закрепите моторы к шасси с помощью гаек и болтов. Один мотор будет отвечать за движение, второй – за поворот.
- Крепление колёс. Наденьте колёса на валы двигателей, зафиксируйте.
- Монтаж электроники. Прикрепите Arduino Nano, драйвер L298N и NRF24L01 в специально отведённые отверстия. Не забудьте добавить конденсаторы 10 µF рядом с NRF24L01.
- Подключение светодиодов. Прикрепите 4 светодиода к передней части машинки (две фары, две задние сигналы). Подключите через резисторы 220 Ω к выводам Arduino (D12‑D15).
- Питание. Подключите батарейный блок к VIN Arduino и к входу драйвера L298N. Проверьте полярность.
Программирование Arduino
5.1 Библиотеки
#include– для работы с NRF24L01.#include– SPI‑шина.#include(если используете Motor Shield) или прямое управление черезdigitalWrite.
5.2 Код приёмника (машинка)
#include <SPI.h>
#include <RF24.h>
RF24 radio(2, 3); // CE, CSN
const byte address[6] = "00001";
enum Command {STOP=0, FORWARD, BACKWARD, LEFT, RIGHT};
void setup {
Serial.begin(9600);
radio.begin;
radio.openReadingPipe(0, address);
radio.setPALevel(RF24_PA_LOW);
radio.startListening;
pinMode(8, OUTPUT); // IN1
pinMode(9, OUTPUT); // IN2
pinMode(10, OUTPUT); // IN3 (поворот)
pinMode(11, OUTPUT); // IN4 (поворот)
}
void loop {
if (radio.available) {
Command cmd;
radio.read(&cmd, sizeof(cmd));
executeCommand(cmd);
}
}
void executeCommand(Command cmd) {
switch (cmd) {
case FORWARD:
digitalWrite(8, HIGH);
digitalWrite(9, LOW);
break;
case BACKWARD:
digitalWrite(8, LOW);
digitalWrite(9, HIGH);
break;
case LEFT:
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
break;
case RIGHT:
digitalWrite(10, LOW);
digitalWrite(11, HIGH);
break;
default: // STOP
digitalWrite(8, LOW);
digitalWrite(9, LOW);
digitalWrite(10, LOW);
digitalWrite(11, LOW);
break;
}
}
5.3 Код передатчика (пульт)
#include <SPI.h>
#include <RF24.h>
RF24 radio(2, 3); // CE, CSN
const byte address[6] = "00001";
enum Command {STOP=0, FORWARD, BACKWARD, LEFT, RIGHT};
void setup {
Serial.begin(9600);
radio.begin;
radio.openWritingPipe(address);
radio.setPALevel(RF24_PA_LOW);
pinMode(8, INPUT_PULLUP); // Button Forward
pinMode(9, INPUT_PULLUP); // Button Backward
pinMode(10, INPUT_PULLUP); // Button Left
pinMode(11, INPUT_PULLUP); // Button Right
}
void loop {
Command cmd = STOP;
if (digitalRead(8) == LOW) cmd = FORWARD;
else if (digitalRead(9) == LOW) cmd = BACKWARD;
else if (digitalRead(10) == LOW) cmd = LEFT;
else if (digitalRead(11) == LOW) cmd = RIGHT;
radio.write(&cmd, sizeof(cmd));
delay(100); // небольшая задержка для стабильности
}
5.4 Пояснения
- Для надёжной связи рекомендуется разместить конденсаторы 10 µF рядом с VCC и GND модуля NRF24L01.
- Уровень питания NRF24L01 – 3.3 V. Если используете Arduino Nano 5 V, подключайте модуль через стабилизатор или логический уровневый преобразователь.
- Для плавного управления можно добавить ШИМ‑регуляцию (analogWrite) вместо простого HIGH/LOW.
Тестирование и настройка
- Проверка питания. Убедитесь, что все компоненты получают нужное напряжение (Arduino 5 V, NRF24L01 3.3 V, моторы – от батареи).
- Тест драйвера. Подайте простую команду HIGH/LOW на выводы IN1‑IN4 и проверьте вращение моторов.
- Тест связи. Запустите скетч передатчика и приёмника, нажмите кнопку «вперёд». Машинка должна ехать вперёд.
- Отладка. Если связь «пропадает», проверьте антенну NRF24L01, замените конденсаторы, уменьшите расстояние.
- Калибровка скорости. Добавьте ШИМ‑управление (analogWrite) для регулировки скорости двигателей.
- Тест светодиодов. Убедитесь, что фары включаются при подаче питания.
После успешного теста ваш проект готов к эксплуатации! При желании можно добавить:
- Bluetooth‑модуль вместо NRF24L01.
- Сенсор препятствий (ультразвуковой датчик HC‑SR04).
- Подвеску и более мощные моторы для увеличения нагрузки.
Контакты для обращений
Если у вас возникли вопросы, нужны консультации или вы хотите поделиться отзывом – используйте любые из перечисленных способов связи.
- Официальный сайт: https://www.radiocars-example.ru
- Горячая линия: +7 (495) -23‑45‑67 (круглосуточно)
- Номера телефонов:
- Техническая поддержка – +7 (495) -23‑45‑68
- Отдел продаж – +7 (495) -23‑45‑69
- Электронный адрес: support@radiocars-example;ru
- Личный кабинет: https://www.radiocars-example.ru/login
- Личный приём (по записи): +7 (495) -23‑45‑70
- График приёма:
- Пн‑Пт: 09:00–18:00
- Сб: 10:00–15:00
- Вс: выходной
- Отделы:
- Отдел разработки – +7 (495) -23‑45‑71
- Отдел продаж – +7 (495) -23‑45‑69
- Отдел поддержки – +7 (495) -23‑45‑68
- Руководство:
- Генеральный директор – Иванов И.И.
- Технический директор – Петров П.П.
- Менеджер по работе с клиентами – Сидорова А.А.
- Отзывы: Оставить отзыв можно на странице «Отзывы клиентов» или отправив письмо на feedback@radiocars-example.ru.
Создание радиоуправляемой машинки на базе Arduino – отличное практическое задание, которое помогает освоить электронику, программирование и механику.
Следуя пошаговым инструкциям, вы получите готовый к эксплуатации проект, а при необходимости сможете расширять его новыми функциями.
Удачной сборки и ярких поездок!