4-Laboratoriya mashg’uloti


Download 0.58 Mb.
bet2/3
Sana16.06.2023
Hajmi0.58 Mb.
#1510115
1   2   3
Bog'liq
4-Laboratoriya ishi O'rnatilgan tizimlar

Hisobot mazmuni


  1. Laboratoriya ishi mavzusi va ishdan maqsad.

  2. Mashg’ulot bo’yicha nazariy bilim va ko’nikmalar.

  3. Topshiriq bo’yicha berilgan sxema ko’rinishi va dasturini elektron shaklda tayyorlang va xisobotga kiriting.

  4. Dastur natijasini kiriting.

Nazorat savollari


    1. Registrni tushuntiring?

    2. LED matritsasini tushuntiring?

    3. 8x8 LED matritsasi nima maqsadlarda qullaniladi?

4.1-Laboratoriya mashg’uloti


Pezonurlatgich. Pezonurlatgichni boshqarish: tonni o’zgartirish, davomiyligini o’zgartirish
Ishdan maqsad: Pezonurlatgich yordamida Arduino -da tovushlarni hosil qilish va ularni boshqarish dasturlarini yozish bilan tanishish. Kerakli komponentlar:
Arduino UNO R3 platformasi;

Breadboa rd; pezonurla tgich; 100 Ohm qarshilik; Ulash simlari.


Tovush hosil qilishning eng oddiy usuli pezonurlatgichdan foydalanishdir. Piezokeramik emitentlar (pezonurlatgich) – teskari piezoelektrik ta'sir yordamida elektroakustik tovush chiqaruvchi qurilmalari- elektr maydon ta'siri ostida mexanik deformatsiyalarning paydo bo'ladi.

Pezonurlatgichlar turli xil qurilmalarda yani –soat qung’irogida, telefonda, har xil ovoz chiqaruvchi uyinchoqlarida va h. Pezonurlatgichni tashqi ko’rinishi 11.1- rasmda keltirilgan.


11.1-rasm. Pezonurlatgichni tashqi ko’rinishi Pezonurlatgich odatda oddiy ovozli ogohlantirish uchun ishlatiladi.


Agar siz ohangni o’zgartirmoqchi bo’lsangiz, unda ichki generatorsiz
piezo ajratgichdan foydalaning va alohida signal hosil qiling. Tajribada biz ichki generatorsiz pezonurlatgichni ishlatamiz. Pezonurlatgichning Arduino UNO ga ulanish sxemasi 11.2-rasmda ko'rsatilgan.





      1. 2-rasm. Pezonurlatgichning Arduino UNO ga ulanish sxemasi

Musiqani ijro etish uchun ma'lum bir chastota va uzunlikdagi tovushlarni ketma-ket etkazib berish kerak. Muayyan chastota va uzunlikdagi tovushlarni hosil qilish uchun Arduino-tone () funktsiyasidan foydalanamiz: one(pin,frequency, duration); Tone funktsiyasi () chiqish vaqtida berilgan chastotaning to'rtburchaklar signalini hosil qiladi (50% to'ldirish nisbati bilan). Funktsiya, shuningdek, signal vaqtini belgilash imkonini beradi. Agar signal muddati aniqlanmagan bo'lsa, u "not one" () funksiyasi chaqirilgunga
qadar ishlab chiqariladi. Birinchi va ikkinchi oktav yozuvlari uchun chastotalar qiymatlari 11.1- jadvalda keltirilgan.


11.3-rasm. Imperial marshning bir qismi


Eslatma belgisi bilan ma'lumotlar notes [] qatoriga kiritiladi va tegishli eslatmalar uchun chastota ma'lumotlari chastota diapazoniga kiritiladi[].Sketchning mazmuni 11.1 ro'yxatida keltirilgan.
// МЕЛОДИЯ – massiv eslatmalar va massiv davomiyligi char melody[]={'G','G','G','E','H',
'G','E','H','G','*',
'd','d','d','e','H',
'T','E','H','F', 'g','G','G','g','t','e',
's','s','s','*','U','r','c','B',
'H','A','H','*','E','T','E','F', 'H','G','H','d', 'g','G','G','g','t','f',
's','s','s','*','U','r','c','B',
'H','A','H','*','E','T','E','H', 'G','E',
'H','G',
'%','%'
}; int
bb[]=
{8,8,8
,6,2,
8,6,2,8,8,
8,8,8,6,2,
8,6,2,16,
8,6,2,8,6,2,
2,2,4,4,2,8,6,2,
2,2,4,4,2,8,6,2,
8,6,2,16,
8,6,2,8,6,2,
2,2,4,4,2,8,6,2,
2,2,4,4,2,8,6,2,
8,6,2,16,
64,64};
// pezonurlatgichni 8 piniga ulang int speakerPin = 8;
// ijro etish tezligi, eslatmalar, davomiyligi int tempo,notes,beats; // eslatmani yo'qotish tartibi void playNote(char note, int duration)
{
// ikki oktavdagi eslatmalar nomlari uchun qator char names[]={'c','r','d','s','e','f','t','g','u','a','b',
'h','C','R','D','S','E','F','T','G','U','A','B', 'H','F'};
// eslatmalar qator int tones[]={261,277,293,311,329,349,370,392,415
,440,466,
494, 523,554,587,622,659,698,740,784,830,880,932,988};
// eslatmaga mos keladigan ohangni yo'qotish for (int i = 0; i < sizeof(tones); i++)
{
if (names[i] == note)
{
tone(speakerPin,tones[i],duration);
}
}
}
v o i d s e t u p (
)
{
pinMode(speakerPin, OUTPUT); tempo=50; // musiqani ijro etish tezligi
}
v o i d l o o p (
)
{
for(int i=0;i{
notes=melody[i]; beats=bb[i]; if (notes == '*') tone(speakerPin,0, beats*tempo); // pauza qilish else playNote(notes, beats*tempo);
// eslatmalar orasidagi pauza
delay(beats*tempo+tempo);
}
}

Download 0.58 Mb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling