Роби-младший Пульт дистанционного управления с Arduino......
Я купил эту Radio Shack Robie Jr на Ebay несколько месяцев назад. Он был указан как машина, состоящая только из запчастей, и был в довольно плохом состоянии, без дистанционных захватов и отсутствующих захватов, а шестерни на колесах были сняты. У меня был еще один Роби в хорошей форме с пультом, поэтому я решил воспроизвести его пульт с помощью 3D-печатного корпуса и контроллера Arduino.
Пульт дистанционного управления не использует радиочастотные или ИК-сигналы, с которыми было знакомо больши��ство пультов. Он использует ультразвуковой звук. Это означает, что нам нужен ультразвуковой преобразователь для работы Arduino. К счастью, сейчас они дешевы и их легко найти, поскольку они используются в ультразвуковых модулях измерения расстояний для хобби-роботов. Я получил тот, который использовал, от модуля Banggood HC-SR04. Я просто отпаял преобразователь TX от платы и подключил его напрямую к двум цифровым контактам Arduino.
Сначала мне нужно было проверить сигналы, исходящие от работающего пульта Роби-младшего, который у меня был. Для этого я использовал один из дешевых анализаторов Ebay Logic. Я разобрал пульт и, проведя небольшой реверс-инжиниринг, обнаружил контакт, идущий от микроконтроллера, который управляет его датчиком. Пульт имеет четыре кнопки направления и переключатель следован��я. Когда переключатель слежения включен, робот направляется к пульту дистанционного управления. У робота есть ультразвуковой приемник в каждом плече, поэтому он может определить, в каком направлении ему нужно двигаться. Я использовал логический анализатор для записи сигналов с пульта дистанционного управления для каждой кнопки направления и переключателя следования.
Протокол довольно прост. При нажатии кнопки «Вперед» пульт дистанционного управления выдает постоянный сигнал частотой 41,7 кГц. Кнопки других направлений и переключатель следования создают пакет несущего сигнала частотой 41,7 кГц длительностью 1,982 миллисекунды, за которым следует период молчания, а затем еще один пакет длительностью 1,982 миллисекунды. Это повторяется до тех пор, пока кнопка не будет отпущена. Продолжительность периода молчания зависит от нажатой кнопки.
Вот значения для каждого направления:
Вперед: непрерывная несущая 41,7 кГц
Реверс: пачки несущей длительностью 1,982 миллисекунды, разделенные паузой 0,143 секунды.
Слева: пакеты несущей длительностью 1,982 миллисекунды, разделенные паузой 0,133 секунды.
Справа: пакеты несущей длительностью 1,982 миллисекунды, разделенные паузой 0,123 секунды.
Далее: всплески несущей длительностью 1,982 миллисекунды, разделенные 0,113 секундами тишины.
Код был написан с использованием версии 1.8.5 Arduino IDE. Некоторые задержки были вызваны использованием циклов задержки, поэтому будущие изменения в IDE или компиляторе могут привести к поломке кода. Я уверен, что код можно было бы сделать лучше, но он работает.
Пульт — мой второй проект с Fusion 360, и я все еще учусь. Корпус состоит из 5 частей. Верхняя, нижняя, передняя часть, пластина переключателя и зажим. Плата переключателя — единственная деталь, которая напечатана с поддержкой. Я приклеил пластину переключателя сверху. Я напечатал все детали на Ender 2 с высотой слоя 0,2.
необходимые детали:
Ардуино про мини 5В 16М:
аккумуляторные пружины: https://www.banggood.com/10-Pairs-Silver-Tone-Metal-Battery-Spring-Plate-Set-for-AA-AAA-Batteries-p-1046111.html
ползунковые переключатели: https://www.banggood.com/10Pcs-Black-Mini-Size-SPDT-Slide-Switches-On-Off-100V-2A-DIY-Material-p-1011746.html
тактильные переключатели: https://www.banggood.com/100Pcs-Tactile-Push-Button-Switch-Tact-Switch-6X6X10mm-4-Pin-DIP-p-1000844.html
колпачки для переключателей: https://www.banggood.com/20Pcs-6x6x12mm-Momentary-4pin-Push-Button-Micro-Tactile-Tact-Switch-w-Cap-p-1205166.html
ультразвук: https://www.banggood.com/5Pcs-HC-SR04-Ultrasonic-Ranging-Sensor-Ultrasonic-Module-For-Arduino-p-943142.html
плата прототипа: https://www.banggood.com/5Pcs-7x9cm-PCB-Prototyping-Printed-Circuit-Board-Prototype-Breadboard-p-944697.html
Винты 3 мм разной длины. Четыре длиной 6 мм для подключения зажима и платы переключателя к пластине переключателя. Четыре по 10 мм для соединения верхнего корпуса с нижним.
Светодиод 3 мм для индикатора питания>
В пульте имеется встроенный батарейный отсек, вмещающий 3 батарейки типа ААА. Петли для пайки на пружинах аккумулятора проходят через нижнюю часть корпуса аккумулятора. У них есть шип, который их удерживает





























