3.14M
Категория: ЭлектроникаЭлектроника

Line follower

1.

Line follower car
loyihasini bajarish
• o'qituvchi: O'rishov S
This Photo by Unknown author is licensed under CC BY.

2.

KOMPONENTLAR VA
MATERIALLAR
• Arduino Uno
• DC dvigatel
• Arduino uchun Driverlar
• Ultrasonic sensor
• Batareka
• Ulash uchun simlar
• Asosiy qism (tana)

3.

• Ushbu loyihaning sxemasi

4.

Line follower car loyihasining asosi IR sensorlardir.
Ularning ishlashini ko'rib chiqamiz
Chiziq izdoshi robotining ishlash kontseptsiyasi yorug'lik
hodisasiga asoslangan. Biz bilamizki, oq rang unga tushadigan
deyarli barcha yorug'likni aks ettiradi, qora rang esa yorug'likning
katta qismini o'zlashtiradi. Chiziqni kuzatuvchi robot bo'lsa, biz
fotodiodlar deb ataladigan IR uzatgichlar va qabul qiluvchilardan
foydalanamiz. Ular yorug'likni yuborish va qabul qilish uchun
ishlatiladi.

5.

Line follower car loyihasining asosi IR sensorlardir.
Ularning ishlashini ko'rib chiqamiz
• IR infraqizil nurlarni uzatadi. Infraqizil nurlar oq sirtga tushganda,
u orqaga qaytariladi va fotodiodlar tomonidan ushlanadi, bu esa volt
aj o'zgarishlarini keltirib chiqaradi. IQ nuri qora sirtga tushganda, yor
ug'lik qora sirt tomonidan so'riladi va nurlar orqaga qaytarilmaydi,
• Bu erda Arduino Line follower robotida sensor oq sirtni sezganda,
Arduino 1 ni oladi, ya'ni kirish sifatida YUKOR, qora chiziqni sezganda
arduino 0, ya'ni kirish sifatida LOW ni oladi.

6.

IR yaqinlik datchiklari uchun elektron ulanishlar
• IQ sensori 3 ta uchta simli sensor
bo'lib, unda jigarrang va qora simlar
sensorni quvvat manbaiga ulash
uchun ishlatiladi, qizil sim esa bizning
sxemamizdagi Arduinoga ulanadi.
• IQ datchiklarining yuk simlari
sxemada ko'rsatilganidek, pin 8, 9 ga
ulangan.
This Photo by Unknown author is licensed under CC BY.

7.

L298N Dvigatel
drayveri
• L298N bu DC motorining aylanish
yo'nalishini boshqarishda
qulaydir. L298Ndan foydalanishning yana
bir afzalligi shundaki, biz motorlarni
alohida quvvat bilan ta'minlashimiz
mumkin. Bu, ayniqsa, 5V quvvat manbai
ikkita DC motor uchun etarli bo'lmagan
Arduino platasidan foydalanganda juda
muhimdir.

8.

L298N Dvigatel drayveri
• Agar chap dvigatelning
bir yo'nalishda
aylanishini istasak, biz
IN1 ga yuqori impulsni
va IN2 ga past pulsni
qo'llaymiz. Yo'nalishni
o'zgartirish uchun
impulslarni IN1 va IN2
ga qaytaring. Xuddi shu
narsa o'ng motorga
ham tegishli.

9.

L298N Dvigatel drayveri
• Tezlikni boshqarish L298N motor
drayveri bilan ham mumkin. Bizga
kerak bo'lgan narsa - bu PWM
(pulse Width Modulation)
signallarini dvigatelni yoqish
pinlariga yuborish. Dvigatelning
tezligi impulslarning kengligiga
qarab o'zgaradi. Impulslar
qanchalik keng bo'lsa, vosita tezroq
aylanadi. Arduino'da buni
analogWrite (pinNumber,
davomiylik) yordamida amalga
oshirish mumkin. Arduino-dagi '~'
pinlari PWM-ni qo'llab-quvvatlaydi.

10.

L298N Dvigatel drayveri uchun elektron ulanishlar :
• Dvigatel A simlari L298N ning 1 va 2
dvigatel terminallariga ulangan,
Dvigatel B simlari esa motor terminali
3 va 4 ga ulangan. IN1, IN2, IN3 va IN4
mos ravishda 2, 3, 4, 7 pinlariga
ulangan
• Endi, Motor A va Motor B Enable
arduino-ning ~ belgisiga ega bo'lgan
terminallarga ulanishi kerak, bu
motorlarning tezligini PWM yordamida
boshqarish mumkin. Bu erda ular 5 va
6 pinlariga ulangan

