Читаем Создаем робота-андроида своими руками полностью

• Шина ввода/вывода 1 отображает состояние CdS датчика 1. Если сила света, попадающего на CdS 1 больше, чем на CdS 2, то на шине появляется сигнал низкого уровня. Если сила света на обоих датчиках равна, то на выходе присутствует сигнал высокого уровня.

• Шина ввода/вывода 2 отображает состояние CdS датчика 2. Если сила света, попадающего на CdS 2, больше, чем на CdS 1, то на шине появляется сигнал низкого уровня. Если сила света на обоих датчиках равна, то на выходе присутствует сигнал высокого уровня.

• Шина ввода/вывода 3 отображает либо состояния датчика столкновений, либо слишком большую засветку CdS датчиков. В обоих случаях на выходе появляется сигнал высокого уровня.

Микроконтроллер 2. Микроконтроллер 2 проверяет состояние трех шин ввода/вывода и на основании полученной информации управляет движением и поворотом согласно таблице:

Соответственно шины 1 и 2 отражают состояние датчиков CdS, а шина 3 – состояние датчика столкновений.

Добавление состояния «спячки»

Я добавил состояние «спячки», соответствующее общему низкому уровню освещенности. Если оба CdS датчика освещены примерно одинаково, то робот движется вперед. Если датчики освещены в разной степени, то робот поворачивается соответственно направо или налево. Если поступает слишком много света или срабатывает датчик столкновений, то робот переходит в режим избегания.

Питание

Батарейный отсек робота содержит четыре элемента АА, обеспечивая напряжение питания 6 В. При проверке функционирования робота есть основания предполагать, что истощение батарей происходит достаточно быстро.

<p>Программа</p>

Блок-схема программы изображена на рис. 8.17. После включения питания ходовой двигатель отключен, и микроконтроллер начинает искать наиболее яркий источник света, поворачивая сервомотор. Если источник света имеет слишком большую яркость, то включается режим избегания. В режиме избегания ходовой двигатель включается в режим реверса; при этом ведущее колесо поворачивает направо или налево. Если освещенность не достигает уровня режима избегания, то робот поворачивается в направлении источника света и движется вперед. При замыкании датчика столкновений робот предполагает наличие препятствия и переходит в режим избегания. При выключении датчика столкновения (препятствия нет) программа переходит на начало, и процесс поиска и движения к наиболее яркому источнику света продолжается.

Рис. 8.17. Блок-схема программы

Программа написана для компилятора PICBASIC и введена непосредственно в PIC16F84. Без особых изменений программа может быть написана на версии PICBASIC Pro. Программа может быть подстроена под имеющиеся экземпляры CdS датчиков, используемых двигателей и т. п.

<p>Программа 1</p>

‘Микроконтроллер 1

start:

High 4: low 4 ‘Мигание светодиода

b7 = 0

button 5,0,255,0,b7,1,avoid ‘Проверка препятствия

pot 7, 255, b0 ‘Считывание датчика CdS 1

pot 6, 255, b1 ‘Считывание датчика CdS 2

if b0 <= 250 then skip ‘Достаточно темно?

If b1 >= 250 then slp ‘Да

skip: ‘Нет

if bo > 25 then skip 2 ‘Слишком много света

if b1 < 25 then avoid ‘Да

skip2: ‘Нет

if bo = b1 then straight ‘Освещенность одинакова, вперед

if bo > b1 then greater ‘Проверить освещенность

if bo < b1 then lesser ‘Проверить освещенность

straight:

high 0: high 1: low 2 ‘Сообщение микроконтроллеру 2

goto start ‘Движение прямо

greater:

b2 = b0 – b1 ‘Проверка разности освещенности

if b2 > 10 then rt ‘Если больше 10, поворот направо

goto straight ‘Если нет, движение прямо

lesser:

b2 = b1 – b0 ‘Проверка разности освещенности

if b2 > 10 then lt ‘Если больше 10, поворот налево

goto straight ‘Если нет, движение прямо

rt: ‘Поворот направо, посылка

high 0: low 1: low 2 ‘Сообщение микроконтроллеру 2

goto start

lt: ‘Поворот налево, посылка

low 0: high 1: low 2 ‘Сообщение микроконтроллеру 2

goto start

slp: ‘Режим спячки, посылка

low 0: low 1: low 2 ‘Сообщение микроконтроллеру 2

goto start

avoid: ‘Режим избегания, посылка

low 0: low 1: high 2 ‘Сообщение микроконтроллеру 2

goto start

<p>Программа 2</p>

‘Микроконтроллер 2

b4 = 150 ‘Установка среднего положения сервомотора

start:

