Ta yetti segmentli indikatordan tashkil topgan razryadli matrisa. Dinamik aks ettirishni amalga oshirish (Arduinoda). Ishdan maqsad


Download 0.5 Mb.
bet1/2
Sana18.06.2023
Hajmi0.5 Mb.
#1586328
  1   2
Bog'liq
8-lab


LABORATORIYA ISHI №8
8- Mavzu: 7 ta yetti segmentli indikatordan tashkil topgan 4 razryadli matrisa. Dinamik aks ettirishni amalga oshirish (Arduinoda).
Ishdan maqsad. Bir razryadli yyetti segmentli yorug‘lik diodili indikatorning ishlashini kо‘rib chiqish va Arduino ga raqamlarni kо‘rsatishni ta’minlash imkonini yaratish ko‘nikmasini hosil qilish.
Kerakli elementlar:

Yorug‘lik diodili yyetti 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 yettirish 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 yyetti segmentli indikator sxemasi birinchi chizmada berilgan.
Bir razryadli yyetti 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 yyetti segmentli indikatorni OK umumiy katodli ulanishi ishlatiladi, umumiy sim yerga ulanadi. Bir razryadli yyetti segmentli indikatorni Arduino platasiga ulanishi quyidagi chizmada keltirilgan.

8.1- rasm. Bir razryadli yyetti segmentli indikator sxemasi

8.2- rasm. Yyetti segmentli indikatorni Arduino ga ulanish sxemasi
Yyetti segmentli indikatorga siklik ravishda 0 dan 9 gachan bо‘lgan sonlarni 1 sekunddan sukut saqlab chiqaramiz. 0 – 9 gachan bо‘lgan raqamlar qiymatiga massv 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
// a– g razryadlariga ulanish uchun Arduino ning oyoqchalar rо‘yxati
// yyetti 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(1000);
number=(number+1)110; } // yyetti 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); } }
// a– g razryadlariga ulanish uchun Arduino ning oyoqchalar rо‘yxati
// yyetti 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(1000); number=(number+1)110; } // yyetti 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); } }

Download 0.5 Mb.

Do'stlaringiz bilan baham:
  1   2




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