Джон Ловин - Создаем робота-андроида своими руками
- Название:Создаем робота-андроида своими руками
- Автор:
- Жанр:
- Издательство:Литагент «ДМК»233a80b4-1212-102e-b479-a360f6b39df7
- Год:2007
- Город:Москва
- ISBN:5-9706-0032-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Джон Ловин - Создаем робота-андроида своими руками краткое содержание
Эта книга – отличный подарок для тех, кто собирается строить робота в первый раз, а также будет полезна и более опытным «роботостроителям», которые хотят отточить свое мастерство. Базовых знаний в области радиоэлектроники окажется вполне достаточно, чтобы книга помогла вам осуществить 12 отличных робототехнических проектов с использованием как промышленных частей и деталей (полные списки прилагаются), так и различного домашнего хлама, вытащенного с антресолей.
Издание окажется крайне полезным для всех любителей электроники и телемеханики как классическое руководство по функционально-блочному построению робототехнических устройств.
Создаем робота-андроида своими руками - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
На рис. 6.20 выключатель с меткой А выдает на шину ввода/вывода сигнал высокого логического уровня до момента замыкания. После замыкания шина «садится» на землю, т. е. получает сигнал низкого уровня. Когда микроконтроллер получает сигнал замыкания, он может произвести ряд операций или функций управления. В нашем случае замыкание контакта выключателя вызовет мигание светодиода. Понятно, что светодиод может быть заменен транзистором, преобразователем, электронной схемой или другим микроконтроллером или компьютером.

Рис. 6.20. Переключатели логических уровней
Программа на PICBASIC имеет следующий вид:
‘PICBASIC компилятор
‘REM проверка выключателя низкого уровня
‘ Инициализация переменных
input 4 ‘Назначить шину PB4 для определения состояния выключателя
start:
if pin4 = 0 then blink ‘Если выключатель выдает низкий уровень – све
тодиод мигает
goto start ‘Если нет – проверить состояние выключателя
blink: ‘Процедура мигание
high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода
pause 250 ‘Задержка ј с
low 0 ‘Низкий уровень на шине RB0 для гашения светодиода
pause 250 ‘Задержка ј с
goto start ‘Проверка состояния выключателя
Программу на PICBASIC Pro можно составить следующим образом:
‘REM BASIC Pro компилятор
‘Rem проверка выключателя низкого уровня
input portb.4 ‘Назначить шину PB4 для определения состояния выключателя
start:
if port.b = 0 then blink ‘Если выключатель выдает низкий уровень – све
тодиод мигает
goto start ‘Если нет – проверить состояние выключателя
blink: ‘Процедура мигание
high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода
pause 250 ‘Задержка ј с
low 0 ‘Низкий уровень на шине RB0 для гашения светодиода
pause 250 ‘Задержка ј с
goto start ‘Проверка состояния выключателя
Схема устройства для выключателя низкого уровня приведена на рис. 6.21. Выключатель соединен с шиной ввода/вывода, помеченной RB4. Светодиод соединен с шиной RB0 через ограничительный резистор 470 Ом.

Рис. 6.21. Схема ключа низкого уровня
Выключатели высокого уровня
Программы и схемные решения для данного случая комплементарны предыдущему примеру. Посмотрим снова на рис. 6.20 – вариант В. Если переключатель с меткой В находится в положении «выключено», то шина выхода имеет низкий логический уровень. При замыкании переключателя на шину поступает сигнал высокого логического уровня.
Программа на PICBASIC имеет следующий вид:
‘PICBASIC компилятор
‘REM проверка выключателя высокого уровня
‘ Инициализация переменных
input 4 ‘Назначить шину PB4 для определения состояния выключателя
start:
if pin4 = 1 then blink ‘Если выключатель выдает высокий уровень – све
тодиод мигает
goto start ‘Если нет – проверить состояние выключателя
blink: ‘Процедура мигание
high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода
pause 250 ‘Задержка ј с
low 0 ‘Низкий уровень на шине RB0 для гашения светодиода
pause 250 ‘Задержка ј с
goto start ‘Проверка состояния выключателя
Программу на PICBASIC Pro можно составить следующим образом:
‘REM BASIC Pro компилятор
‘Rem проверка выключателя высокого уровня
input portb.4 ‘Назначить шину PB4 для определения состояния выключателя
start:
if port.b = 0 then blink ‘Если выключатель выдает высокий уровень —
светодиод мигает
goto start ‘Если нет – проверить состояние выключателя
blink: ‘Процедура мигание
high 0 ‘Высокий уровень на шине RB0 для зажигания светодиода
pause 250 ‘Задержка ј с
low 0 ‘Низкий уровень на шине RB0 для гашения светодиода
pause 250 ‘Задержка ј с
goto start ‘Проверка состояния выключателя
Схема устройства для выключателя высокого уровня показана на рис. 6.22. Выключатель соединен с шиной ввода/вывода, обозначенной RB4. Светодиод подключен к шине RB0 через ограничительный резистор 470 Ом.

Рис. 6.22. Схема ключа высокого уровня
Считывание данных компаратора
Микроконтроллер может также считывать данные логических уровней с других микроконтроллеров, схем и ИС. В качестве примера рассмотрим схему на рис. 6.23. В этой схеме микроконтроллер считывает данные выхода компаратора. Выход компаратора LM339 построен по схеме NPN транзистора, поэтому для создания сигнала высокого уровня необходимо использовать резистор смещения. Микроконтроллер считывает данные выхода компаратора аналогично алгоритму выключателя низкого уровня.

Рис. 6.23. Схема чтения компаратора
Считывание данных резистивных датчиков
Микроконтроллер может непосредственно считывать данные резистивных датчиков в диапазоне от 5 до 50 кОм. К микроконтроллеру может быть подсоединен резистивный датчик любого типа: фоторезистор (элемент на основе сульфида кадмия CdS), термистор с положительным или отрицательным ТК, датчик наличия ядовитого газа, датчик изгиба или влажности. Микроконтроллер измеряет сопротивления по времени разряда конденсатора в RC цепочке (см. рис. 6.24).

Рис. 6.24. Схема команды РОТ
Командой для чтения данных резистивного датчика является:
Pot pin, scale, var
Pot представляет собой имя команды, а pin – номер шины, к которой подключен датчик. Переменная scale используется для задания времени RC цепочки. При большом времени RC цепочки значение scale должно быть низким, а для малого времени RC цепочки scale должно быть установлено на максимальное значение, составляющее 225. Если значение scale установлено правильно, то значение переменной var будет близким к нулю при минимальном сопротивлении и достигать 225 – при максимальном.
Значение переменной scale может быть определено экспериментально. Для того чтобы найти подходящее значение scale, необходимо определить максимальное рабочее сопротивление датчика и считать показания var при установке параметра scale равным 225. При этом условии значение переменной var будет представлять собой хорошее приближение значения scale.
Основная схема изображена на рис. 6.25. Для имитации резистивного датчика в схему включен переменный резистор 50 кОм. При изменении сопротивления переменного резистора в зависимости от значения переменной В0 будет загораться один из двух светодиодов. Если значение сопротивления превысит 125 – загорится светодиод 1, в противном случае будет гореть светодиод 2.
Читать дальшеИнтервал:
Закладка: