Hogyan programozhatok egy 7 szegmenses LCD-t dinamikus tartalom megjelenítésére?

Nov 19, 2025Hagyjon üzenetet

Szia! A 7 szegmensű LCD-k szállítójaként a saját bőrömön láttam, hogy milyen klassz dolgokat lehet csinálni ezekkel a kis kijelzőkkel. Ebben a blogban bemutatom, hogyan kell beprogramozni egy 7 szegmenses LCD-t dinamikus tartalom megjelenítésére. Legyen szó hobbiról vagy profiról, ez az útmutató bemutatja a 7 szegmenses LCD-k életre keltését.

A 7 szegmenses LCD-k alapjainak megismerése

Először is, ismerjük meg gyorsan, mi is az a 7 szegmenses LCD. Hét szegmensből áll, általában a, b, c, d, e, f és g jelöléssel, valamint egy tizedesvesszővel. E szegmensek különböző kombinációinak megvilágításával 0-tól 9-ig számokat, sőt néhány betűt is megjeleníthet.

Különféle 7 szegmenses LCD-k állnak rendelkezésre, mint plHTN LCD kijelző,VA LCD kijelző, ésSTN LCD kijelző. Mindegyik típusnak megvannak a saját jellemzői, mint például a látószög, a kontraszt és a válaszidő. Ki kell választania azt, amelyik a legjobban illik a projektjéhez.

A megfelelő mikrokontroller kiválasztása

A 7 szegmenses LCD programozásához mikrokontrollerre lesz szüksége. A népszerű választások közé tartozik az Arduino, a Raspberry Pi és a PIC mikrokontroller. Ezekkel könnyű dolgozni, és rengeteg online forrás áll rendelkezésre.

Az Arduino nagyszerű lehetőség kezdőknek. Nyílt forráskódú, egyszerű programozási nyelvvel és nagy közösséggel rendelkezik. Gyorsan elkezdheti, anélkül, hogy túl sok bonyolultsággal kellene megküzdenie. A Raspberry Pi viszont erősebb és bonyolultabb feladatokat is tud kezelni. Olyan, mint egy mini számítógép, így teljes értékű operációs rendszereket futtathat rajta.

Hardver csatlakozás

Miután kiválasztotta a mikrokontrollert, ideje csatlakoztatni a 7 szegmenses LCD-t. Az LCD-n minden szegmenshez vannak tűk és egy közös tű (közös anód vagy közös katód).

Ha közös anódos LCD-t használ, a közös érintkező a pozitív feszültségre csatlakozik, és az egyes szegmens érintkezőket földelni kell, hogy világítson. Közös katódos LCD esetében ez fordítva van: a közös érintkező földelve van, és pozitív feszültséget ad a szegmens érintkezőire.

Íme egy alapvető példa egy 7 szegmenses LCD Arduinohoz való csatlakoztatására:

  • Csatlakoztassa a közös érintkezőt a megfelelő áramforráshoz (akár 5 V a közös katódhoz, vagy föld a közös anódhoz).
  • Csatlakoztassa az egyes szegmens érintkezőket (a - g és a tizedesvesszőt) az Arduino digitális kimeneti érintkezőjéhez.

A kijelző programozása

Most jön a szórakoztató rész: a programozás! Kezdjük egy egyszerű példával egy számjegy megjelenítésére a 7 szegmenses LCD-n Arduino használatával.

// Minden szegmens lábának meghatározása const int segA = 2; const int segB = 3; const int segC = 4; const int segD = 5; const int segE = 6; const int segF = 7; const int segG = 8; void setup() { // Az összes szegmens lábának beállítása kimenetként pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segE, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); } void loop() { // A 0 szám megjelenítése digitalWrite(segA, HIGH); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, HIGH); digitalWrite(segE, HIGH); digitalWrite(szegF, HIGH); digitalWrite(segG, LOW); késleltetés (2000); // Várjon 2 másodpercet // Az 1-es szám megjelenítése digitalWrite(segA, LOW); digitalWrite(segB, HIGH); digitalWrite(segC, HIGH); digitalWrite(segD, LOW); digitalWrite(segE, LOW); digitalWrite(segF, LOW); digitalWrite(segG, LOW); késleltetés (2000); // Várjon 2 másodpercet }

Ebben a kódban először definiáljuk a tűket az egyes szegmensekhezsetup()funkció. Aztán ahurok()funkciót be- és kikapcsoljuk a megfelelő szegmenstüskéket a különböző számok megjelenítéséhez. Akésleltetés()A funkció az egyes számok megjelenítésére szolgál egy bizonyos ideig.

Dinamikus tartalom megjelenítése

A dinamikus tartalom megjelenítéséhez, például a visszaszámláláshoz vagy egy görgető üzenet megjelenítéséhez, kicsit kreatívabbnak kell lennie.

Számolás fel

Íme egy példa a 0-tól 9-ig tartó számolásra a 7 szegmenses LCD-n:

