Snabbt skapa en 7 segment display



Detta är bara en liten instructable att hjälpa människor att snabbt använda en 7 segment display med säga en Arduino eller andra mikrokontroller. Dessa skärmar kräver 8 datalines och det är lite mycket att offra på de flesta microcontrollers, så finns det ett bättre sätt: med hjälp av en HC595 eller HCT595 skiftregister. I så fall behöver displayen bara 3 data linjer.
Nu kan det vara lite skrämmande för nybörjare att räkna ut vilket stift att ansluta med vad och sedan hur att få rätt siffrorna att lysa upp, men om du håller dig till några grundregler, det är ganska lätt. (Anm. de flesta ställen jag kollade HCT595 är betydligt dyrare än HC595, om inte u verkligen behöver/vill ha/har den HCT versionen, plocka den HC versionen.)

För en sak... spelar det ingen roll vilka stift 7 segment display du ansluter till datapins av 595, eftersom du kan sortera ut allt i programkoden, men det är enklast att hålla sig till vissa standard anslutningar.

Om man tittar på diagrammet av displayen, ser du att segmenten har en mer eller mindre standardiserade namn: A-G och DP. Om du ansluter 595 enligt följande:
Q0 -> A
Q1 -> B
Q2 -> C
Q3 -> D
Q4 -> E
Q5 -> F
Q6 -> G
Q7 -> DP
sedan blir kodning standardiserade också.
Bestämma vilken pin motsvarar vad segment sker snabbt med en multimeter, precis som att fastställa om du har en gemensam katod eller gemensam anod display. En titt på baksidan brukar talar redan om vad den gemensamma anslutningen är. Ofta är detta mitten stiftet på toppen och botten.
Som segmentet 7 kan inte display - som LED - riktigt ta full 5 volt för de flesta mikrokontrollanter, ett motstånd i varje rad är nödvändigt. Jag använder 470 Ohm. Det är möjligt att använda endast ett motstånd i den gemensamma hållningen, men då ljusintensiteten kommer att variera beroende på antalet segment att vara aktiv.
Allt detta är lätt att löda på vissa perf-board som bilden visar, naturligtvis om din pin lay-out skiljer sig från min, du måste ändra anslutningarna... eller skicka ett annat värde till HC595. Den krets som jag gav är för en gemensam katod display, men naturligtvis för en gemensam anod display principen är densamma, om än att man ansluter den gemensam anod till + Vcc.

Koden är ganska självförklarande. Uppenbarligen en kan bara skicka en '0' eller '9' karaktär till displayen för att få siffrorna. Varje nummer kräver en viss mängd segment att lysa upp och som motsvarar med vissa portar för 595 vara hög eller låg. Så till exempel för '8' du behöver alla segment till linje upp, utom decimaltecknet och enligt våra standardiserade sätt att koppla, som kräver nummer 127 för att skicka till 595 (127 = 01111111 = alla segment utom dp). Om du vill "8" och DP, sända 255.
Så är det enklaste att bara ställa upp en matris med värdena som krävs för varje nummer och använda numret som ett index till matrisen. Så om du vill ha en '0' du använda medlem '0' från matrisen (63), för 1 du använder medlem 1 från matrisen (värde 6) etc.
Om du vill ha den digitala punkt att lysa upp också, bara lägga till "128" till det värde som skickas.

Den kodar sedan är följande
/*
Med det 74HC595 SKIFT registret med 7 segment display
*/

int latchpin = 5; / / Anslut till stift 12 på 595
int clockpin = 7. Anslut till stift 11 på 595
int datapin = 6; Anslut till stift 14 på 595
matrisen innehåller det binära värdet för att göra siffror 0-9
avkommentera raden korrekt för gemensam katod eller gemensam anod
int segmentet [10] = {63,6,91,79,102,109,125,7,127,111}. för gemensam katod
int segmentet [10] = {192,249,164,176,153,146,130,248,128,144}. för gemensam anod
Dessa värden är alltid rätta om du följer regeln om Q0 -> A, Q1 -> B etc.
void setup()
{
pinMode (latchpin, produktionen);
pinMode (clockpin, produktionen);
pinMode (datapin, produktionen);
}
void loop()
{

digitalWrite (latchpin, låg);
shiftOut (datapin, clockpin, MSBFIRST, 0); Avmarkera Visa
digitalWrite (latchpin, hög);
Delay(1000);

för (int djurenheter = 0; djurenheter < 10; djurenheter ++)
räknas från 0 till 9, med hjälp av värdena i matrisen
dessa värden motsvarar de binära utgångarna 0 ~ 9
att få den digitala punkten: lägga till 128
{
digitalWrite (latchpin, låg);
shiftOut (datapin, clockpin, MSBFIRST, segment[lus]+128);
digitalWrite (latchpin, hög);
Delay(800);
}

digitalWrite (latchpin, låg);
shiftOut (datapin, clockpin, MSBFIRST, 0); Avmarkera Visa
digitalWrite (latchpin, hög);
Delay(800);

digitalWrite (latchpin, låg);
shiftOut (datapin, clockpin, MSBFIRST, 128); Light decimalkommat
digitalWrite (latchpin, hög);
Delay(800);

}

Relaterade Ämnen

12-pin 7 Segment Display ledningar handledning

