Рэле электромагнитные Tianbo Relay

Модель автомобиля, управляемая при помощи мобильного телефона. Часть 2. ПО для микроконтроллера

В первой части мы рассмотрели схему контроллера и декодера DTMF команд, структурный состав устройства, познакомились с назначением основных элементов и узлов.

Исходный код программы микроконтроллера ATmega16 написан на языке Си и скомпилирован с использованием компилятора CodeVisionAVR. Исходный код снабжен подробными комментариями и очень прост.

Вебинар «Источники питания MEAN WELL для промавтоматики и серверного оборудования в новых условиях» (02.06.2022)

Изначально в программе мы определяем имена регистров для микроконтроллера Atmega16, определяем имена переменных. Линии порта А микроконтроллера необходимо настроить на вход, а линии порта В – на выход (см. принципиальную схему в первой части статьи). Основной код программы размещается в цикле while(), таким образом в цикле постоянно считываются данные присутствующие на линиях порта А, которые проверяются при помощи оператора switch. Соответствующие принятым данным команды отправляются в порт D.

Для управления моделью пользователю необходимо позвонить на телефон-приемник, установленный на модели, с головного телефона (телефон-передатчик) с поддержкой тонального набора. Установленный на модели телефон должен иметь функцию автоответа, либо должен быть переведен в режим “Hands-Free”. Сигнал с телефона поступает на собранную схему дешифратора команд посредством разъема для подключения наушников на мобильном телефоне. После автоматического ответа пользователь может посылать DTMF команды для управления моделью в соответствии с таблицей, представленной ниже.

Соответствие команд

Цифра
нажатая
пользователем
Выходные данные
с DTMF  детектора
Входные данные
(порт A)
микроконтроллера
Выходные данные
(порт D)
микроконтроллера
Команда
2 0x02
00000010
0xFD
11111101
0x89
10001001
Движение вперед
4 0x04
00000100
0xFB
11111011
0x85
10000101
Поворот влево
(правый двигатель - вперед,
левый двигатель - назад)
6 0x06
00000110
0xF9
11111001
0x8A
10001010
Поворот вправо
(правый двигатель - назад,
левый двигатель - вперед)
8 0x08
00001000
0xF7
11110111
0x86
10000110
Движение назад
5 0x05
00000101
0xFA
11111010
0x00
00000000
Стоп

Если пользователь нажал на телефоне-передатчике цифру «2» (двоичный эквивалент 00000010), то получим выходные данные с микроконтроллера в двоичном эквиваленте - 10001001, что соответствует высокому уровню на линиях PD0, PD3 и PD7. Высокий уровень на линии PD7 разрешает работу драйвера двигателя L293D, высокие уровни на PD0 и PD3 указывают на прямое направление вращения двигателей.

Внешний модели автомобиля

Возможно использование четырех двигателей для реализации четырех ведущих колес, в этом случае двигатели на одной стороне подключаются параллельно, и, в таком случае, возможно использование одного драйвера двигателей L293D.

Исходный текст программы микроконтроллера

electronicseverywhere.blogspot.com

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: Cellphone Operated Land Rover. Part 2. Software

Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения:Полный вариант обсуждения »
  • очень хочу собрать эту схему, но боюсь не потяну ввиду недостатка опыта.. ребят может у кого есть готовый рабочий образец:confused:? готов купить за разумные деньги,можно без мобилки. жду ответа на почту [email]etonesait@rambler.ru[/email]