Zaloguj się
Zaloguj przez facebook Zaloguj przez Google
Nie pamiętasz hasła?
Nie masz jeszcze konta? Dołącz do nas! Zarejestruj się
  • Tematy
  • Konkursy
  • Wydarzenia
  • Kursy
  • Zostań naszym partnerem
  • O nas
  • Druk 3D
  • Mechatronika
  • Robotyka
  • Elektronika
  • Elektryka
  • Mechanika
Ta witryna używa plików cookie. Dowiedz się więcej o celu ich używania i zmianie ustawień cookie w przeglądarce lub Polityce Prywatności. Korzystanie ze strony wymaga wyrażenia zgody na używanie cookie, zgodnie z aktualnymi ustawieniami przeglądarki.
Zarejestruj się Zaloguj się
  • Home
  • Tematy
  • Elektronika
  • Wyświetlacz 7 segmentowy

Wyświetlacz 7 segmentowy
Wyświetlacz 7 segmentowy
Programowanie wyświetlacza 7 segmentowego za pomocą oprogramowania Arduino
7394
0
10 kwi 2020
10 kwi 2020
udostępnij artykuł:
polub ten wpis:
(0)

To co jest wyświetlacz 7 segmentowy? 

Wyświetlacz siedmiosegmentowy lub inaczej nazywany wskaźnikiem siedmiosegmentowym jest wyświetlaczem składającym się z siedmiu segmentów. Jest on tak skonstruowany, ponieważ służy do wyświetlania cyfr dziesiętnych. Trzeba również zwrócić uwagę na że dużo modeli ma też ósmy segment, który służy do wyświetlania kropki, chociaż jest on często pomijany i jak wpiszemy w Google "Wyświetlacz 7 segmentowy" to najczęściej będą to wyświetlacze z kropka czyli 8 segmentowe. 

Jak się dobrze przyjrzymy budowie naszego wyświetlacza to zauważymy, że można na nim nie tylko wyświetlać cyfry, ale także niektóre litery znanego nam alfabetu. Takie rozwiązanie stosuje się w komputerach stacjonarnych, do wyświetlania kodów błędu na płycie głównej.   

Warto zaczerpnąć nieco wiedzy historycznej:

Pierwsze siedmiosegmentowe wyświetlanie znaków można znaleźć w patentach już w roku 1903. A stało się to za pośrednictwem Carla Kinsleya, który wynalazł metodę telegraficznego przesyłania liter i cyfr oraz drukowania ich na taśmie w formacie segmentowym. Z kolei w roku 1908 F.W.Wood wynalazł już wyświetlacz ośmiosegmentowy, który wyświetlał cyfrę 4 za pomocą ukośnego paska. Było to nietypowe rozwiązanie, które zrewolucjonizowało podejście do konstruowania wyświetlaczy. Do dziś możemy zaobserwować skutki tego wynalazku w postaci bilbordów, które wyświetlają proste napisy za pośrednictwem małych diod LED. 

Wracając jednak do historii w 1910 roku, zaczęto stosować wyświetlacze siedmiosegmentowe w elektrowniach na panelach sygnalizacyjnych, a były one podświetlane żarówkami. W sumie ciężko to sobie wyobrazić, jak duże musiały być te wyświetlacze. Dlatego też nie były aż tak często stosowane aż do pojawienia się diod LED w latach siedemdziesiątych. 

Wtedy pojawiły się wyświetlacze, które znamy już na co dzień i często z nich korzystamy nawet nie zastanawiając się. Jeszcze niektórzy może pamiętają jak wyglądały pierwsze telefony komórkowe firmy Nokia, gdzie jakość obrazu nie była aż tak zadowalająca, a cyfry i litery były strasznie kanciate i pixelowate. To właśnie tam wykorzystywano między innymi technologię wyświetlaczy segmentowy.  

Schemat podłączenia:

Jak widać na poniższym rysunku, nasz wyświetlacz składa się z 8 diod LED, od razu warto na początku zwrócić uwagę na to, że przed każdą diodą musi być zainstalowany rezystor, aby ich nie spalić.  Dodatkowo widzimy że na naszym schemacie są dwa przyłącza "-", tutaj też trzeba pamiętać że trzeba obydwa te przyłącza podpiąć do naszego "-".

