Yetti segmentli bitta raqamli ko‘rsatkich


Download 1.18 Mb.
bet2/6
Sana18.06.2023
Hajmi1.18 Mb.
#1559573
1   2   3   4   5   6
Bog'liq
Tirkashev Xojiakbar

Arduino MK yordamida indikatorda raqamlarni ko‘rsatish
Laboratoriya ishining maqsadi: Har xil loyihalarda Arduino yordamida yetti segmentli bitta raqamli indikatorda raqamlarni ko‘rsatish.

Laboratoriyaning nazariy qismi.


Yetti segmentli indikator - ma'lum ma'lumotlarni raqamli shaklda ko‘rsatish uchun mo‘ljallangan qurilma. Harflar uchun yanada murakkab qurilmalar ishlatiladi, masalan, matritsa yoki ko‘p segmentli. Yetti segment turi segmentlar deb nomlangan yettita alohida elementdan iborat. Ularni yoqish va o‘chirishni sozlash orqali raqam tasviri tuziladi. Nuqtani ko‘rsatish uchun raqamlarni burish mumkin.

Ular qanday ishlaydi


Oddiy LED displeyda to‘qqizta chiziq bor: biri barcha segmentlarning katodlariga, ikkinchisi esa har bir segmentning anodiga o‘tadi. Bu zanjir "umumiy katod zanjiri" deb nomlanadi, umumiy anodli zanjirlar ham bor (u holda buning aksi to‘g‘ri). Ko‘pincha bazaning turli uchlarida bitta emas, balki ikkita umumiy xulosa chiqariladi - bu o‘lchamlarni oshirmasdan simni osonlashtiradi. "Umumjahon" deb ataladiganlar ham bor, lekin men shaxsan men bunaqasini uchratmaganman. Bundan tashqari, o‘rnatilgan smenali registrga ega ko‘rsatkichlar mavjud, buning natijasida mikrokontroller portlarining ishlatilgan pinlari soni ancha kamayadi, lekin ular ancha qimmat va amalda kamdan-kam qo‘llaniladi. Va cheksizlikni tushunish imkonsiz bo‘lgani uchun, biz hozircha bunday ko‘rsatkichlarni ko‘rib chiqmaymiz (shuningdek, segmentlar soni ancha ko‘p bo‘lgan ko‘rsatkichlar ham bor, matritsa).
Ushbu tajribada biz Arduino raqamlarni vizualizatsiya qilish imkonini beradigan yetti segmentli LED bilan ishlashni ko‘rib chiqamiz.
Modelni yig‘ish uchun bizga quyidagilar kerak:

  • Arduino UNO R3 platasi;

  • prototip yaratish uchun panel;

  • bir xonali yetti segmentli ko‘rsatkich qurilmasi;

  • 510 Om qarshilik - 7 dona;

  • papa-papa simlari.

Yetti segmentli LED indikatori ma'lum tartibda joylashtirilgan va tizimli ravishda birlashtirilgan LEDlar guruhidir. LED kontaktlari a dan g gacha bo‘lgan belgilar bilan belgilanadi (va qo‘shimcha ravishda dp - kasr nuqtasini ko‘rsatish uchun) va bitta umumiy terminal, indikatorli ulanish turini aniqlaydi (umumiy anodli OA yoki umumiy katodli OK). Bir vaqtning o‘zida bir nechta LEDni yoqib, indikatorda raqamli belgilarni shakllantirish mumkin. Bir xonali yetti segmentli indikatorning diagrammasi rasmda ko‘rsatilgan.

#define A 8


#define B 7
#define C 6
#define D 5
#define E 4
#define F 3
#define G 2
#define BUTTON 12 byte v = 0;
void setup() {
pinMode(A, OUTPUT); pinMode(B, OUTPUT); pinMode(C, OUTPUT); pinMode(D, OUTPUT); pinMode(E, OUTPUT); pinMode(F, OUTPUT); pinMode(G, OUTPUT); pinMode(BUTTON, INPUT);
}

void loop() {


digitalWrite(A, HIGH); //nol raqami digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, HIGH); digitalWrite(E, HIGH); digitalWrite(F, HIGH); digitalWrite(G, LOW);
if (digitalRead(BUTTON) == HIGH) { delay(500); v = 1; }

while (v == 1) {


digitalWrite(A, LOW); //bir raqami digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, LOW); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, LOW);
if (digitalRead(BUTTON) == HIGH) { delay(500); v = 2; }
}
while (v == 2) {
digitalWrite(A, HIGH); //ikki raqami digitalWrite(B, HIGH); digitalWrite(C, LOW); digitalWrite(D, HIGH); digitalWrite(E, HIGH); digitalWrite(F, LOW); digitalWrite(G, HIGH);
if (digitalRead(BUTTON) == HIGH) { delay(500); v = 3; }
}
while (v == 3) {
digitalWrite(A, HIGH); //uch raqami digitalWrite(B, HIGH); digitalWrite(C, HIGH); digitalWrite(D, HIGH); digitalWrite(E, LOW); digitalWrite(F, LOW); digitalWrite(G, HIGH);
if (digitalRead(BUTTON) == HIGH) { delay(500); v = 0; }
}
}

Download 1.18 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




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