• Kerakli komponentlar
  • 7 – Laboratoriya mashg’uloti Bir razryadli yetti segmentli indikator. Arduino mk orqali raqamlarni indikatorga chiqarish Ishdan maqsad




    Download 375.04 Kb.
    Sana10.05.2022
    Hajmi375.04 Kb.
    #20787
    Bog'liq
    Azizbek Yusupov O\'T 7-labaratoriya
    TTDi, Toldiruvchi, Hol, 6-mavzu, Doc2, 8, O’qish fanidan test savollari (4-sinf) I chorak Soliyeva M, Qurbonov Bahrom 1-mustaqil ishi



    7 – Laboratoriya mashg’uloti
    Bir razryadli yetti segmentli indikator. Arduino MK orqali raqamlarni indikatorga chiqarish
    Ishdan maqsad: Arduino platformasida raqamlarni namoyish qilish uchun
    7-segmentli displeyni ishlash imkoniyatini o’rganish.
    Kerakli komponentlar:
    Arduino UNO platformasi;
    • kompanentlarni ulash uchun taxta;
    • bir xonali etti segmentli displey;
    • 510 Ohm qarshilik - 7 dona;
    • Ulovchi simlar.
    Yetti segmentli displey ma'lum bir tartibda joylashtirilgan va tizimli ravishda birlashtirilgan displeylar guruhidir. Displey kontaktlari a dan g gacha bo'lgan belgilar bilan belgilanadi (va qo'shimcha ravishda dp - o'nli kasrni ko'rsatish uchun) va indikator ulanish turini aniqlaydigan bitta umumiy terminal (umumiy anodli OA yoki umumiy katod OK). Bir vaqtning o'zida bir nechta Displeyni yoqib, indikatorda raqamli belgilar hosil qilish mumkin. Bir xonali etti segmentli indikatorning diagrammasi shakl. 7.1.

    7.1-Rasm. Bir xonali yetti segmentli display


    Dastur kodi:
    import muvium.compatibility.arduino.*;

    public class Class0 extends Arduino{


    int segA = 1;
    int segB = 2;
    int segC = 3;
    int segD = 4;
    int segE = 5;
    int segF = 6;
    int segG = 7;

    public void setup(){
    for(int pin=1; pin <= 8; pin++)
    pinMode(pin, OUTPUT);
    }

    public void loop(){
    /*
    for(int pin=9; pin >= 0; pin--) {
    digitalWrite(pin,HIGH)
    delay(500);
    digitalWrite(pin,LoW);
    }
    */
    for(int d=9; d >= 0; d--) {
    writeDigit(d);
    delay(1000);}
    }

    void writeDigit(int digit) {


    switch(digit)
    {

    case 9:
    digitalWrite(segA, HIGH);
    digitalWrite(segB, HIGH);
    digitalWrite(segC, HIGH);
    digitalWrite(segD, HIGH);
    digitalWrite(segE, LOW);
    digitalWrite(segF, HIGH);
    digitalWrite(segG, HIGH);
    break;

    case 8:
    digitalWrite(segA, HIGH);
    digitalWrite(segB, HIGH);
    digitalWrite(segC, HIGH);
    digitalWrite(segD, HIGH);
    digitalWrite(segE, HIGH);
    digitalWrite(segF, HIGH);
    digitalWrite(segG, HIGH);
    break;

    case 7:
    digitalWrite(segA, HIGH);
    digitalWrite(segB, HIGH);
    digitalWrite(segC, HIGH);
    digitalWrite(segD, LOW);
    digitalWrite(segE, LOW);
    digitalWrite(segF, LOW);
    digitalWrite(segG, LOW);
    break;

    case 6:
    digitalWrite(segA, HIGH);
    digitalWrite(segB, LOW);
    digitalWrite(segC, HIGH);
    digitalWrite(segD, HIGH);
    digitalWrite(segE, HIGH);
    digitalWrite(segF, HIGH);
    digitalWrite(segG, HIGH);
    break;

    case 5:
    digitalWrite(segA, HIGH);
    digitalWrite(segB, LOW);
    digitalWrite(segC, HIGH);
    digitalWrite(segD, HIGH);
    digitalWrite(segE, LOW);
    digitalWrite(segF, HIGH);
    digitalWrite(segG, HIGH);
    break;

    case 4:
    digitalWrite(segA, LOW);
    digitalWrite(segB, HIGH);
    digitalWrite(segC, HIGH);
    digitalWrite(segD, LOW);
    digitalWrite(segE, LOW);
    digitalWrite(segF, HIGH);
    digitalWrite(segG, HIGH);
    break;

    case 3:
    digitalWrite(segA, HIGH);
    digitalWrite(segB, HIGH);
    digitalWrite(segC, HIGH);
    digitalWrite(segD, HIGH);
    digitalWrite(segE, LOW);
    digitalWrite(segF, LOW);
    digitalWrite(segG, HIGH);
    break;

    case 2:
    digitalWrite(segA, HIGH);
    digitalWrite(segB, HIGH);
    digitalWrite(segC, LOW);
    digitalWrite(segD, HIGH);
    digitalWrite(segE, HIGH);
    digitalWrite(segF, LOW);
    digitalWrite(segG, HIGH);
    break;

    case 1:
    digitalWrite(segA, LOW);
    digitalWrite(segB, HIGH);
    digitalWrite(segC, HIGH);
    digitalWrite(segD, LOW);
    digitalWrite(segE, LOW);
    digitalWrite(segF, LOW);
    digitalWrite(segG, LOW);
    break;

    case 0:
    digitalWrite(segA, HIGH);
    digitalWrite(segB, HIGH);
    digitalWrite(segC, HIGH);
    digitalWrite(segD, HIGH);
    digitalWrite(segE, HIGH);
    digitalWrite(segF, HIGH);
    digitalWrite(segG, LOW);
    break;
    }
    }

    }
    Download 375.04 Kb.




    Download 375.04 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    7 – Laboratoriya mashg’uloti Bir razryadli yetti segmentli indikator. Arduino mk orqali raqamlarni indikatorga chiqarish Ishdan maqsad

    Download 375.04 Kb.