Laboratoriya ishi № 6.
Tugmani yorug‘lik sezgichi sifatida ishlatish.
Laboratoriya ishining maqsadi: tugmachalarni yorug‘lik sensori kaliti sifatida ishlatishni o‘rganish.
Laboratoriyaning nazariy qismi. Keling, paneldagi sxemani yig‘amiz, unda tugmachaning bir oyog‘i
Arduinoning 5V kuchlanishiga, ikkinchisi esa 2 pinga ulanadi. Arduino UNO-ning
13-pinli bortidagi LEDga ulangan bo‘lsada, panelga yana bir LED qo‘shamiz. Qisqa oyog‘i 220 Omli rezistor orqali panel minusiga, uzun oyog‘i esa Arduino UNO ning 13 -piniga ulanadi. Arduino maydonchasini panel minusiga ulang.
Modelni yig‘ish uchun bizga kerak:
Arduino kartasi
Panel(doska)
5 ta sim va / yoki dada-dada
yorug‘lik chiqaruvchi diod
tugma
rezistorlar 10 kOm va 220 Om. Arduinoga ulanish sxemasi:
Laboratoriyaning amaliy qismi. Agar 10 kΩ tortish qarshiligi ulanmagan bo‘lsa, tugma bosilmasa ham, LED yonadi.
Aniq mantiqiy signal bo‘lmasa (nol yoki bitta), kiruvchi pindagi kuchlanish har qanday bo‘lishi mumkin. Noldan, to‘liq kuchlanishgacha, bu mantiqiy birlik bilan ko‘proq mos keladi.
Sxemaga 10kOm qarshilik qo‘shing. Bir oyog‘ini panelning minusiga, ikkinchisini tugma ulangan pin bilan ulang. Bu holda, pin raqami 2 . Shunday qilib, bu pinga mantiqiy 0 ni o‘rnatish kafolatlangan.
LED faqat tugma bosilganda o‘chadi va yonadi. Tugma qo‘yilganda, LED o‘chadi.
Sizga Arduino IDE kerak bo‘ladi, uni Arduino veb -saytidan yuklab olishingiz mumkin.
Ushbu model uchun quyidagi dasturni yozamiz:
-
Arduinoga o‘rnatilgan tugmachasi LED sxemasi quyidagicha ko‘rinadi:
// Ibroximova Sh 633-20
//
int qizil=13; int sariq=12; int yashil=11; int qizil_yolovchi=4; int yashil_yolovchi=3; int tugma=0;
void setup()
{
pinMode(qizil, OUTPUT); pinMode(sariq, OUTPUT); pinMode(yashil, OUTPUT); pinMode(qizil_yolovchi, OUTPUT); pinMode(yashil_yolovchi, OUTPUT); pinMode(1, INPUT);
}
void loop()
{ tugma=digitalRead(2); if(tugma==HIGH)
{ digitalWrite(sariq,HIGH); digitalWrite(qizil,LOW); digitalWrite(yashil,LOW); digitalWrite(qizil_yolovchi,HIGH); digitalWrite(yashil_yolovchi,LOW); delay(500);
digitalWrite(sariq,LOW); digitalWrite(qizil,HIGH); digitalWrite(yashil,LOW); digitalWrite(qizil_yolovchi,LOW); digitalWrite(yashil_yolovchi,HIGH);
delay(2000); }
else { digitalWrite(sariq,LOW); digitalWrite(qizil,LOW); digitalWrite(yashil,HIGH); digitalWrite(qizil_yolovchi,HIGH);
digitalWrite(yashil_yolovchi,LOW);
}
}
Dostları ilə paylaş: |