Innholdsfortegnelse:
- Trinn 1: Ting som kreves
- Trinn 2: Kodelogikk og visning
- Trinn 3: Kjøreskjerm med mikrokontroller
- Trinn 4: Hvorfor multipleksing?
- Trinn 5: Hvordan oppnå dette?
- Trinn 6: Multiplexing algoritme
Video: Stoppeklokke som bruker Pic18f4520 i Proteus med 7 segmenter: 6 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:24
Jeg begynte akkurat å jobbe med bildekontroller, en av vennen min ba meg om å bygge en stoppeklokke av den. Så jeg har ikke maskinvarebilde å dele, jeg har skrevet kode og simulert det på Proteus -programvare.
her har jeg delt skjematikken for det samme.
tre variable millisekunder, sekunder, minutter er definert
her har vi brukt tidsavbrudd på 10 ms, for hver 1000 millisekunder vil sekunders variabel øke, for hver 60 sekunders minutt vil variabelen øke.
Trinn 1: Ting som kreves
1 pic18f4520 kontroller
2 syv segmentdisplayer
3 bc547 transistorer
4 brytere for start/stopp/tilbakestilling
5 motstander 330E, 10K, 1K
6 last ned mikroC for bilde
7 last ned proteus
Trinn 2: Kodelogikk og visning
En syv segmenters skjerm (SSD) er en av de mest vanlige, billige og brukervennlige skjermene. Det ser ut som ovenfor.
her må vi bruke vanlig katodetype med 7 segmenters display - I den vanlige katodetypen SSD er –ve -terminalen til alle lysdiodene vanligvis koblet til ‘COM’ -pinnen. Et segment kan tennes når '1' er gitt til det respektive LED -segmentet og bakken er koblet til felles. Det indre er gitt i figur 2.
Trinn 3: Kjøreskjerm med mikrokontroller
I min krets har jeg brukt NPN BC547 -transistoren.
For enkel bruk av en BJT som bryter, blir emitter-kollektor-kryssene kortsluttet når det er et inngangssignal på baseterminalen, ellers forblir det avbrudd. Inngangen skal gis gjennom en passende motstand.
Trinn 4: Hvorfor multipleksing?
Ofte må vi bruke to, tre eller flere SSD -er, og det også ved å bare bruke en enkelt MCU, men ett problem vi står overfor er mangelen på I/O -pinner i MCU, da en SSD ville ta 8 pinner, og så tre SSD -er ville ta 24 pins. På bilde 18 har vi bare 48 I/O -pinner. Så hva er løsningen?
En mulighet er at vi bruker en større MCU med flere I/O -pinner. Men så er vi fortsatt begrenset til bare maksimalt 3 SSD -er som kan brukes. En annen mye bedre og anbefalt løsning på dette problemet er å multiplexere de syv segmentdisplayene.
Wikipedia sier 'I telekommunikasjon og datanettverk er multiplexing (også kjent som muxing) en metode for å kombinere flere analoge meldingssignaler eller digitale datastrømmer til ett signal over et delt medium. Målet er å dele en dyr ressurs. 'Det vi mener med multiplexering av syv segmenter er at vi bare bruker 7 utgangsporter for å vise skjermen på alle SSD-ene.
Trinn 5: Hvordan oppnå dette?
Her vil vi bruke 'Persistence of Vision'. Nå må du ha krysset dette begrepet allerede før. Ja, dette er den samme teknikken som brukes i kinematografi (vis bilder så fort at hjernen vår ikke kan skille mellom et forsinkelse mellom to påfølgende bilder). På samme måte, når vi mux mer enn én SSD, viser vi bare én SSD om gangen, og vi bytter mellom dem så raskt at hjernen vår ikke kan skille mellom dem.
La oss si at hver skjerm bare er aktiv i 5 millisekunder om gangen, dvs. at den lyser 1/0,0045 ganger i sekundet, det er omtrent 222 ganger/sekund. Øynene våre kan ikke kjenne en forandring så fort, og det vi ser er at alle displayene fungerer samtidig. Det som faktisk skjer i maskinvaren er at MCU gir '1' til pinnen (husk å gi '1' til bunnen av en BJT -shorts Collector and emitter junction?), Som er koblet til basen til transistoren på de respektive skjermene, holder porten "PÅ" i 5 millisekunder, og slår den deretter av igjen. Denne prosedyren er satt i en endeløs sløyfe, slik at vi ser displayet kontinuerlig.
Trinn 6: Multiplexing algoritme
Definer to porter i koden, en for segmentdataport og segmentkontrollport.
trikset her er at du viser dataene på alle de 7 segmentene. og aktiver den ene kontrollnålen som du må vise disse dataene på. endre data og skift kontrollpinne.
her i denne instruerbare har vi brukt 6 -sifret multiplexing, bare gå gjennom c -filen som er vedlagt, så får du den fjernet.
Anbefalt:
Hindringsrobot som bruker ultralydsensor (Proteus): 12 trinn
Hinder -unngåelsesrobot ved bruk av ultralydssensor (Proteus): Vi støter vanligvis på hindrings -unngåelsesroboter hvor som helst. Maskinvaresimulering av denne roboten er en del av konkurransen på mange høyskoler og i mange arrangementer. Men programvaresimulering av hinderrobot er sjelden. Selv om vi kan finne det et sted
Lydspiller som bruker Arduino med Micro SD -kort: 7 trinn (med bilder)
Lydspiller som bruker Arduino med Micro SD -kort: Vennligst abonner på kanalen min for flere prosjekter ……………………. Mange ønsker å koble til SD -kortet med arduino eller ønsker litt lydutgang via arduino.Så her er den enkleste og billigste måten å koble til SD -kort med arduino. du kan oss
Stoppeklokke med 4 sifre og 7 segmenter: 3 trinn
Stoppeklokke med 4 sifre 7 segmenter: Denne instruksjonen viser deg hvordan du lager en fullt funksjonell stoppeklokke i sanntid fra et firesifret syv segment display
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino - Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter - Rc Helikopter - RC -fly som bruker Arduino: 5 trinn (med bilder)
Trådløs fjernkontroll ved bruk av 2,4 GHz NRF24L01 -modul med Arduino | Nrf24l01 4 -kanals / 6 -kanals sendermottaker for quadcopter | Rc Helikopter | Rc -fly ved bruk av Arduino: For å betjene en Rc -bil | Quadcopter | Drone | RC -fly | RC -båt, vi trenger alltid en mottaker og sender, anta at for RC QUADCOPTER trenger vi en 6 -kanals sender og mottaker, og den typen TX og RX er for kostbar, så vi lager en på vår
Hvordan lage en autonom basketballball som bruker en IRobot Lag som base: 7 trinn (med bilder)
Slik lager du en autonom basketballball som bruker en IRobot Lag som base: Dette er min oppføring for iRobot Create -utfordringen. Den vanskeligste delen av hele denne prosessen for meg var å bestemme hva roboten skulle gjøre. Jeg ønsket å demonstrere de kule funksjonene i Create, samtidig som jeg la til litt robo -teft. Alle mine