// Minden szegmens lábának meghatározása const int segA = 2; const int segB = 3; const int segC = 4; const int segD = 5; const int segE = 6; const int segF = 7; const int segG = 8; // Tömb az egyes számjegyek szegmensmintáinak tárolására int digitPatterns[10][7] = { {MAGAS, MAGAS, MAGAS, MAGAS, MAGAS, MAGAS, ALACSONY}, // 0 {ALACSONY, MAGAS, MAGAS, ALACSONY, ALACSONY, ALACSONY, LOW}, // 1 {MAGAS, MAGAS, HIGH,} // 2 {MAGAS, MAGAS, MAGAS, MAGAS, ALACSONY, ALACSONY, MAGAS}, // 3 {ALACSONY, MAGAS, MAGAS, ALACSONY, ALACSONY, MAGAS, MAGAS}, // 4 {MAGAS, ALACSONY, MAGAS, MAGAS, ALACSONY, MAGAS, MAGAS {}, //, MAGAS, MAGAS, 5 HIGH, HIGH}, // 6 {MAGAS, MAGAS, MAGAS, ALACSONY, ALACSONY, ALACSONY, ALACSONY}, // 7 {MAGAS, MAGAS, MAGAS, MAGAS, MAGAS, MAGAS, MAGAS}, // 8 {MAGAS, MAGAS, MAGAS, MAGAS, ALACSONY, MAGAS}; void setup() { // Az összes szegmens lábának beállítása kimenetként pinMode(segA, OUTPUT); pinMode(segB, OUTPUT); pinMode(segC, OUTPUT); pinMode(segD, OUTPUT); pinMode(segE, OUTPUT); pinMode(segF, OUTPUT); pinMode(segG, OUTPUT); } void loop() { for (int i = 0; i < 10; i++) { // Az aktuális számjegy megjelenítése digitalWrite(segA, digitPatterns[i][0]); digitalWrite(szegB, digitMinták[i][1]); digitalWrite(segC, digitPatterns[i][2]); digitalWrite(segD, digitMinták[i][3]); digitalWrite(segE, digitPatterns[i][4]); digitalWrite(segF, digitPatterns[i][5]); digitalWrite(segG, digitPatterns[i][6]); késleltetés(1000); // Várjon 1 másodpercet } }

Ebben a kódban 2D tömböt használunkdigitPatternsaz egyes számjegyekhez tartozó szegmensmintázatok tárolásához. Aztán ahurok()függvényében a 0-tól 9-ig terjedő számok között hurkolunk, és minden számjegyet 1 másodpercig megjelenítünk.

Görgetés üzenet

Görgető üzenet megjelenítéséhez több 7 szegmenses kijelzőt kell használnia, és multiplexelnie kell őket. A multiplexelés a kijelzők közötti gyors váltást jelenti, így úgy tűnik, mintha mindegyik egyszerre lenne bekapcsolva.

SEGMENT LCD for Curly2

Íme egy magas szintű áttekintés arról, hogyan kell csinálni:

  1. Ossza fel üzenetét egyes számjegyekre vagy karakterekre.
  2. Egyszerre egy számjegy megjelenítése egy kijelzőn, és gyorsan váltson a következő képernyőre.
  3. Folyamatosan ismételje meg ezt a folyamatot a görgetési hatás létrehozásához.

Hibaelhárítás

Ha problémákba ütközik, ne aggódjon! Íme néhány gyakori probléma és megoldásuk:

  • A szegmensek nem világítanak: Ellenőrizze a hardvercsatlakozásokat. Győződjön meg arról, hogy a tűk megfelelően vannak csatlakoztatva, és hogy a megfelelő áramforrást használja.
  • Villódzó kijelző: Ennek oka lehet az alacsony frissítési gyakoriság. Próbálja meg növelni a sebességet, amellyel multiplexeli a kijelzőket.
  • Helytelen számjegyek jelennek meg: Duplán ellenőrizze a szegmensmintákat a kódban. Győződjön meg arról, hogy minden számjegyhez a megfelelő szegmenseket világítja meg.

Következtetés

A 7 szegmenses LCD programozása dinamikus tartalom megjelenítésére szórakoztató és hasznos projekt. A megfelelő hardverrel, egy kis programozási tudással és némi hibaelhárítási készségekkel mindenféle klassz kijelzőt készíthet.

Ha szeretne 7 szegmensű LCD-t vásárolni projektjeihez, mi gondoskodunk róla. Széles választékot kínálunkHTN LCD kijelző,VA LCD kijelző, ésSTN LCD kijelzőopciók. Lépjen kapcsolatba velünk, hogy megbeszéljük igényeit és elkezdjük a következő projektet!

Hivatkozások

  • Az Arduino hivatalos dokumentációja
  • Raspberry Pi hivatalos weboldala
  • Különféle online elektronikai oktatóanyagok és fórumok