Den 12-poliga 7 segment displayen verkade ganska svårt att hitta tutorials eller en bra datablad för när jag började arbeta med den. Alltså, jag bestämde mig för att en instructable om hur tråd det upp och några grunderna om hur du koden i MPIDE (ock...

Namn på 7-segment Display Atmel Avr

I detta instructable (min första en!) Jag vill visa dig något jag gjorde för ett skolprojekt. Ursprungliga uppdraget var följande: "i MSVS (eller Microsoft visual studio) koden i assembler: Ange ditt namn som en ASCII hex-sträng i den. Datasektionen...

Hur man utformar sju segment display driver chip på VLSI consept för första gången!?

Idag, ska jag visa dig hur du utformar en sju segment display elektronisk komponent föraren som är liknande med 7447 chip. Detta projekt var jag gjorde då i mitt universitet är förra året, tack vare min föreläsare, lärde jag mig att desing ett chip T...

Sju Segment Display handledning

hur många TV-program och filmer har några mystiska enhet räknar ner till noll dessa skärmar är 7 segmenterar skärmar. Med 7 segment visar kan du Visa alla nummer eller vissa alfabet som ditt hjärta önskar.Första kontrollera en 7 segment display verka...

Hem gjorde 7 segment display klocka

jag byggt detta för min flickvän, och ihop det till en kokosnöt skal. Kärnan i det finns en PIC16F727 TQFP paketet och att en gemensam anod visas. Jag fick displayen från mitt ex-ledare, och eftersom dessa visar typ av "skrika" för sätts i en kr...

Hur man gör en LED 7-segment display med Arduino

Jag ska visa dig hur man gör ett 7 segment visas med lysdioder. Kombinera med Arduino att skapa nedräkningen timers, enkel text och mycket mer. Jag gillar att göra ursprungliga projekt. Jag sökte hela instructables och hitta inte en så här. I själva...

Arduino Nano och Visuino: 7 Segment Display klocka med MAX7219 och DS1307 realtid Clock(RTC)

DS1307 Realtidsklocka finns allmänt tillgänglig låg kostnad I2C RTC moduler. De kommer med en klocka och ett litet batteri, och när ansluten till Arduino, kan hålla reda på realtid även när Arduino styrelsen inte drivs. Jag har redan gjort Instructab...

4" sju Segment Display

En sju segment display är en grundläggande display som består av lysdioder ordnade i en viss ordning att Visa numeriska värden. De kan också Visa mycket alfabetet men inte med mycket bra skärpa. Som namnet antyder, denna skärm har 7 segment märkta A...

Systemövervakaren med Arduino och 7 segment display

Nyligen jag fick en ny dator och började spela TV-spel. Jag gillar att övervaka min system samtidigt ha spel full-skärm: Jag vill se min GPU temperatur och min belopp används ram (Minecraft FTB äter en massa, som 3-6 GB!).Jag hade en bärgade 7-segmen...

7 segment Display Clock

I detta outgrundlig jag kommer att visa dig hur man gör en digital klocka!Du behöver:En sun grundare kitSom omfattar en bröd styrelse, hoppare ledningar, knappar, lysdioder och en 7 segment display.Du behöver också en arduinorutan solen grundaretejpU...

7 segment Display

7 segmenterar skärmar kommer för att användas överallt där du behöver en visuell visning av siffror. En Timer, nedräkning, klocka, etc är alla exempel på där någon kanske använt 7 Segment Display. De är mycket användbara, och när du förstår hur de fu...

7-segment display med linkit en

HejI denna tutorial jag kommer att berätta om hur du visar 0-9 siffror på 7 Segment visas med Linkit one.7 segment display är mycket användbart och effektivt sätt att representera numeriska värden och det är faktiskt en 8-segment display på grund av...

Räkna ner på 7 Segment Display W/RPi 3

I detta instructable jag kommer att visa och lära dig hur man gör sju segment display som visar en nedräkning från 9 till noll (punkt som tillval) med en raspberry pi 3.Element, som krävs:-1 x raspberry pi 31 x Lödfritt prototyping skärbräda10 x hane...

Digital klocka med 7 Segment Display kontrolleras med hjälp av fjärrkontrollen

det finns sorter av digital klocka finns i vårt dagliga liv. Grundläggande digital klocka kommer att oftast ha några inbyggda funktioner som väckarklocka, kalender och termometer förutom display klockan information. Några av de förskott digital klock...

Arduino Binary 7 Segment Display Clock & kalender

Till skillnad från de flesta andra binära klockor här klockan visar binära tid och datum på 3 rader av 8 sju segment visar som en och nollor istället för bara rader av lysdioder.Fullständiga uppgifter om detta min hemsida här.En Arduino 328 mikroproc...

Arduino 7 Segment Display Clock (+ ljud aktiveringen)

I detta instructable jag kommer att visa dig hur man gör ditt eget Arduino baserade 7 segment display (4 siffror) klocka med ljud aktiveringen funktion!Kretsen som använder den ATmega328p micro controller (samma som Arduino uno styrelsen) och den DS1...

Hur man använder en sju Segment Display - Arduino handledning

En sju Segment Display, är en form av elektronisk skärm enhet för att Visa decimala siffror som är ett alternativ till de mer komplexa matrisskrivare visar.Sju segmenterar skärmar används i digitala klockor, elektroniska elmätare, grundläggande minir...

7 segment display klocka!

I detta instructable, jag kommer att lära dig haw för att göra en 7 segment siffrig display klocka!Du behöver:En sunfounder kit som innehåller en skärbräda, hoppare ledningar, knappar, lysdioder, en 7 segment display och resistersEn arduinoTejpArduin...

Decenniet Counter handledning med 74LS93 - en nyckel till 7-Segment Display Drivers

Hej alla!Detta är min femte av många elektroniska block tutorials för min kommande elektronik lärande styrelse. Denna video visar 74LS93 decennium Counter IC. Syftet med denna video är att lära dig hur du skapar kretsen, bestämma produktionen ofta ut...