O‘ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT
AXBOROT TEXNOLOGIYALARI UNIVERSITETI
SAMARQAND FILIALI
“KOMPYUTER INJINIRINGI” FAKULTETI
“O’rnatilgan tizimlar” fanidan
3- LABORATORIYA ISHI
Fan o‘qituvchisi: Mirsaidov B.
Talaba: Nabiyev R.
S a m a r q a n d _ 2023
Laboratoriya ishini bajarish uchun topshiriq:
Laboratoriya ishini bajarish uchun topshiriq:
Arduino platasi va 7 segmentli LED displey yordamida oddiy sxemani yarating. LED displeyda 0 dan 9 gacha sanash raqamini ko'rsatadigan dastur yozing.
Laboratoriya topshirig’ini bajarish uchun tikercad.com sayitidan foydalandim.
Dastur kodi:
// Ba'zi ko'rsatmalarni Arduino pinlari bilan o'zgartirish uchun quyidagi ma'lumotlarni o'zgartiring:
const int aPin = 2;
const int bPin = 3;
const int cPin = 4;
const int dPin = 5;
const int ePin = 6;
const int fPin = 7;
const int gPin = 8;
// Ko'rsatuvchi raqamlarni ko'rsatadigan ma'lumotlarni saqlash uchun massiv
int digits[10][7] = {
{1, 1, 1, 1, 1, 1, 0}, // 0
{0, 1, 1, 0, 0, 0, 0}, // 1
{1, 1, 0, 1, 1, 0, 1}, // 2
{1, 1, 1, 1, 0, 0, 1}, // 3
{0, 1, 1, 0, 0, 1, 1}, // 4
{1, 0, 1, 1, 0, 1, 1}, // 5
{1, 0, 1, 1, 1, 1, 1}, // 6
{1, 1, 1, 0, 0, 0, 0}, // 7
{1, 1, 1, 1, 1, 1, 1}, // 8
{1, 1, 1, 1, 0, 1, 1} // 9
};
void setup() {
// Arduino pinlari ko'rsatuvchilar sifatida sozlanadi
pinMode(aPin, OUTPUT);
pinMode(bPin, OUTPUT);
pinMode(cPin, OUTPUT);
pinMode(dPin, OUTPUT);
pinMode(ePin, OUTPUT);
pinMode(fPin, OUTPUT);
pinMode(gPin, OUTPUT);
}
void loop() {
// 0 dan 9 gacha raqamlarni ko'rsatish
for (int i = 0; i < 10; i++) {
showDigit(i);
delay(1000); // Har bir raqamni 1 sekundgacha ko'rsatamiz
}
}
// Berilgan raqamni 7-segmentli displeyga ko'rsatuvchi funksiya
void showDigit(int digit) {
// Raqamni ma'lumot massivdan olish
int *segments = digits[digit];
// Arduinoning ko'rsatuvchi pinlarini sozlash
digitalWrite(aPin, segments[0]);
digitalWrite(bPin, segments[1]);
digitalWrite(cPin, segments[2]);
digitalWrite(dPin, segments[3]);
digitalWrite(ePin, segments[4]);
digitalWrite(fPin, segments[5]);
digitalWrite(gPin, segments[6]);
}
Natija:
|