2-deadline
Amaliy mashg‘ulot №6
74NS595 suruvchi registr mikrosxemasini boshqarish.
74HC595, "shift register" deb nomlanuvchi qurilmalar oilasi ichida
joylashgan bir necha komponentlardan iborat mikrosxema (integrovan dastur).
Ushbu integratsiya oʻrnatilgan malumotlarni (bitlar) bir xil oʻzgaruvchilarni yirik
oʻzgaruvchiga koʻchirish (shift) va saqlashga (store) imkonini beradi.
74HC595 - 8-bit paralel-kichik bitni seriellash uchun qulay masofaviy
kommutatsiya qurilmasidir. U yoki daraxtga oʻxshab, unda 8 ta kiritilgan bitlar (0
yoki 1) qabul qilinadi va ulardan har biri oʻz joyiga koʻchiriladi. Bu, koʻp
koʻchiriladigan oʻzgaruvchi tizimlarini (multiplexing) amalga oshirish va bir qator
daqiqa (daqiqa) eslatmalarini bitta datadan tayyorlash uchun juda foydali.
74HC595 avvalgi maʼlumotni oʻchirib, yangi bitni kiriting va oʻzgaruvchini
yangi qiymatga oʻzgartirish uchun qulay boʻlgan imkoniyatlarga ega. Ushbu
funktsiyalar odatda birlamchi kontroller va elektronika tizimlari quriladigan
paytlarda yordam bermoqda.
1-rasm. 74HC595 shift register
Mikrokontrollerlar yoki boshqa dasturlash tizimlari bilan birgalikda 74HC595
foydalaniladi, ya'ni mikrokontrollerdan kelgan bitlarini 74HC595 integrovan
dasturiga yuborib, undan soʻng ularga kelgan bitlarni bir-biriga oʻtqazish yoki
oʻzgartirish imkoniyati mavjud boʻladi. Bu, boshqa qurilmalarni birlashtirish va
tizimni kengaytirish uchun qulay boʻladi.
// 74HC595 shift registri pinlari
const int dataPin = 9; // DS
const int latchPin = 10; // ST_CP
const int clockPin = 11; // SH_CP
// 7-segment uchun raqam kodlari (Common Cathode)
const byte digits[10] = {
0b00111111, // 0
0b00000110, // 1
0b01011011, // 2
0b01001111, // 3
0b01100110, // 4
0b01101101, // 5
0b01111101, // 6
0b00000111, // 7
0b01111111, // 8
0b01101111 // 9
};
void setup() {
pinMode(dataPin, OUTPUT);
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
}
void loop() {
for (int i = 0; i < 10; i++) {
showDigit(i); // Raqamni chiqarish
delay(1000); // 1 soniya kutish
}
}
void showDigit(int digit) {
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin, MSBFIRST, digits[digit]);
digitalWrite(latchPin, HIGH);
}
Amaliy mashg‘ulot №7
Pezonurlagich. Pezonurlagichni boshqarish: tonni o‘zgartirish, davomligini
o‘zgartirish.
"Pezonurlatgich" (inglizcha: Buzzer) elektronika va elektr energiyasi sohasida
ishlashni o‘rganayotganlar uchun o‘quv resurslari, darsliklar yoki dasturlar uchun
qo‘shimcha qurilmalardan biri bo‘lib, bu qurilma boshqa vositalar orqali berilgan
bilgilarni ovozli signalga aylantirish uchun ishlatiladi. Ushbu qurilma kichik bir
korpusga ega bo‘lib, ichida ovoz yaratish uchun zarur elementlar mavjud.
Asosan, pezonurlatgichning tuzilishi quyidagicha:
Elektromagnit: Bu qurilmaning asosiy qismi bo‘ladi. Uning ichida
elektromagnit (coil) joylashgan. Elektromagnitga elektr ta'sir qilganda, uning magnit
maydoni aktivlashadi va ovoz yaratadi.
Diapazon (Buzzer Head): Elektromagnitning pastki tomonida diapazon
joylashgan. Diapazon pastdan yuqoriga harakatlanishi bilan ovoz yaratiladi.
Qovun (Resonator): Qovun diapazonning yuqori tomoniga joylashgan. Bu
qism esa ovozni o‘tkazish uchun o‘rnak bo‘lib, uni to‘xtatadi.
Pezonurlatgichning ishlash tartibi quyidagicha:
Elektr quvvatni qurilma o‘zida bo‘lgan elektromagnitga yetkazamiz. Elektr
ta'sirganda elektromagnit aktivlashadi.
Aktivlashgan elektromagnitning magnit maydoni diapazonni o‘ziga tortadi.
Bu diapazon pastdan yuqoriga harakatlanadi.
2-rasm. Pezonurlatgich buzzer musiqa notasi.
Diapazon yuqoriga harakatlanish bilan qovunni bosib, ovoz yaratadi. Bu ovoz
yuqori chastotada bo‘lgan oddiy sinusoidal ovoz bo‘lishi mumkin.
#define BUZZER_PIN 10 // Пин для буззера
// Определяем ноты для мелодии "Happy Birthday"
#define NOTE_C4 262
#define NOTE_D4 294
#define NOTE_E4 330
#define NOTE_F4 349
#define NOTE_G4 392
#define NOTE_A4 440
#define NOTE_B4 494
#define NOTE_C5 523
// Мелодия Happy Birthday
int melody[] = {
NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_F4, NOTE_E4,
NOTE_C4, NOTE_C4, NOTE_D4, NOTE_C4, NOTE_G4, NOTE_F4,
NOTE_C4, NOTE_C4, NOTE_C5, NOTE_A4, NOTE_F4, NOTE_E4,
NOTE_D4,
NOTE_A4, NOTE_A4, NOTE_F4, NOTE_G4, NOTE_F4
};
// Длительности нот (четвертные, восьмые и т.д.)
int durations[] = {
250, 125, 500, 500, 500, 1000,
250, 125, 500, 500, 500, 1000,
250, 125, 500, 500, 500, 500, 1000,
250, 125, 500, 500, 1000
};
void playMelody() {
int size = sizeof(melody) / sizeof(melody[0]);
for (int i = 0; i < size; i++) {
tone(BUZZER_PIN, melody[i], durations[i]); // Воспроизводим ноту
delay(durations[i] + 50); // Добавляем небольшую паузу
noTone(BUZZER_PIN); // Останавливаем звук перед следующей нотой
}
}
void setup() {
pinMode(BUZZER_PIN, OUTPUT);
playMelody(); // Воспроизводим "Happy Birthday" один раз
}
void loop() {
delay(10000); // Пауза 10 секунд перед повторением
playMelody(); // Повторяем мелодию
}
Amaliy mashg‘ulot №8
Tranzistorlarning kuchaytirish xususiyatini namoyish etish. Releni transistor
orqali boshqarish.
Ma'lumki, biz hammamiz bir narsadan yaratilganmiz. Odamlar go‘sht, suv va
suyaklardan yasalgan. Va ba'zilari umuman boshqa materialdan iborat, shuning
uchun ular suvga cho‘kmaydi))). Bizning tranzistorimiz ham shunday - u ham
nimadandir. Lekin nimadan?
Hammangizga ma'lumki, materiallar o‘tkazgichlar va dielektriklarga
bo‘linadi, ular orasida yarimo‘tkazgichlar bor. Yana bir bor eslatib o‘tamanki,
o‘tkazgichlar elektr tokini mukammal o‘tkazadi, dielektrlar elektr tokini
o‘tkazmaydi, lekin yarimo‘tkazgichlar elektr tokini o‘tkazadi, lekin juda yomon.
"Va nima uchun bizga bu yarimo‘tkazgichli material kerak?" - deb so‘raysiz.
Materialning o‘zi amaliy nuqtai nazardan yarimo‘tkazgichdir, hech qanday qiziqish
uyg‘otmaydi, lekin siz unga davriy jadvaldagi ba'zi elementlarning kichik qismini
ilmiy jihatdan "ishga tushirganingizda" qo‘shsangiz, biz yarimo‘tkazgichli
materialni olamiz, lekin juda g‘alati xususiyatlar.
Transistor - bu elektronik qurilmalar dunyosida ahamiyatga ega bo‘lgan,
signalni boshqa bir qurilmaga o‘tkazish va boshqa funksiyalarni bajarish uchun
ishlatiladigan komponent. Transistor elektr energiyasini boshqa energiya shakllariga
o‘g‘irtirish va amplifikatsiya qilish, tizimlarni boshqarish, mantiqiy operatsiyalar
bajarish va boshqalar kabi vazifalarni bajarishda qo‘llaniladi.
3-rasm. Transistor
Transistorlar shu yergacha elektronikda katta o‘zgarishlarni olib kelganlar,
zira ular bir necha muhim xususiyatlarga ega:
Amplifikatsiya: Transistorlar o‘sish ko‘rsatkichini o‘zgartirish orqali kirish
signalini kattalashtirish imkonini beradi. Bunda, kichik kirish signalini katta
chiquvchi chiquvchi signalga aylantirish uchun o‘rtacha ishlov beradi.
Arduino, o‘zgaruvchan yorug‘lik va dastlabki texnik yaratish uchun juda
mashhur bo‘lgan o‘rnatilgan o‘qish-yozish platformasidir. Transistorlar, Arduino
dasturini amalga oshirishda kuchli algoritmik funksiyalarni o‘rnatish va boshqarish
uchun foydalaniladigan qurilmalardan biridir.
Potensiometrni aylantirish orqali yorug‘lik miqdorini o‘zgartiring.
Potensiometrni aylantirish esa elektr yorug‘ligini o‘zgartirishga olib keladi.
Ushbu misol, elektr yorug‘ligini boshqarishni aylanish bilan bog‘liq
prinsiplarni tushunishga yordam beradi. Potensiometro‘zgaruvchan rezistor sifatida
yorug‘lik miqdorini o‘zgartirish imkonini beradi.
Elektromagnit releni asosan boshqariladigan mexanik kalitdir: unga oqim
qo‘llaniladi - u kontaktlarni yopadi, agar oqim olib tashlansa, u ochiladi. Kontaktlar
shunchaki kontaktlar: bir -biriga bosilgan metall "nikellar". Shuning uchun bunday
releni doimiy va o‘zgaruvchan yuklarni boshqarishi mumkin.
4-rasm. Rele turlari
"Rele" atamasi elektr enerjisi orqali boshqa qurilmalarga elektr energiyasini
o‘tkazuvchi qurilma turlaridan birini anglatadi.
Termik Rele: Temperaturani boshqa o‘lcham qurilmalarda o‘zgartirilganda
ishlaydigan rele. Agar qurilma o‘z harorati kattaroq yoki kichraygan bo‘lsa, termik
rele avtomatik ravishda bajariladigan elektr energiyasini to‘xtatadi. Bu tur relelar
ko‘plab soha uchun ishlatiladi, masalan, elektr stansiyalarida, ishlab chiqarish
sohalari, bino va uy javobgarligini ta'minlash uchun.
Davriy Rele: Belgilangan vaqt davrida ishlaydigan rele. Bu relelar amalga
oshiruvchi qurilmalar yoki tizimlarda belgilangan vaqtda bajarilishi lozim bo‘lgan
amallarni bajarish uchun ishlatiladi.
Difavtomat Rele: Elektro‘qituvchi va qurilma muhofazasini birlashtirgan
qurilma. Agar elektr energiyasining oqimi normaldan oshib ketgan bo‘lsa yoki
qurilma orqali o‘tkazuvchi energiya miqdori kuchayib ketgan bo‘lsa, difavtomat rele
qurilmani to‘xtatib, muhofazani ta'minlaydi.
Differentsial Rele: Bir qurilma taraqqiyotiga nisbatan boshqa qurilma bilan
farqni aniqlashda ishlatiladi. Agar o‘zaro bog‘langan qurilma taraqqiyoti farqda
bo‘lsa (masalan, to‘xtashga sabab bo‘lgan qismlaridan biri qurilma yonida
qo‘ng‘iroq bo‘lsa), differentsial rele bu farqni aniqlaydi va qurilmani to‘xtatadi.
Avtomatik Rele: Belgilangan shartlar bajarilganida avtomatik ravishda
ishlaydigan rele. Bu tur relelar o‘z-o‘zini boshqa xolatlarga moslashtirish uchun juda
qulaydir.
Elektr relesi: Bunday releslar boshqa elektr qurilmalarini ishga tushirish yoki
o‘chirish maqsadida ishlatiladi. Masalan, bir knopka bosilganda yoki sensorlar bilan
algan ma'lumotga asoslanib, elektriyalarni yo‘qotib qo‘ya oladigan releslar
ishlatiladi.
Temperatur reles: Haroratni kuzatib boruvchi tizimlar uchun ishlatiladi.
Masalan, bir xonadonda suvning yuqori harorati bo‘lsa, reles tizimni to‘xtatab
qo‘yishi mumkin.
Relelar o‘zgaruvchan ma'lumot yoki holatlarga asoslangan holda ishlaydigan
vositalardir. Ular elektr tezligini o‘zgartirish va tizimlarni boshqarishda muhim rol
o‘ynaydilar.
5-rasm. Arduino rele
int WATERPUMP = 13; //motor pump connected to pin 13
int sensor = 8; //sensor digital pin vonnected to pin 8
int val; //This variable stores the value received from Soil moisture sensor.
void setup() {
pinMode(13,OUTPUT); //Set pin 13 as OUTPUT pin
pinMode(8,INPUT); //Set pin 8 as input pin, to receive data from Soil moisture
sensor.
//Initialize serial and wait for port to open:
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
while (! Serial);// wait for serial port to connect. Needed for native USB
Serial.println("Speed 0 to 255");
}
void loop()
{
if (Serial.available()) //loop to operate motor
{
int speed = Serial.parseInt(); // to read the number entered as text in the Serial
Monitor
if (speed >= 0 && speed <= 255)
{
analogWrite(WATERPUMP, speed);// tuns on the motor at specified speed
}
}
val = digitalRead(8); //Read data from soil moisture sensor
if(val == LOW)
{
digitalWrite(13,LOW); //if soil moisture sensor provides LOW value send LOW
value to motor pump and motor pump goes off
}
else
{
digitalWrite(13,HIGH); //if soil moisture sensor provides HIGH value send HIGH
value to motor pump and motor pump get on
}
delay(400); //Wait for few second and then continue the loop.
}
Amaliy mashg‘ulot №9
Fotoqarshilik. Yorug‘lik diodlarini yoqish yoki o‘chirish orqali yorug‘lik
darajasini ihslov berish.
Yarimo‘tkazgichli materiallar ko‘plab qiziqarli xususiyatlarga ega. Ulardan
biri yorug‘lik ta'siri ostida qarshilikningo‘zgarishi. Yarimo‘tkazgich elementlarining
elektr qarshiligi fotorezistorlar deb ataladigan qurilmalarda qo‘llaniladi. Yorug‘lik
oqimlari yordamida yarimo‘tkazgichli qurilmalarning ichki qarshiligini boshqarish
eskirgan dizaynlarda, kamdan - kam hollarda zamonaviy elektrotexnikada
qo‘llanilgan.
Fotorezistor, boshqaruvchi material (silikon yoki karborundum kabi) asosida
ishlab chiqiladi va elektronik komponentlarning bir xil turi sifatida qamrab oladi.
Fotorezistorning tarkibi quyidagicha:
Boshqaruvchi material: Fotorezistorning asosiy qismi boshqaruvchi
materialdir. U bu komponentning fotosensitivlik va elektrik o‘tkazish qobiliyatini
ta'minlaydi. Material turi (boshqaruvchi elementning kimyoviy turi) va tuzilishi
tizimga yorug‘likning ta'siri bilan qanday munosabatda bo‘lishini belgilaydi.
Elektr aralashma (lead): Fotorezistorning elektr aralashmasi, uning tizim
bilan bog‘lanishini ta'minlaydi. Bunda fotografik materialga olib kelgan elektr oqim
yorug‘lik ta'siri bilan o‘zgaradi. Uning ikki tomondagi uchqunlar bog‘lanib,
tizimning yorug‘lik miqdorini o‘lchashda yordam beradi.
Korpus (qutisi): Fotorezistor korpusi, uning yorug‘lik va boshqa
xavfsizliklarga qarshi himoyalashga yordam beradi. Bunda korpus materiali elektrik
nisbatan izolatsiya qilishi va boshqa zarur muhimiylatlarni ta'minlash maqsadida
ishlatiladi.
Qo‘shimcha komponentlar: Fotorezistorlarning qo‘shimcha komponentlari
bo‘lishi mumkin, masalan, boshqaruvchi elektron qurilmalar, aloqa
boshqaruvchilari, izolyatorlar va boshqa qo‘shimcha materiallar. Bu komponentlar
asosiy tarkibni to‘liqlaydi va tizimga moslashtirishda yordam beradi.
Tarkibdagi boshqaruvchi materialning kimyoviy xususiyatlari va tuzilishi
fotorezistorning faoliyati va fotosensitivligini belgilaydi. Fotorezistorlar
yorug‘likning ta'siri bilan elektriko‘tkazish qobiliyatio‘zgaradi, bu esa ularni
yorug‘liknio‘lchash va boshqarish uchun juda foydali qiladi.
Yarimo‘tkazgichli rezistor yorug‘lik kuchiga qarab elektr tokining
parametrlarinio‘zgartirishi mumkin. Bu xususiyat ko‘pincha amaliyotda radiatsiya
oqimi bilan boshqariladigan qurilmalarni yaratish uchun ishlatiladi. Bugungi kunda
sanoat bozorga turli xil xususiyatlarga ega fotorezistorlar etkazib beradi, ya'ni ular
hali ham zamonaviy elektr qurilmalarida ishlatiladi.
Fotorezistor - bu yarimo‘tkazgichli qurilma (datchik), yorug‘lik ta'sirida uning
ichki qarshiliginio‘zgartiradi (kamaytiradi).
Boshqa turdagi fotosellardan (fotodiodlar va fototransistorlar) farqli o‘laroq,
bu qurilmada pn birikmasi yo‘q. Bu shuni anglatadiki, fotorezistor oqimni uning
yo‘nalishidan qat'i nazar o‘tkazishi mumkin va u faqat doimiy kuchlanish mavjud
bo‘lgan doimiy oqim davrlarida emas, balki o‘zgaruvchan toklar bilan ham ishlashi
mumkin.
6-rasm. Fotoqarshilik turlanishi
Kesilgan qatlamlar elektrodlarga ulanadi, ularga elektr toki beriladi. Bu butun
struktura ko‘pincha shaffof plastmassa bilan qoplangan va yorug‘lik nurlari kirishi
uchun oynasi bo‘lgan qutiga joylashtirilgan.
int LDRPin = A0;
int LEDPin = 13;
int LDRValue = 0;
// LDR sensorini o'qish uchun analog pin
// LEDni boshqarish uchun raqamli pin
// LDR dan olingan qiymat
void setup() {
pinMode(LEDPin, OUTPUT); // LED pinini chiqish sifatida o'rnatish
Serial.begin(9600);
// Serial monitorni ishga tushirish
}
void loop() {
LDRValue = analogRead(LDRPin); // LDR qiymatini o'qish
// Soya bo'lsa, LEDni yoqish
// Yorug'lik past bo'lsa (LDR qiymati kichik bo'lsa), LEDni yoqish
if (LDRValue < 500) {
// LDR qiymati kichik bo'lsa (soya)
digitalWrite(LEDPin, HIGH); // LEDni yoqish
} else {
// Yorug'lik bo'lsa
digitalWrite(LEDPin, LOW); // LEDni o'chirish
}
// LDR qiymatini serial monitor orqali chiqarish (tahlil qilish uchun)
Serial.println(LDRValue);
delay(100); // Har 100 msda LDRni qayta o'qish
}
Amaliy mashg‘ulot №10
Harorat datchiklari ishlash tamoyillarini o‘rganish va ularni ishlatishga
misollar.
LM335 temperaturani o‘lchash uchun ishlatiladigan bir sensor bo‘lib, analog
temperaturani analog voltajga aylantiradi. Bu sensor "precision temperature sensor"
deb nomlanadi va o‘rtacha ishlab chiqarish harorati 0°C dan 100°C gacha bo‘ladi.
Quyidagi ma'lumotlar LM335 temperaturasi datchigi haqida yordam berishi
mumkin:
Ishtirok etayotgan elementlar: LM335 temperaturasi datchigi silikon asosida
yaratilgan, bu sababli uning ishlab chiqarish harorati silikon elementining
temperaturasi bo‘lgan 0°C dan 100°C gacha ishlab chiqariladi.
Ishlab chiqarish harorati: LM335 datchigi ishlab chiqarish harorati 2.92
mV/°C hisobida ishlaydi. Bu demak, temperaturaning har bir gradusi
uchuno‘zgartirilgan voltaj 2.92 mV bo‘ladi.
Tashqi komponentlar: LM335 temperaturasi datchigi bilan birlashganida,
datchi uchun tashqi resistorlar va tashqi murojaat ta'sir etishlari dastlabki
kalibratsiyadano‘tkazilishi kerak bo‘ladi.
Tashqi ta'sir etishlar: Tashqi harorat, masofaviy elektrik ta'sir etishlar va
boshqa tashqi sharoitlar datchining ishlashiga ta'sir etishi mumkin. Bu sababli,
o‘rnimizda datchining boshqa komponentlaridan kelib chiqadigan ta'sir etishlarni
qisqartirish uchun qo‘shimcha loyihalar va qisqa skhemalar kerak bo‘ladi.
7-rasm LM335 temperaturasi datchigi
#define TEMP_PIN A0
// TMP36 подключен к аналоговому входу A0
#define RED_LED 12
// Красный светодиод
#define GREEN_LED 8
// Зелёный светодиод
#define RED_LED 6 // Красный светодиод
void setup() {
Serial.begin(9600);
pinMode(RED_LED, OUTPUT);
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
}
void loop() {
int analogValue = analogRead(TEMP_PIN);
float voltage = analogValue * (5.0 / 1023.0);
float temperatureC = (voltage - 0.5) * 100;
Serial.print("Температура: ");
Serial.print(temperatureC);
Serial.println(" C");
if (temperatureC >= 20 && temperatureC <= 40) {
// Нормальная температура — зелёный светодиод
digitalWrite(GREEN_LED, HIGH);
digitalWrite(RED_LED, LOW);
digitalWrite(RED_LED, LOW);
}
else if (temperatureC > 40) {
// Жарко — включить буззер
digitalWrite(GREEN_LED, LOW);
digitalWrite(RED_LED, LOW);
digitalWrite(RED_LED, HIGH);
}
else if (temperatureC < 20) {
// Холодно — красный светодиод
digitalWrite(GREEN_LED, LOW);
digitalWrite(RED_LED, HIGH);
digitalWrite(RED_LED, LOW);
}
delay(2000); // Задержка 2 секунды между измерениями
}
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )