Программа Сервисный Центр
0

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


Malik Zohaib В первой части мы рассмотрели схему контроллера и декодера DTMF команд, структурный состав устройства, познакомились с назначением основных элементов и узлов. Исходный код программы микроконтроллера ATmega16 написан на языке Си и скомпилирован с использованием компилятора CodeVisionAVR. Исходный код снабжен подробными комментариями и очень прост. Изначально в программе мы определяем имена регистров для микроконтроллера 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 указывают на прямое направление вращения двигателей. Внешний модели автомобиля
Модель автомобиля, управляемая при помощи мобильного телефона. Часть 2. ПО для микроконтроллера
Возможно использование четырех двигателей для реализации четырех ведущих колес, в этом случае двигатели на одной стороне подключаются параллельно, и, в таком случае, возможно использование одного драйвера двигателей L293D.

По материалам сайта www.rlocman.ru

 
 
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
 
Обратная связь

Наши партнеры

 

Опросы

Есть ли справедливость в жизни?
Конечно есть, уверен!
Вроде как должна быть, но...
Затрудняюсь ответить...
Какая справедливость? О чем Вы?
Эх.., нет правды на свете!

 

Облако тегов

Требуется для просмотраFlash Player 9 или выше.

Показать все теги
 

Календарь публикаций

«    Декабрь 2016    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 

Архив новостей

Декабрь 2016 (1)
Ноябрь 2016 (42)
Октябрь 2016 (34)
Сентябрь 2016 (38)
Август 2016 (34)
Июль 2016 (36)
 
Наверх Сервисные мануалы Даташиты Ремонт LCD, ЖК телевизоров LG Samsung Скрипт программы "Сервисный центр"