Тәжірибелік жұмыс №12. Фоторезистормен жұмыс
Сур.24. Фоторезисторды Arduino-ға жалғау
Бұл жұмыста біз қарапайым кернеуді бӛлгіш жасаймыз, оның үстіңгі иіні
фоторезисторға түсетін жарықтың деңгейіне байланысты ауысып отырады.
Астыңғы иіннен алынатын кернеуді біз аналогтық кіріске береміз, ол оны 0-ден
1024-ке дейінгі санға түрлендіреді.
43
Алдымен А0-дың шығуда мәнінің қалай ӛзгеретінін түсіну үшін,
аналогды кірістен монитор портына ӛңделмеген сигнал жібереміз.
Скетч;
const int pinPhoto = A0;
int raw = 0;
void setup() {
Serial.begin(9600);
pinMode( pinPhoto, INPUT );
}
void loop() {
raw = analogRead( pinPhoto );
Serial.println( raw );
delay(200);
}
Осы бағдарламаны іске қосып, біз тетіктің келесі мәнін аламыз:
Сур.25.
Ал енді тетікті қолмен жапсақ басқа мәндер шығарады:
Сур.26.
Ескерту. Жұмыс нәтижесінде жарық мәні қатты ӛзгеретіні байқалады.
Жарық тікелей түсу кезінде 830-дан кӛлеңкелеу (жарық жолында кедергінің
пайда болуы) жағдайында 500-ге дейін ӛзгергенін кӛруге болады. Осы қасиетін
біле отырып, біз іске қосылу шамасының шектерін анықтай аламыз.
44
Осы жұмыстын нәтижесінде жарықдиодтытікелей қоспай, тек релеге сигнал
берілу арқылы қосылады. Осыны үйдің подъезіндегі электр энергиясын
үнемдеу үшін шамды қажет болған жағдайда ғана қосылатын етуге болды.
Өз бетінше орындауға арналған тапсырмалар:
1. Тӛмендегі скетчке түсініктеме беріңіздер. Оны іске қосып нәтижесін
зерттеңіздер.
const int pinPhoto = A0;
const int led = 13;
int raw = 0;
void setup() {
pinMode( pinPhoto, INPUT );
pinMode( led, OUTPUT );
}
void loop() {
raw = analogRead( pinPhoto );
if( raw < 600)
digitalWrite( led, HIGH );
else
digitalWrite( led, LOW );
delay(200);
}
Дыбыс деңгейінің тетігі
Arduino дыбыс тетігі шудың деңгейін байқау немесе шапалақ, дүрсіл
немесе ысқырық сияқты қатты сигналдарды анықтау үшін пайдаланылады.
Тетік онда орнатылған микрофонмен, микрофон күшейткiшімен,
айнымалы кедергі түрiнде сезгіштікті реттегiш шағын тақтаны білдіреді.
Микрофон электр тоғы тербелiсінде дыбыс тербелiстерiн түрлендiредi.
Микрофоннан сигналды L293 компараторының кӛмегiмен күшейту керек.
Тетіктің логикалық деңгеймен шығысы бар. Тетік іске қосылса – шығыста
логикалық 0 пайда болады. Сезгiштiктi реттегiшпен қандай дыбыстан —
әлсізден, қатты немесе ӛте қатты дыбыстан тетік іске қосылғанын таңдауға
болады.
Сур.27. Дыбыс деңгейінің тетігі
1
2
3
6
4
5
45
1 – электронды микрофон;
2 - ӛзгертпелі кедергі;
3 - Sound Detection LED – дыбыс естілгенде жанады;
4 - Power LED – кӛрек берілгенде жанады (кӛрек индикаторы);
5- дыбысты күшейткіш;
6 – шығыстары.
Тетіктің 3 шығыстары бар. Шығарғыштардың тағайындалуы келесідей:
Vcc – тетікті қуаттандыру;
GND – жер;
OUT – цифрлы шығыс;
Тетіктің сонымен бірге OUT шығуында тӛмен деңгейдің бары туралы белгі
беретін жарықдиоды бар. OUT цифрлық шығарғышының және деңгей
жарықдиодының болуы контроллерге қосылмай модульді автономды түрде
пайдалануға мүмкіндік береді.
Модульдің техникалық сипаттамалары:
Қуаттың кернеуі: 4-6 В;
Шығу: цифрлық;
Анықтаудың ең жоғары қашықтығы – 5 м;
Модульдің мӛлшері: 32×17×15 мм;
Жалпы салмағы: 12.5 г.
Тәжірибелік жұмыс №13. Дыбыс тетігімен жұмыс
Шапалақтау кӛмегімен шамды басқару үшін дыбыс тетігін пайдалануды
қарастырамыз. Шапалақтауды тіркеу кезінде дыбыс тетігі микроконтроллерге
тӛмен деңгей сигналын береді. Сигнал алғаннан кейін микроконтроллер реле
арқылы шамның күйін ауыстырады (жағады/сӛндіреді).
Жоба үшін бізге келесі бӛлшектер керек болады:
Arduino UNO тақтасы; дыбыс деңгейінің тетігі; блок реле; үстел үсті шамы;
жалғағыш сымдар. 28-сур. кӛрсетілген сызбаны жинаймыз
Сур.28. Дыбыс деңгейінің тетігін қосу сызбасы
Arduino IDE іске қосып скетчті жүктейміз.
46
Скетч:
// OUT тетігінің шығысын қосу байланысы
int soundPin=2;
// реле шығысын қосу байланысы
int relayPin=8;
// шамның күйі
// true - қосулы, false - сӛндірулі
boolean statuslamp;
void setup()
{
// реленің шығуын OUTPUT режиміне баптау
pinMode(relayPin,OUTPUT);
// бастапқы күйі – шам сӛндірулі
statuslamp=false;
digitalWrite(relayPin,LOW);
}
void loop()
{
// OUT шығарғышына дыбыс тетігінің мәнін тексеру
if(digitalRead(soundPin)==0) // шапалақтауды тіркеу
{
// шамның жағдайын ауыстыру
statuslamp=!statuslamp;
// шамды ауыстыру
digitalWrite(relayPin,statuslamp);
// тарсылдың іркілісі, «салдыры»
delay(10);
}
}
Ескерту. Дыбыстың кез келген деңгейде OUT шығарғышындағы деңгейінің
жарықдиоды жанбаған жағдайда тетіктің микроконтроллер кірісіне қосылуын
тексеріңіз. Потенциометрдің кӛмегімен шығу сигналының шамасын ретке
келтіріңіз.
Өз бетінше орындауға арналған тапсырмалар:
1. Скетчте бастапқы мәнін statuslamp=true; (шам қосулы) деп орнатып
орындаңыздар.
Достарыңызбен бөлісу: |