Wyświetlacz 7 segmentowy
Schemat podłączenia

Schemat podłączenia wyświetlacza do Arduino: 

Aby skonstruować taki schemat wystarczy, że macie w domu wyświetlacz 7 segmentowy, arduino, płytkę stykową, 7 rezystorów 220 Ω i kilka kabelków.  

Wyświetlacz 7 segmentowy
Schemat podłączenia wyświetlacza do Arduino

Poniżej przedstawiono kod do Arduino: 

int a = 1; //przypisujemy wyrażenie do pinu 

int b = 2; //przypisujemy wyrażenie do pinu

int c = 3; //przypisujemy wyrażenie do pinu

int d = 4; //przypisujemy wyrażenie do pinu

int e = 5; //przypisujemy wyrażenie do pinu

int f = 6; //przypisujemy wyrażenie do pinu

int g = 7; //przypisujemy wyrażenie do pinu

void setup() // Nadanie pinom funkcji sygnałowej 

{

pinMode(1, OUTPUT);

pinMode(2, OUTPUT);

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(7, OUTPUT);

}

void loop() // pętla pozwoli nam na wyświetlanie liczb od 0 do 9 

{

zero();

jeden();

dwa();

trzy();

cztery();

piec();

szesc():

siedem();

osiem();

dziewiec();

}

void zero() //funkcja wyświetlająca 0 

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(e,HIGH);

digitalWrite(d,HIGH);

digitalWrite(f,HIGH);

delay(1000); //odczekanie 1s 

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(e,LOW);

digitalWrite(d,LOW);

digitalWrite(f,LOW);

}

void jeden() //funkcja wyświetlająca 1

{

digitalWrite(c,HIGH);

digitalWrite(a,HIGH);

delay(1000); //odczekanie 1s

digitalWrite(c,LOW);

digitalWrite(a,LOW);

}

void dwa() //funkcja wyświetlająca 2

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(g,HIGH);

digitalWrite(e,HIGH);

digitalWrite(d,HIGH);

delay(1000); //odczekanie 1s

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(g,LOW);

digitalWrite(e,LOW);

digitalWrite(d,LOW);

}

void trzy() //funkcja wyświetlająca 3

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(g,HIGH);

digitalWrite(d,HIGH);

delay(1000); //odczekanie 1s

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(g,LOW);

digitalWrite(d,LOW);

}

void cztery() //funkcja wyświetlająca 4

{

digitalWrite(a,HIGH);

digitalWrite(g,HIGH);

digitalWrite(f,HIGH);

digitalWrite(c,HIGH);

delay(1000); //odczekanie 1s

digitalWrite(a,LOW);

digitalWrite(g,LOW);

digitalWrite(f,LOW);

digitalWrite(c,LOW);

}

void piec() //funkcja wyświetlająca 5

