Қазақстан республикасы білім және ғылым министірлігі



Pdf көрінісі
бет18/23
Дата05.09.2020
өлшемі1,57 Mb.
#77431
1   ...   15   16   17   18   19   20   21   22   23
Байланысты:
Робот техникасы негіздері

 

 

Тәжірибелік жұмыс №9.  Arduino-ға PIR қозғалыс тетігін қосу 

 

Пироэлектрлік  қозғалыс  тетігін  оқу  үшін  бағдарламаны  жазамыз. 



Микроконтроллерге PIR тетігін қосу қарапайым. Тетік сандық дабылды береді, 

Arduino  пинынан  HIGH  (қозғалыс  анықталған)  немесе  LOW  (қозғалыс  жоқ) 

мәндерін оқу. 

Сонымен қатар, Н позициясына коннекторды орнатамыз. 

Тетікке 5 вольтті қуат, жер GND қосылады. Содан кейін Arduino сандық 

пинімен  тетіктің  дабылдық  пины  қосылады.  Осы  мысалда  пин  2 

пайдаланылған. 



 

 

36 



 

 

Сур.15. Arduino-ға PIR қозғалыс тетігін қосу сызбасы 

 

Бағдарлама қарапайым. Ол 2 пинның күйін қадағалайды. Атап  айтқанда: 



ондағы  дабылды:  LOW  немесе  HIGH.  Сонымен  қатар,  пиннің  күйі  ауысқан 

кезде, хабарлама пайда болады: қозғалыс бар немесе қозғалыс жоқ. 

Скетч: 

int ledPin = 13;  // жарық диоды үшін пинді жүктейміз 

int  inputPin  =  2;    //  пироэлектрлік  қозғалыс  тетігінен  дабылды  алу  үшін  пинді 

жүктейміз 

int  pirState  =  LOW;    //  қозғалыстың  жоқтығын  болжай  отырып,  бағдарламаның 

жұмысын бастаймыз 

int val = 0;  // пиннің күйін оқитын айнымалы 

void setup() { 

pinMode(ledPin, OUTPUT);  // жарық диодын OUTPUT ретінде хабарлаймыз 

pinMode(inputPin, INPUT);  // тетікті INPUT түрінде хабарлаймыз 

Serial.begin(9600); 

void loop(){ 



val = digitalRead(inputPin);  // тетіктен мәнді оқимыз 

if (val == HIGH) {  // есептелген мәннің HIGH сәйкес келетіндігін тексереміз 

digitalWrite(ledPin, HIGH);  // жарық диодын қосамыз 

if (pirState == LOW) {    

// жарық диоды қосылды 

Serial.println("Motion detected!"); 

// сериялық мониторға күйі емес, жасалған ӛзгерістің мәні шығады 

pirState = HIGH; 

} else { 



digitalWrite(ledPin, LOW); // жарық диодын ӛшіреміз 

if (pirState == HIGH){ 

// жарық диоды ӛшті 

Serial.println("Motion ended!"); 

// сериялық мониторға күйі емес, жасалған ӛзгерістің мәні шығады  

pirState = LOW; 






 

 

37 



 

Ескерту.Пироэлектр  тетігімен  жұмыс  жасау  үшін  микроконтроллерінің 

әрқашан  қажет  емес  екендігін  ұмытпаңыз.  Кейде  істі  қарапайым  релемен 

бітіруге болады. 

Өз бетінше орындауға арналған тапсырмалар: 

1. PIR  қозғалыс  тетігін  пайдаланып  қозғалыс  анықталғанда  LCD-

дисплейге хабарлама шығаратын скетч құрыңыздар. 

 

 



Қашықтықты ӛлшеудің ультрадыбыстық тетігі (HC-SR04) 

Сур.16. Қашықтықты өлшеудің ультрадыбыстық тетігі  

 

Ерекшеліктері 

Қуаттың кернеуі: 5V DC 

Тыныштықтағы тоғы: <2мА 

Тиімді бұрыш: <15° 

Қашықтықты ӛлшеу ауқымы: 2–400 см 

Кеңейтілімдігі: 0,3 см 

Сенсор  жалғағышында  4  қарапайым  пин  бар,  бұл  оны  дәнекерлемейтін 

платаға жай ғана суға салуға, макет платасына дәнекерлеуге немесе қосу үшін 

қарапайым пиндерді (ана типті) пайдалануға мүмкіндік береді. 

 

Сур.17. Қашықтықты өлшеудің ультрадыбыстық тетігін Arduino-ға жалғау 

сызбасы 

 

Тетікті дәнекерсіз макетті платаға Arduino контроллерінен +5В және GND 



және контроллердің сандық пиндерінің шығарушыларына қосуға болады. 

Аrduino-ның  тетікпен  жұмысы  үшін  Ultrasonic  дайын  кітапхансын 

пайдаланамыз.  Кітапхана  пайдалануға  жеңіл  және  Arduino-лық  фреймворк 

қызметтерін қолдана отырып жазылған. 



 


 

 

38 



 

Тәжірибелік жұмыс №10. Объектіге дейінгі қашықтықты (сантиметрмен) 

монитор портына шығару 

 

- Ultrasonic2serial: 



#include "Ultrasonic.h" 

// sensor connected to: 

// Trig - 12, Echo - 13 

Ultrasonic ultrasonic(12, 13); 

void setup() 

  Serial.begin(9600); // com-портының 9600 айналымының жылдамдығын орнатамыз 



void loop() 

  float dist_cm = ultrasonic.Ranging(CM);       // арақашықтықты анықтау 



  Serial.println(dist_cm);                      // Консольға арақашықтықты шығару 

  delay(100);                                   // кідіріс уақыты 



Ескерту. Мониторға шығару үлгісі: 

17.00 


19.00 

20.00 


20.00 

20.00 


20.00 

20.00 


20.00 

18.00 


21.00 

2599.00 


2599.00 

2599.00 


2599.00 

2599.00 


2599.00 

- бұл мысалда сенсор алдында қол жүргізілді.  

Соңғы  мәндері  сенсордың  объектіге  дейінгі  қашықтықты  анықтау 

қабілетсіздігін кӛрсетеді. 



Өз бетінше орындауға арналған тапсырмалар: 

1.  Қашықтықты  анықтау  тетігін  Arduino-ға  қосып,  қашықтық  туралы  ақпарат 

компьютердің  портына  жӛнелтіп  отыратын  және  объект  кемінде  30  см 

қашықтықта  болғанда  13  пинге  қосылған  жарықдиодты  жағатын  скетчті 

құрыңыздар. 

2.Арақашықтық анықтау тетігі анықтаған мән сервожетектің бұрылу бұрышына 

айналатын скетчті құрыңыздар. 

 

 



 

 

 



 


 

 

39 



 

Түс тетігі (TCS3200) 



 

Осы  тетікпен  кӛрінетін  түсті  барлық  диапазонында  анықтауға  және 

ӛлшеуге  болады.  Тетік  RGB  TCS3200  сенсорынан  және  4  ақ  жарықдиодынан 

тұратын түс детекторы болып табылады. 

 

 

 



Сур.18. Түс тетігі 

 

TCS3200  тетігінде  фотодетекторларының  массиві  бар,  олардың 



әрқайсысының қызыл, жасыл, кӛк сүзгісі бар немесе мүлдем сүзгісіз (мӛлдір). 

Әр  түстің  сүзгісі  түстердің  араласып  кетуін  болдырмау  үшін  барлық  массив 

бойынша  біркелкі  бӛлінген.  Ішінде  генератор  бар,  ол  тікбұрышты  шығу 

сигналын  шығарады,  оның  жиілігі  таңдалған  түстің  қарқындылығына 

мӛлшерлес келеді. 

Сипаттамасы: 

• 

Жоғары кеңейтілімі бар жарық қарқынының жиілікке түрленуі 



• 

Негізгі Чип: TCS3200D 

• 

Шығу жиілік диапазоны 10 кГц ~ 12 кГц сіңіргіштігі 50% 



• 

Жұмыс кернеуі: + 3 В ~ + 5 В 

• 

Жұмыс тоғы: 1.4 мА 



• 

Анықтаудың ең дұрыс қашықтығы: 1 см 

• 

Интерфейс: цифрлық TTL 



• 

Мӛлшері (ҰхЕхБ): 28,4 x 28,4 x 8 мм 

• 

Салмағы: 3 гр 



 

Сур.19. Түс тетігінің Arduino-ға қосылу сызбасы 

 

Қосу жӛніндегі нұсқаулық 



VCC — 5V  

GND — GND  

S0 — D3 

 

S1 — D4 



S2 — D5 

 

S3 — D6 



 

OUT — D2  




 

 

40 



 

Ескерту: 

1.  Тестілеу  үдерісінде  тұрақты  жарық  кӛзін  сақтаңыз.  Жарық  кӛзін 

ауыстыруға немесе ӛзгертуге болмайды. Жабық бӛлмеде нәтиже жақсы болады. 

Жарық  кӛзін  әрбір  ӛзгерту  кезінде  ақ  түстің  балансына  түзету  жүргізу  керек. 

Модуль  қоршаған  ортаның  әсерінен  және  жарық  айқындығының  ӛзгеруінен 

түсті теріс немесе қате анықтауы мүмкін 





Достарыңызбен бөлісу:
1   ...   15   16   17   18   19   20   21   22   23




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет