Проекты с использованием контроллера Arduino



Download 12,28 Mb.
Pdf ko'rish
bet153/215
Sana22.02.2022
Hajmi12,28 Mb.
#109180
1   ...   149   150   151   152   153   154   155   156   ...   215
Bog'liq
Petin V A - Proekty s ispolzovaniem kontrollera Arduino Elektronika 2014


Часть III. Практическое применение Arduino 
21.5. Движение робота по линии
в автономном режиме 
Чтобы наш проект превратился в робота, необходимо добавить для него режим
осмысленных действий в автономном режиме. Предусмотрим переход робота из 
режима внешнего управления в автономный режим и обратно по нажатии клавиш 
<1> и <3> на ИК-пульте. Для этого добавим в скетч две константы: 
#define EXT 16 // "1" – переход в режим внешнего управления 
#define LOCAL 1040 // "3" – переход в автономный режим 
При переходе в автономный режим робот перестает реагировать на все коды, по-
ступающие с ИК-пульта, кроме кода перехода в режим внешнего управления. 
В автономном режиме робот будет пока непрерывно двигаться по черной линии, 
нарисованной на поверхности движения. Для обеспечения движения робота по этой 
линии применим датчики "черное-белое" типа OR-BWSENS (рис. 21.10). 
Рис. 21.10. Датчики OR-BWSENS 
Датчики устанавливаются на робота, как показано на рис. 21.11. Высота датчиков 
от поверхности — 15 мм. 
Рис. 21.11. Установка датчиков OR-BWSENS на платформу робота 


Глава 21. Создаем робота 
281 
Для работы с датчиками используем Arduino-библиотеку 
PololuQTRSensors
, кото-
рую можно скачать со страницы https://github.com/pololu/qtr-sensors-arduino. Эта 
библиотека находится и в папке 
libraries/QTRSensors
сопровождающего книгу элек-
тронного архива. 
Итак, подключаем библиотеку к проекту: 
// датчики черное-белое 
#include  
#define NUM_SENSORS 4 // кол-во сенсоров 
#define TIMEOUT 2500 // 2500 мс 
#define EMITTER_PIN QTR_NO_EMITTER_PIN 
Прописываем константы: количество датчиков, время ожидания разрядки конден-
саторов, параметр 
EMITTER_PIN

Далее создаем экземпляр объекта. Для цифровых: 
QTRSensorsRC qtrrc((unsigned char[]) {B1,...,Bn},NUM_SENSORS, 
TIMEOUT,EMITTER_PIN); 
unsigned int sensorValues[NUM_SENSORS]; 
где: 

B1
, ..., 
Bn
— пины Arduino для подключения сенсоров; 

NUM_SENSORS
— количество сенсоров; 

TIMEOUT
— время ожидания разрядки конденсатора датчика. 
У
ТОЧНЕНИЕ
"Принцип работы датчика: замыкаем на 500 мкс (для версии 1 датчика — на 2500 мкс) 
сигнальную линию датчика на землю, разряжая конденсатор. Делаем сигнальную ли-
нию входом для МК (т. е. перестаем ее подтягивать к «земле» или к питанию) и ждем 
сколько-то времени, пока через открытый, в зависимости от отражающей способности 
поверхности в спектре ИК-излучения и расстояния до поверхности, оптодатчик за- 
рядится конденсатор; замеряем, что на выходе с датчика: 0 или 1" (из инструкции для 
датчиков OR-BWSENS). 

EMITTER_PIN
— 
QTR_NO_EMITTER_PIN

Далее в процедуре 
setup()
— калибровка датчика: 
for (i = 0; i < 400; i++) 

qtrrc.calibrate(); 

И в основном цикле — считывание показаний датчиков: 
unsigned char i; 
for (i = 0; i < NUM_SENSORS; i++) 

Serial.print(sensorValues[i] * 10 / 1001); 
Serial.print(' '); 



282 
Download 12,28 Mb.

Do'stlaringiz bilan baham:
1   ...   149   150   151   152   153   154   155   156   ...   215




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish