11-Laboratoriya ishi
Mavzu: Bir razryadli yetti segmentli indikator. Arduino MK orqali
raqamlarni indikatorga chiqarish
Laboratoriya ishining maqsadi.
Bu amaliy ishda bir razryadli yetti segmentli yorug‘lik diodili indikatorning
ishlashini kо‘rib
chiqamiz, u Arduino ga raqamlarni kо‘rsatishni ta’minlash
imkonini yaratadi.
Kerakli elementlar:
➢ ArduinoUNO kontrolleri;
➢ sxema yig‘ish uchun plata;
➢ bir razryadli yetti segmentli indikator;
➢ qarshilik 510 Om - 7 shtuk;
➢ ikki uchida razyomlari bо‘lgan simlar.
Yorug‘lik diodili yetti segmentli indikator guruh yorug‘lik diodlaridan iborat
bо‘lib, ma’lum tartibda joylashgan va konstruktiv jihatdan bilashtirilgan. Yorug‘lik
diodining ulanish nuqtalari a dan g harflarigacha rusumlangan (va qо‘shimcha dp
harflari bilan belgilangan, ular о‘nlik nuqtalarni aks ettirish uchun)
va bitta umumiy
chiqish, u indikator ulanish turini aniqlaydi (OA umumiy anodli ulanish yoki OK
umumiy katodli ulanish). Bir necha yorug‘lik diodlarni bir vaqtda yoqib indikatorda
raqamlarni hosil qilish mumkin. Bir razryadli yetti segmentli indikator sxemasi 6.1
chizmada berilgan.
Bir razryadli yetti segmentli yorug‘lik diodidagi indikatorni Arduino ga ulash
uchun 7 ta raqamli oyoqchalarni
ishlatiladi, indikatorning a –
g ulanish
nuqtalarining har biri 470 Om qiymatli cheklovchi qarshilik orqali Arduino ning
oyoqchalariga ulanadi. Amaliy ishda yetti segmentli indikatorni OK umumiy katodli
ulanishi ishlatiladi, umumiy sim yerga ulanadi. Bir razryadli yetti segmentli
indikatorni Arduino platasiga ulanishi 6.2 chizmada keltirilgan.
6.1 chizma. Bir razryadli yetti segmentli indikator
sxemasi
6.2 chizma. Yetti segmentli indikatorni Arduino ga ulanish sxemasi
Sketchni yozishga kirishiladi. Yetti segmentli indikatorga siklik ravishda 0
dan 9 gacha bо‘lgan sonlarni 1 sekunddan sukut saqlab chiqaramiz. 0 – 9
gacha
bо‘lgan raqamlar qiymatiga massiv hosil qilinadi,
baytning katta razryadi
indikatorning a segmentiga mos keladi, kichigi esa – g segmentga mos tushadi.
byte numbers[10] = { B11111100, B01100000, B11011010, V11110010,
B01100110, B10110110, B10111110, B11100000, B11111110, B11110110};
Raqamning qiymatini Arduino chiqishlariga chiqarishda qiymatni о‘zgartirish
uchun tilning bitli operatsiyalarini ishlatiladi.
Arduino:
bitRead(x,n); // x baytni n razryadning qiymatini hosil qilish
6.1 listingda amaliy ish sketchi havola qilingan.
6.1 listing
// a– g razryadlariga ulanish uchun Arduino ning oyoqchalar rо‘yxati
// yetti segmentli indikatorni
intpins[7]={2,3,4,5,6,7,8};
// 0 – 9 gacha bо‘lgan sonlarni chiqarish uchun qiymat
byte numbers[10] = { V11111100, V01100000, B11011010, B11110010,
B01100110, B10110110, B10111110, B11100000, B11111110, B11100110};
// hozirdagi raqam qiymatini saqlash uchun о‘zgaruvchi
mtnumber=0;
voidsetup()
{
// ulanish nuqtalarini chiqishlar kabi о‘zgartirish
for (inti=0;i<7;i++)
pinMode(pins[i],OUTPUT);
}
void loop()
{
showNumber(number);
delay(lOOO);
number=(number+1)110;
}
// yetti segmentli indikatorga sonlarni chiqarish funksiyasi
void showNumber(int num)
{
for (int i=0;i<7;i++)
{
if(bitRead(numbers[num],7-i)—HIGH) //
segmentni yoqish
digitalWrite(pins[i],HIGH);
else // segmentni о‘chirish
digitalWrite(pins[i],LOW);
}
}
Ulanish tartibi:
1. 6.2 chizmada kо‘rsatilgan sxema bо‘yicha yetti segmentli indikatorni ulash.
2. 6.1 listingda keltirilgan sketchni Arduino platasiga yuklash.
3. Yetti segmentli indikatorli ekranga sonlarni chiqarilishini kuzatish.