- Display med sju segment:
- Komponenter som krävs:
- Krets- och arbetsförklaring:
- Programmeringsförklaring:
Raspberry Pi är ett ARM-arkitekturbaserat kort designat för elektroniska ingenjörer och hobbyister. PI är en av de mest betrodda projektutvecklingsplattformarna där ute nu. Med högre processorhastighet och 1 GB RAM kan PI användas för många högprofilerade projekt som bildbehandling och IoT.
För att göra något av högprofilerade projekt måste man förstå de grundläggande funktionerna i PI. Vi kommer att täcka alla grundläggande funktioner i Raspberry Pi i dessa handledning. I varje handledning kommer vi att diskutera en av funktionerna i PI. I slutet av denna Raspberry Pi Tutorials-serie kommer du att kunna lära dig Raspberry Pi och göra bra projekt själv. Gå igenom handledningarna nedan:
- Komma igång med Raspberry Pi
- Raspberry Pi-konfiguration
- LED blinkande
- Knappgränssnitt
- Raspberry Pi PWM-generation
- LCD-gränssnitt med Raspberry Pi
- Styrande likströmsmotor
- Stegmotorstyrning
- Interfacing Shift Register
- Raspberry Pi ADC-handledning
- Servomotorstyrning
- Kapacitiv pekplatta
I den här handledningen ska vi göra gränssnitt mellan Raspberry Pi 7-segmentvisning. Seven Segment-skärmar är de billigaste för en displayenhet. Ett par av dessa segment staplade ihop kan användas för att visa temperatur, räknevärde etc. Vi ansluter 7-segmentet till GPIO för PI och styr dem för att visa siffror i enlighet därmed. Därefter skriver vi ett program i PYTHON för visning av sju segment för att räkna från 0-9 och återställer sig till noll.
Display med sju segment:
Det finns olika typer och storlekar på 7 segmentdisplayer. Vi har täckt Seven Segment som arbetar i detalj här. I grund och botten finns det två typer av 7 segment, Common Anode-typ (Common Positive eller Common VCC) och Common Cathode-typ (Common Negative eller Common Ground).
Common Anode (CA): I detta är alla negativa terminaler (katod) för alla de 8 lysdioderna anslutna (se diagram nedan), benämnt COM. Och alla positiva terminaler lämnas ensamma.
Common Cathode (CC): I detta är alla positiva terminaler (anoder) för alla de 8 lysdioderna anslutna tillsammans, namngivna som COM. Och alla de negativa värmerna lämnas ensamma.
Dessa CC- och CA-sju-segmentskärmar är väldigt praktiska när man multiplexerar flera celler tillsammans. I vår handledning använder vi CC eller Common Cathode Seven Segment Display.
Vi har redan interfaced 7 segment med 8051, med Arduino och med AVR. Vi har också använt 7-segmentsdisplay i många av våra projekt.
Vi kommer att diskutera lite om Raspberry Pi GPIO innan vi går vidare, Det finns 40 GPIO-utgångsstift i Raspberry Pi 2. Men av 40 kan endast 26 GPIO-stift (GPIO2 till GPIO27) programmeras, se bilden nedan. Några av dessa stift utför vissa speciella funktioner. Med särskild GPIO avsatt har vi 17 GPIO kvar.
GPIO: s (stift 1 eller 17) + 3.3V-signalen räcker för att driva 7-segmentsdisplayen. För att tillhandahålla strömbegränsning använder vi 1KΩ motstånd för varje segment som visas i kretsschemat.
Om du vill veta mer om GPIO-stift och deras nuvarande utgångar går du igenom: LED blinkar med Raspberry Pi
Komponenter som krävs:
Här använder vi Raspberry Pi 2 Model B med Raspbian Jessie OS. Alla grundläggande hårdvaru- och mjukvarukrav har tidigare diskuterats, du kan slå upp det i Raspberry Pi Introduktion, annat än vad vi behöver:
- Anslutningsstift
- Vanlig katod 7-segmentskärm (LT543)
- 1KΩ motstånd (8 delar)
- Bakbord
Krets- och arbetsförklaring:
Anslutningarna, som görs för Interfacing 7-segmentvisning till Raspberry Pi, ges nedan. Vi har använt Common Cathode 7 Segment här:
PIN1 eller e ------------------ GPIO21
PIN2 eller d ------------------ GPIO20
PIN4 eller c ------------------ GPIO16
PIN5 eller h eller DP ---------- GPIO 12 // inte obligatoriskt eftersom vi inte använder decimal
PIN6 eller b ------------------ GPIO6
PIN7 eller a ------------------ GPIO13
PIN9 eller f ------------------ GPIO19
PIN10 eller g ---------------- GPIO26
PIN3 eller PIN8 ------------- ansluten till marken
Så vi kommer att använda 8 GPIO-stift av PI som en 8bit-PORT. Här är GPIO13 att vara LSB (minst betydande bit) och GPIO 12 att vara MSB (viktigaste bit).
Nu, om vi vill visa siffran ”1”, måste vi kraftsegmenten B och C. För att driva segment B och C måste vi driva GPIO6 och GPIO16. Så byte för "PORT" -funktionen blir 0b00000110 och hex-värdet för "PORT" kommer att vara 0x06. Med båda stiften höga får vi "1" på displayen.
Vi har skrivit värdena för varje siffra som ska visas och lagrat dessa värden i en teckensträng med namnet 'DISPLAY' (Kontrollera kodavsnittet nedan). Sedan har vi kallat dessa värden en efter en för att visa motsvarande siffra på displayen med funktionen 'PORT'.
Programmeringsförklaring:
När allt är anslutet enligt kretsschemat, kan vi sätta PÅ PI för att skriva programmet i PYHTON.
Vi kommer att prata om några kommandon som vi ska använda i PYHTON-programmet, Vi ska importera GPIO-filer från biblioteket, nedanstående funktion gör att vi kan programmera GPIO-stift av PI. Vi döper också om "GPIO" till "IO", så i programmet när vi vill hänvisa till GPIO-stift kommer vi att använda ordet "IO".
importera RPi.GPIO som IO
Ibland, när GPIO-stiften, som vi försöker använda, kan göra några andra funktioner. I så fall får vi varningar när vi kör programmet. Kommandot nedan ber PI att ignorera varningarna och fortsätta med programmet.
IO.setwarnings (False)
Vi kan hänvisa GPIO-stift på PI, antingen med stiftnummer ombord eller med deras funktionsnummer. Precis som 'PIN 29' på tavlan är 'GPIO5'. Så vi säger här antingen att vi kommer att representera nålen här med '29' eller '5'.
IO.setmode (IO.BCM)
Vi ställer in 8 GPIO-stift som utgångsstift, för data- och kontrollstift på LCD.
IO.setup (13, IO.OUT) IO.setup (6, IO.OUT) IO.setup (16, IO.OUT) IO.setup (20, IO.OUT) IO.setup (21, IO.OUT) IO.setup (19, IO.OUT) IO.setup (26, IO.OUT) IO.setup (12, IO.OUT)
Om villkoret i hängslen är sant kommer uttalandena inuti slingan att utföras en gång. Så om bit0 på 8-bitars 'pin' är sant kommer PIN13 att vara HÖG, annars kommer PIN13 att vara LÅG. Vi har åtta 'om annat' villkor för bit0 till bit7, så att lämplig lysdiod, inom 7-segmentsdisplayen, kan göras hög eller låg för att visa motsvarande nummer.
if (pin & 0x01 == 0x01): IO.output (13,1) annat: IO.output (13,0)
Detta kommando kör slingan 10 gånger, x ökas från 0 till 9.
för x i intervallet (10):
Nedan kommandot används som alltid loop, med detta kommando kommer uttalandena inuti denna loop att köras kontinuerligt.
Medan 1:
Alla andra funktioner och kommandon har förklarats i avsnittet "Kod" nedan med hjälp av "Kommentarer".
Efter att ha skrivit programmet och kört det, utlöser Raspberry Pi motsvarande GPIO: er för att visa siffran på 7 Segment Display. Programmet är skrivet så att displayen räknar från 0-9 kontinuerligt.