{

digitalWrite(b,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

delay(1000); //odczekanie 1s

digitalWrite(b,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

}

void szesc() //funkcja wyświetlająca 6

{

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

digitalWrite(e,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

delay(1000); //odczekanie 1s

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

digitalWrite(e,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

}

void siedem() //funkcja wyświetlająca 7

{

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(a,HIGH);

delay(1000); //odczekanie 1s

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(a,LOW);

}

void osiem() //funkcja wyświetlająca 8

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

digitalWrite(e,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

delay(1000); //odczekanie 1s

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

digitalWrite(e,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

}

void dziewiec() //funkcja wyświetlająca 9

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

delay(1000); //odczekanie 1s

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

}

Na podstawie powyższego kodu skonstruowaliśmy prosty układ pomiarowy, który pozwala na mierzenie napięcia za pomocą potencjometru. 

Wyświetlacz 7 segmentowy

KOD

int a = 1;

int b = 2;

int c = 3;

int d = 4;

int e = 5;

int f = 6;

int g = 7;

int odczytanaWartosc = 0;

int napiecie = 0;

void setup()

{

Serial.begin(9600);

pinMode(1, OUTPUT);

pinMode(2, OUTPUT);

pinMode(3, OUTPUT);

pinMode(4, OUTPUT);

pinMode(5, OUTPUT);

pinMode(6, OUTPUT);

pinMode(7, OUTPUT);

}

void loop()

{

odczytanaWartosc = analogRead(A0);

napiecie = map (odczytanaWartosc,0,1023,0,5);

Serial.println(napiecie);

if (napiecie == 0)

{

zero();

}

else if (napiecie == 1)

{

jeden();

}

else if (napiecie == 2)

{

dwa();

}

else if (napiecie == 3)

{

trzy();

}

else if (napiecie == 4)

{

cztery();

}

else

{

piec();

}

}

void zero()

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(e,HIGH);

digitalWrite(d,HIGH);

digitalWrite(f,HIGH);

delay(1000);

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(e,LOW);

digitalWrite(d,LOW);

digitalWrite(f,LOW);

}

void jeden()

{

digitalWrite(c,HIGH);

digitalWrite(a,HIGH);

delay(1000);

digitalWrite(c,LOW);

digitalWrite(a,LOW);

}

void dwa()

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(g,HIGH);

digitalWrite(e,HIGH);

digitalWrite(d,HIGH);

delay(1000);

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(g,LOW);

digitalWrite(e,LOW);

digitalWrite(d,LOW);

}

void trzy()

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(g,HIGH);

digitalWrite(d,HIGH);

delay(1000);

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(g,LOW);

digitalWrite(d,LOW);

}

void cztery()

{

digitalWrite(a,HIGH);

digitalWrite(g,HIGH);

digitalWrite(f,HIGH);

digitalWrite(c,HIGH);

delay(1000);

digitalWrite(a,LOW);

digitalWrite(g,LOW);

digitalWrite(f,LOW);

digitalWrite(c,LOW);

}

void piec()

{

digitalWrite(b,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

delay(1000);

digitalWrite(b,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

}

void szesc()

{

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

digitalWrite(e,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

delay(1000);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

digitalWrite(e,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

}

void siedem()

{

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(a,HIGH);

delay(1000);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(a,LOW);

}

void osiem()

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

digitalWrite(e,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

delay(1000);

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

digitalWrite(e,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

}

void dziewiec()

{

digitalWrite(a,HIGH);

digitalWrite(b,HIGH);

digitalWrite(f,HIGH);

digitalWrite(g,HIGH);

digitalWrite(c,HIGH);

digitalWrite(d,HIGH);

delay(1000);

digitalWrite(a,LOW);

digitalWrite(b,LOW);

digitalWrite(f,LOW);

digitalWrite(g,LOW);

digitalWrite(c,LOW);

digitalWrite(d,LOW);

}

Jeśli macie inny pomysł gdzie można wykorzystać nasz bazowy kod, to pochwalcie się tym w komentarzach ;) 

Komentarze (0)
Musisz być zalogowany, by dodać swój komentarz.
Zaloguj się
Poprzedni artykuł Następny artykuł
To może Cię zaciekawić - artykuły z kategorii Elektronika
  • Mistrzostwa Polski w programowaniu PLC 2021
    Mistrzostwa Polski w pro…
    Czytaj więcej…
    1124
    0
  • LoRaWAN w świecie IoT z Adeunis
    LoRaWAN w świecie IoT z …
    Czytaj więcej…
    923
    0
  • LED
    LED
    Dobór rezystora do diody
    Czytaj więcej…
    18587
    0
  • Transformatory
    Transformatory
    Podstawowe informacje
    Czytaj więcej…
    9267
    0
  • Przekaźniki
    Przekaźniki
    Bicie serca każdej szafy sterującej
    Czytaj więcej…
    2296
    0
  • Optihum - Co to właściwie jest?
    Optihum - Co to właściwi…
    Urządzenie DIY odpowiedzialne za wilgotność powietrza.
    Czytaj więcej…
    2003
    0
  • Prace konkursowe
    Prace konkursowe
    Liga mistrzów automatyki WAGO
    Czytaj więcej…
    1656
    0
  • Świat zasilaczy
    Świat zasilaczy
    Podstawowy element każdego układu. Jak dobrać i czym się charakt…
    Czytaj więcej…
    8424
    0
  • Konkurs WAGO
    Konkurs WAGO
    Mistrz Automatyki WAGO 2020
    Czytaj więcej…
    866
    0
  • Technologia MEMS
    Technologia MEMS
    Zastrzyk wiedzy
    Czytaj więcej…
    5614
    0
  • Automatyzacja domowa - Co to właściwie jest?
    Automatyzacja domowa - C…
    Loxone, czyli firma automatyzacji domowej
    Czytaj więcej…
    1605
    0
  • Sterowanie Bezprzewodowe
    Sterowanie Bezprzewodowe
    Technologia bezprzewodowa w domu
    Czytaj więcej…
    1476
    0
  • Elektronika - podstawy
    Elektronika - podstawy
    Pomiar napięcia
    Czytaj więcej…
    6119
    0
  • Ściemniacze oświetlenia
    Ściemniacze oświetlenia
    Twórz klimatyczne przestrzenie niewielkim kosztem.
    Czytaj więcej…
    1480
    0
  • Elektronika - podstawy
    Elektronika - podstawy
    Napięcie i jego rodzaje
    Czytaj więcej…
    3738
    0
  • Połączenia LED
    Połączenia LED
    Równoległe i szeregowe
    Czytaj więcej…
    13506
    0
  • Licznik energii
    Licznik energii
    czyli jak obniżyć koszty energii w przedsiębiorstwie
    Czytaj więcej…
    2046
    0
  • PLC od WAGO
    PLC od WAGO
    Sterownik PFC 100
    Czytaj więcej…
    1935
    0
  • Sterowanie częstotliwością
    Sterowanie częstotliwośc…
    Sterowanie za pomocą Arduino
    Czytaj więcej…
    3262
    0
  • Diody świecące
    Diody świecące
    LED
    Czytaj więcej…
    5695
    0
  • Podstawowe elementy elektroniczne
    Podstawowe elementy elek…
    Rezystor, cewka i dławik
    Czytaj więcej…
    7129
    0
  • Magazynowanie Energii
    Magazynowanie Energii
    ANALIZA METOD POMIAROWYCH URZĄDZEŃ DO MAGAZYNOWANIA ENERGII
    Czytaj więcej…
    1541
    0
  • Wyświetlacz 7 segmentowy
    Wyświetlacz 7 segmentowy
    Programowanie wyświetlacza 7 segmentowego za pomocą oprogramowan…
    Czytaj więcej…
    7394
    0
  • Świat automatyki domowej
    Świat automatyki domowej
    Poznajemy automatykę domową na podstawie produktów firmy F&F
    Czytaj więcej…
    2327
    0
  • Volswagen ID.3
    Volswagen ID.3
    Nowa seria samochodów grupy VW oraz inwestycje w sieć ładowania.
    Czytaj więcej…
    1815
    0
  • Nikola Tesla
    Nikola Tesla
    Najważniejsze informacje
    Czytaj więcej…
    5226
    0
  • Oszczędzaj prąd
    Oszczędzaj prąd
    Czytaj więcej…
    2719
    0
  • 4.0 Rewolucja przemysłowa w technologii montażu
    4.0 Rewolucja przemysłow…
    Aplikacje firmy Atlas Copco
    Czytaj więcej…
    2271
    0
  • Bezprzewodowy system do pomiaru drgań - VibSystem 1.0
    Bezprzewodowy system do …
    Czytaj więcej…
    2462
    2
  • PLC w domu
    PLC w domu
    Inteligentny dom
    Czytaj więcej…
    3998
    0
  • Czujniki
    Czujniki
    Czyli coś się dzieje i coś działa.
    Czytaj więcej…
    4199
    0
Nasi partnerzy
Copyright © 2023 Wszelkie prawa zastrzeżone | Polityka prywatności | Regulamin serwisu
Realizacja: Strony internetowe - bcweb.pl
  • Home
  • Tematy
    • Druk 3D
    • Mechatronika
    • Robotyka
    • Elektronika
    • Elektryka
    • Mechanika
  • Konkursy
  • Wydarzenia
  • Kursy
    • Elektronika
    • Elektryka
    • Elektrotechnika przemysłowa
    • Pneumatyka i Hydraulika
    • Druk 3D
    • Przemysł 4.0
    • Programowanie sterowników SIEMENS S7
    • Programowanie Robotów
    • Webinaria
    • Automatyka
  • Zostań naszym partnerem
  • O nas
  • Panel użytkownika
  • Zaloguj się
  • Zarejestruj się
Nasi partnerzy