Raspberry Pi er et ARM-arkitekturbasert kort designet for elektroniske ingeniører og hobbyister. PI er en av de mest pålitelige plattformene for prosjektutvikling der ute nå. Med høyere prosessorhastighet og 1 GB RAM kan PI brukes til mange høyprofilerte prosjekter som bildebehandling og IoT.
For å gjøre noen av høyprofilerte prosjekter, må man forstå de grunnleggende funksjonene til PI. Vi vil dekke alle de grunnleggende funksjonene til Raspberry Pi i disse opplæringene. I hver opplæring vil vi diskutere en av funksjonene til PI. På slutten av denne Raspberry Pi Tutorials-serien, vil du kunne lære Raspberry Pi og lage gode prosjekter selv. Gå gjennom veiledningene nedenfor:
- Komme i gang med Raspberry Pi
- Raspberry Pi-konfigurasjon
- LED Blinky
- Knappgrensesnitt
- Raspberry Pi PWM generasjon
- LCD-grensesnitt med Raspberry Pi
- Styring av DC-motor
- Stepper Motor Control
- Interfacing Shift Register
- Raspberry Pi ADC opplæring
- Servomotorkontroll
- Kapasitiv styreplate
I denne opplæringen skal vi gjøre Raspberry Pi 7-segmentgrensesnitt. Seven Segment-skjermer er de billigste for en skjermenhet. Et par av disse segmentene stablet sammen kan brukes til å vise temperatur, motverdi osv. Vi vil koble 7-segmentet skjermenhet til GPIO av PI og kontrollere dem for å vise sifre tilsvarende. Etter det vil vi skrive et program i PYTHON for syv segmentvisning til teller fra 0-9 og tilbakestiller seg til null.
Syv segmentvisning:
Det finnes forskjellige typer og størrelser på 7 segmentdisplayer. Vi har dekket Seven Segment som jobber i detalj her. I utgangspunktet er det to typer 7 segmenter, Common Anode type (Common Positive eller Common VCC) og Common Cathode type (Common Negative eller Common Ground).
Common Anode (CA): I dette er alle de negative terminalene (katoden) til alle de 8 lysdiodene koblet sammen (se diagrammet nedenfor), kalt COM. Og alle de positive terminalene er igjen.
Felles katode (CC): I dette er alle de positive terminalene (anodene) til alle de 8 lysdiodene koblet sammen, kalt COM. Og alle de negative termene er alene.
Disse CC- og CA-sju segmentskjermene er veldig nyttige når du multiplekserer flere celler sammen. I opplæringen vil vi bruke CC eller Common Cathode Seven Segment Display.
Vi har allerede grensesnitt 7-segmentet med 8051, med Arduino og med AVR. Vi har også brukt 7-segmentvisning i mange av våre prosjekter.
Vi vil diskutere litt om Raspberry Pi GPIO før vi går videre, Det er 40 GPIO-utgangspinner i Raspberry Pi 2. Men av 40 kan bare 26 GPIO-pinner (GPIO2 til GPIO27) programmeres, se figuren nedenfor. Noen av disse pinnene utfører noen spesielle funksjoner. Med spesial GPIO satt til side, har vi 17 GPIO igjen.
GPIO-ene (pin 1 eller 17) + 3.3V-signalet er nok til å drive 7-segmentskjermen. For å gi strømgrense, vil vi bruke 1KΩ motstand for hvert segment som vist i kretsdiagrammet.
For å vite mer om GPIO-pinner og deres nåværende utganger, gå gjennom: LED blinker med Raspberry Pi
Nødvendige komponenter:
Her bruker vi Raspberry Pi 2 Model B med Raspbian Jessie OS. Alle de grunnleggende maskinvare- og programvarekravene er tidligere diskutert, du kan slå opp i Raspberry Pi Introduksjon, annet enn det vi trenger:
- Koble pinner
- Felles Cathode 7 segment display (LT543)
- 1KΩ motstand (8 stk)
- Brettbrett
Krets og arbeidsforklaring:
Tilkoblingene, som er gjort for Interfacing 7-segmentvisning til Raspberry Pi, er gitt nedenfor. Vi har brukt Common Cathode 7 Segment her:
PIN1 eller e ------------------ GPIO21
PIN2 eller d ------------------ GPIO20
PIN4 eller c ------------------ GPIO16
PIN5 eller h eller DP ---------- GPIO 12 // ikke obligatorisk da vi ikke bruker desimaltegn
PIN6 eller b ------------------ GPIO6
PIN7 eller a ------------------ GPIO13
PIN9 eller f ------------------ GPIO19
PIN10 eller g ---------------- GPIO26
PIN3 eller PIN8 ------------- koblet til bakken
Så vi vil bruke 8 GPIO-pinner av PI som en 8bit-PORT. Her er GPIO13 å være LSB (minst signifikant bit) og GPIO 12 å være MSB (mest signifikant bit).
Nå, hvis vi ønsker å vise nummer “1”, må vi kraft segmenter B og C. For å drive segment B og C, må vi drive GPIO6 og GPIO16. Så byte for 'PORT' -funksjonen vil være 0b00000110 og den hexverdien av 'PORT' vil være 0x06. Med begge pinnene høye får vi "1" på skjermen.
Vi har skrevet verdiene for hvert siffer som skal vises, og lagret disse verdiene i en streng med tegn som heter 'DISPLAY' (Sjekk kodeseksjonen nedenfor). Så har vi kalt disse verdiene en etter en for å vise det tilsvarende sifferet på skjermen ved hjelp av funksjonen 'PORT'.
Programmeringsforklaring:
Når alt er koblet til i henhold til kretsskjemaet, kan vi slå PI på for å skrive programmet i PYHTON.
Vi vil snakke om få kommandoer som vi skal bruke i PYHTON-programmet, Vi skal importere GPIO-filer fra biblioteket, under funksjonen gjør det mulig for oss å programmere GPIO-pinner på PI. Vi omdøper også "GPIO" til "IO", så når vi vil referere til GPIO-pinner i programmet, bruker vi ordet "IO".
importer RPi.GPIO som IO
Noen ganger, når GPIO-pinnene, som vi prøver å bruke, gjør noen andre funksjoner. I så fall vil vi motta advarsler mens vi kjører programmet. Kommandoen nedenfor forteller PI å ignorere advarslene og fortsette med programmet.
IO.setwarnings (False)
Vi kan henvise GPIO-pinnene til PI, enten med pin-nummer om bord eller etter deres funksjonsnummer. Som 'PIN 29' på tavlen er 'GPIO5'. Så vi forteller her at enten skal vi representere nålen her med '29' eller '5'.
IO.setmode (IO.BCM)
Vi setter inn 8 GPIO-pinner som utgangspinner, for data- og kontrollpinner på LCD-skjermen.
IO.oppsett (13, IO.OUT) IO.oppsett (6, IO.OUT) IO.oppsett (16, IO.OUT) IO.oppsett (20, IO.OUT) IO.oppsett (21, IO.OUT) IO.setup (19, IO.OUT) IO.setup (26, IO.OUT) IO.setup (12, IO.OUT)
I tilfelle tilstanden i selene er sant, vil utsagnene i løkken utføres en gang. Så hvis bit0 av 8-bits 'pin' er sant, vil PIN13 være HØY, ellers vil PIN13 være LAV. Vi har åtte "hvis ellers" -betingelser for bit0 til bit7, slik at passende LED, inne i 7-segmentdisplayet, kan gjøres høy eller lav for å vise det tilsvarende tallet.
hvis (pin & 0x01 == 0x01): IO.output (13,1) annet: IO.output (13,0)
Denne kommandoen utfører sløyfen 10 ganger, x økes fra 0 til 9.
for x innen rekkevidde (10):
Nedenfor brukes kommandoen som evig sløyfe, med denne kommandoen vil setningene i denne sløyfen utføres kontinuerlig.
Mens 1:
Alle de andre funksjonene og kommandoene er forklart under "Kode" -seksjonen ved hjelp av "Kommentarer".
Etter å ha skrevet programmet og utført det, utløser Raspberry Pi de tilsvarende GPIO-ene for å vise sifferet på 7 Segment Display. Programmet er skrevet for at displayet skal telle fra 0-9 kontinuerlig.