peek 6, b1 ‘Чтение данных микроконтроллера 1

let b0 = b1 & 7 ‘Маскирование кроме первых трех битов

if b0 = 0 then slp ‘Время спячки

if b0 = 1 then rt ‘Поворот направо

if b0 = 2 then lt ‘Поворот налево

if b0 = 3 then fw ‘Движение прямо

if b0 = 4 then avoid ‘Режим избегания

goto start

slp:

low 4: low 5 ‘Выключить двигатель

pulsout 3, b4 ‘Запустить сервомотор

pause 18 ‘Задержка включения сервомотора

goto start ‘Чтение данных микроконтроллера 1

rt: ‘Поворот направо

high 4: low 5 ‘Движение вперед

if b4 > 200 then rt1: ‘Поворот направо максимален

b4 = b4 + 1 ‘Нет

rt1: ‘Да

pulsout 3, b4 ‘Поворот сервомотора

pause 18 ‘Задержка ( 55 Гц)

goto start ‘Чтение данных микроконтроллера 1

lt: ‘Поворот налево

high 4: low 5 ‘Движение вперед

if b4 < 100 then lt1: ‘Поворот налево максимален

b4 = b4 – 1 ‘Нет

lt1: ‘Да

pulsout 3, b4 ‘Поворот сервомотора

pause 18 ‘Задержка (55 Гц)

goto start ‘Чтение данных микроконтроллера 1

fw: ‘Прямо

high 4: low 5 ‘Движение прямо

pulsout 3, b4 ‘Поворот сервомотора

Перейти на страницу:

Похожие книги

102 способа хищения электроэнергии
102 способа хищения электроэнергии

Рассмотрена проблема хищений электроэнергии и снижения коммерческих потерь в электрических сетях потребителей. Приведены законодательно–правовые основы для привлечения к ответственности виновных в хищении электроэнергии. Изложены вопросы определения расчетных параметров средств учета электроэнергии, показаны схемы подключения счетчиков электрической энергии. Описаны расчетные и технологические способы хищения электроэнергии. Обсуждаются организационные и технические мероприятия по обнаружению, предотвращению и устранению хищений.Для работников энергоснабжающих организаций и инспекторского состава органов Ростехнадзора. Материалы книги могут быть использованы руководителями и специалистами энергослужб предприятий (организаций) для правильного определения расчетных параметров средств учета и потерь электроэнергии в электрических сетях.Если потенциальные расхитители электроэнергии надеются найти в книге «полезные советы», они должны отдавать себе отчет, что контролирующие структуры информированы в не меньшей степени и, следовательно, вооружены для эффективной борьбы с противоправной деятельностью.Настоящая книга является переработанным и дополненным изданием выпущенной в 2005 г. книги «101 способ хищения электроэнергии».

Валентин Викторович Красник

Технические науки / Образование и наука
Электроника для начинающих (2-е издание)
Электроника для начинающих (2-е издание)

В ходе практических экспериментов рассмотрены основы электроники и показано, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. Материал излагается последовательно от простого к сложному, начиная с простых опытов с электрическим током и заканчивая созданием сложных устройств с использованием транзисторов и микроконтроллеров. Описаны основные законы электроники, а также принципы функционирования различных электронных компонентов. Показано, как изготовить охранную сигнализацию, елочные огни, электронные украшения, устройство преобразования звука, кодовый замок и др. Приведены пошаговые инструкции и более 500 наглядных рисунков и фотографий. Во втором издании существенно переработан текст книги, в экспериментах используются более доступные электронные компоненты, добавлены новые проекты, в том числе с контроллером Arduino.

Чарльз Платт

Радиоэлектроника / Технические науки
100 великих чудес инженерной мысли
100 великих чудес инженерной мысли

За два последних столетия научно-технический прогресс совершил ошеломляющий рывок. На что ранее человечество затрачивало века, теперь уходят десятилетия или всего лишь годы. При таких темпах развития науки и техники сегодня удивить мир чем-то особенным очень трудно. Но в прежние времена появление нового творения инженерной мысли зачастую означало преодоление очередного рубежа, решение той или иной крайне актуальной задачи. Человечество «брало очередную высоту», и эта «высота» служила отправной точкой для новых свершений. Довольно много сооружений и изделий, даже утративших утилитарное значение, тем не менее остались в памяти людей как чудеса науки и техники. Новая книга серии «Популярная коллекция «100 великих» рассказывает о чудесах инженерной мысли разных стран и эпох: от изобретений и построек Древнего Востока и Античности до небоскребов в сегодняшних странах Юго-Восточной и Восточной Азии.

Андрей Юрьевич Низовский

История / Технические науки / Образование и наука