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



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


Часть III. Практическое применение Arduino 
Черная линия выдавала показания — 24 
(sensorValues[i] * 10 / 1001)
, белый 
лист — 0–2. 
Остается только реализовать движение по черной линии. 
Создаем два режима работы робота: 

внешнее управление; 

автономный (движение по линии). 
Для этого добавляем для ИК-пульта две клавиши: 
#define EXT 16 //"1" - переход во внешнее управление 
#define LOCAL 1040 //"3" - автономный режим 
И два псевдокода (при наезде на черную линию передним левым и передним пра-
вым датчиком): 
#define LOCAL_LEFT 9997 // для поворота по QTR 
#define LOCAL_RIGHT 9998 // для поворота по QTR 
При срабатывании датчиков выдаем в основной цикл программы срабатывание 
псевдокодов, и программа 
ir_go()
переводит их в движения. Содержимое скетча 
приведено в листинге 21.4. 
Листинг 21.4 
// подключение библиотеки irremote 
#include  
//вход ИК-приемника 
int RECV_PIN = 2; 
IRrecv irrecv(RECV_PIN); 
decode_results results; 
unsigned long ir_dt, old_ir; 
long ir_kod; 
unsigned long ir_time1, ir_time2; 
// коды клавиш ИК-пульта (marmitek) 
#define FORWARD 1936 
#define BACK 3984 
#define SPEED_UP 144 //ch+ 
#define SPEED_DOWN 2192 //ch- 
#define LEFT 3472 
#define RIGHT 1424 
#define CIRCLE_LEFT 3216 //vol+ 
#define CIRCLE_RIGHT 1168 //vol- 
#define STOP 2320 //0 
#define EXT 16 //1 
#define LOCAL 1040 //3 
#define LOCAL_LEFT 9997 // для поворота по QTR 
#define LOCAL_RIGHT 9998 // для поворота по QTR 


Глава 21. Создаем робота 
283 
int local=0; 
// состояние моторов робота 
struct POZ // структура для хранения статусов моторов 

int poz1; // позиция для 1 мотора 
int poz2; // позиция для 2 мотора 
int direction12; // направление до поворота 
int qtr[4]; // 
long millis1[4]; // для датчиков черное-белое фиксация появления белого 
}; 
// моторы 
struct MOTOR // структура для хранения номеров pin-ов, к которым подключены 
моторчики 

int in1; // INPUT1 
int in2; // INPUT2 
int enable; // ENABLE1 
}; 
// определяем порты, к которым подключены моторчики 
MOTOR MOTOR1 = { 13, 12, 5 }; 
MOTOR MOTOR2 = { 7, 8, 6 }; 
// начальная позиция робота 
// 1,2 мотор - выключены 
POZ POZ12={7,7,7,{0,0,0,0},{0,0,0,0}}; 
// массив возможных состояний моторов 
// max down -> min down -> stop -> min up -> max up 
int arrpoz[9][17]={ 
// in1 первого мотора 
{0,0,0,0,0,0,0,0,1,1,1,1,1,1,1}, 
// in2 первого мотора 
{1,1,1,1,1,1,1,0,0,0,0,0,0,0,0}, 
// скорости (enable1) первого мотора 
{250,230,210,190,170,150,130,0,130,150,170,190,210,230,250}, 
// in3 второго мотора 
{0,0,0,0,0,0,0,0,1,1,1,1,1,1,1}, 
// in4 второго мотора 
{1,1,1,1,1,1,1,0,0,0,0,0,0,0,0}, 
// скорости (enable2) второго мотора 
{250,230,210,190,170,150,130,0,130,150,170,190,210,230,250}, 
// скорость++ 
{0,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,0}, 
// скорость-- 
{-1,-1,-1,-1,-1,-1,-1,0,1,1,1,1,1,1,1}, 
// кружение влево-вправо 
{14,12,10,8,6,4,2,0,-2,-4,-6,-8,-10,-12,-14} 
}; 


284 
Download 12,28 Mb.

Do'stlaringiz bilan baham:
1   ...   150   151   152   153   154   155   156   157   ...   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