11.

L298N Dvigatel drayveri arduino pinlariga ulanadi
Va harakati quyidagicha belgilab olinadi

12.

Robotning ko'zlari infraqizil va ultravtovush datchiklardir.
Ular yordamida dushmanni topish mumkin
Robot chegarani "qidirish" uchun mas'ul bo'lgan bir nechta IR datchiklari bilan jihozlangan.
Old datchiklar odatda harakat tezligini boshqarishga yordam beradi jangchi haddan tashqari g'ayrat tufayli maydonni tark etmasligi kerak.
rqa datchiklar halqa chegarasiga yaqinlashishni “kuzatadi”: ulardan javob olgan robot
harakat yo‘nalishini o‘zgartiradi.

13.

Dastur manba kodi
•#include <AFMotor.h>
// AFMotor kutubxonasini yuklab olinadi , agar
siz motor shielddan foydalansangiz
•AF_DCMotor motor1(1);
• AF_DCMotor motor2(2); .
• ;

14.

• Ozgaruvchi kiritib olinadi ultasonicdan kelgan signalni qabul
qilib uni bitta o'zgaruvchiga tenglab olamiz
• Va sensor pinlarini ham qaysi pinga ulaganimizni aniqlab
ketamiz
•int trigPin = 9;
•int echoPin = 10;
•int davomiylik, sm;

15.

void plusUltra() {
digitalWrite(trigPin, LOW);
delayMicroseconds(5);
digitalWrite(trigPin, HIGH);
delayMicroseconds(15);
digitalWrite(trigPin, LOW);
davomiylik = pulseIn(echoPin, HIGH);
sm = davomiylik / 58
• PlusUltra degan
funsiya yatirldi
• Maqsad masofani
aniqlash

16.

Dastlab sensorlarni
ulangan pinlarini aniqlab
olamiz
Motorlarni L 298 N orqali
qaysi pinga ulaganimizni
aniqlab olamiz
// Black Line Follower
int IR1=8;
//Right sensor
int IR2=9;
//left Sensor
// motor one
int enA = 5;
//Right motor
int MotorAip1=2;
int MotorAip2=3;
// motor two
int enB = 6;
//Left motor
int MotorBip1=4;
int MotorBip2=7;

17.

Void setup qismida
pinMode komandasi
orqali pinlar ni elon qilib
olinadi
void setup()
{
pinMode(enA, OUTPUT);
pinMode(enB, OUTPUT);
pinMode(IR1,INPUT);
pinMode(IR2,INPUT);
pinMode(MotorAip1,OUTPUT);
pinMode(MotorAip2,OUTPUT);
pinMode(MotorBip1,OUTPUT);
pinMode(MotorBip2,OUTPUT);
}

18.

Asosiy takrorlanuvchi
qismda esa shart kiritib
dasturni ishga tuwiramiz
2 ta sensorham qiymati
HIGH bolsa
1 tasi HIGH 1 tasi LOW
bo'lganda
Yoki 2 tasiham LOW
bo'lgandagi shartlarni
kiritib dasturni
yakunlaymiz
void loop()
{
if(digitalRead(IR1)==HIGH &&
digitalRead(IR2)==HIGH)
{
//Stop both Motors
digitalWrite(MotorAip1,LOW);
digitalWrite(MotorAip2,LOW);
digitalWrite(MotorBip1,LOW);
digitalWrite(MotorBip2,LOW);
analogWrite (enA, 0);
analogWrite (enB, 0);

19.

Xulosa
Biz bugungi lohiymizda Line follower
robotini IR sensor bilan dastur tuzdik .
Lekin yuqorida ko'rsatilganidek siz ko'p
IR sensor bilan robot yasab unga ham
shu yo'nalishda dastur tuzishingiz
mumkin
Qo'shimcha savollar bo'lsa telegram
orqali murojat qilishingiz mumkin

20.

E'TIBORINGIZ UCHUN RAXMAT
This Photo by Unknown author is licensed under CC BY-NC-ND.
English     Русский Правила