Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

Het goedkope Raspberry Pi Pico-microcontrollerbord biedt grote flexibiliteit voor liefhebbers om projecten te verkennen om hun technische kennis te vergroten. Door de basis te leren, krijgt u een solide kennisbasis om met vertrouwen aan complexere taken te werken.

Hier zullen we onderzoeken hoe je elk onderdeel van een scherm met zeven segmenten kunt bedienen met een Raspberry Pi Pico en wat MicroPython-code.

Wat heb je nodig?

De volgende items zijn inbegrepen bij de Kitronik Uitvinderskit voor Raspberry Pi Pico. Maar als je een verzamelaar van elektronica bent, is de kans groot dat je deze onderdelen thuis hebt weggestopt.

  • Display met zeven segmenten
  • 7x 220Ω weerstanden
  • 9x man-man jumperdraden
  • Broodplank

U hebt een Pico met GPIO-pinheaders nodig. Als je dat nog niet hebt gedaan, zoek het dan uit hoe header-pinnen op een Raspberry Pi Pico te solderen.

instagram viewer

De hardware aansluiten

De bedrading voor dit project is niet ingewikkeld; echter, met een handvol weerstanden en jumperdraden in het spel, moet je alert blijven om ervoor te zorgen dat alle stukken op de juiste pinnen zijn aangesloten. Laten we, met dat in gedachten, eens kijken hoe de componenten worden aangesloten tussen je Raspberry Pi Pico en breadboard.

Voer eerst een draad van een GND-pin op de Pico en plaats het andere uiteinde in een willekeurig gat langs de negatieve breadboard-rail. De resterende connectoren worden aangesloten op delen van het breadboard rond het zevensegmentendisplay en weerstanden.

Jumper-draden worden geleid vanaf GP16, GP17, En GP18 zal verbinding maken met de rechterkant van het scherm en in lijn met de weerstanden die boven het scherm zitten.

Aan de linkerkant van het display met zeven segmenten moet u de andere kant van de draden die er vanaf lopen, laten lopen GP15, GP14, GP13, En GP12 naar breadboard-verbindingen. Nogmaals, zorg ervoor dat u de draden aansluit op de juiste weerstanden.

Er is een kleinere jumperdraad die langs de negatieve rail van het breadboard moet worden aangesloten. De andere kant van deze verbinding gaat tussen twee weerstanden net boven het display. Zorg ervoor dat u bevestigt dat uw weerstandsbanden rood, rood, bruin en goud zijn (voor 220 ohm).

Loopt u tegen problemen aan? Overweeg om je weerstanden te testen (vooral als je al een tijdje elektronische componenten hebt verzameld). Zie onze gids op hoe weerstand te meten met een multimeter voor teststappen.

De gedragscode verkennen

Je hebt de mogelijkheid om elk van de zeven segmenten van het scherm te bedienen met behulp van de Thonny IDE. Bekijk onze gids over hoe aan de slag met MicroPython op Raspberry Pi Pico voor meer details. U kunt de downloaden 7segment.py codebestand van de MUO GitHub-repository.

Een cruciaal onderdeel van de code is het toewijzen van de zeven segmenten van het display aan Pico-pinnen GP12 door GP18, elk met een variabele naam (segA naar segG).

segA = machine. Pen (18, automaat. Pin. UIT)
segB = machine. Pen (17, machinaal. Pin. UIT)
segC = machine. Pen (16, automaat. Pin. UIT)
segD = machine. Pen (15, automaat. Pin. UIT)
segE = machine. Pen (14, automaat. Pin. UIT)
segF = machine. Pen (13, automaat. Pin. UIT)
segG = machine. Pen (12, automaat. Pin. UIT)

Een lijst, genaamd pinnen, houdt deze variabelen in dezelfde volgorde. Een geneste lijst (ook bekend als "lijst met lijsten"), genaamd nummers, wordt dan gebruikt om te bepalen welke segmenten voor elk cijfer moeten oplichten; elke regel vertegenwoordigt een cijfer van 0 tot 9, plus een laatste regel voor geen cijfer. Een "1" in de lijst geeft aan dat het segment verlicht moet zijn; een "0" betekent dat dit niet zou moeten.

De nummer weergeven functie wordt aangeroepen met welk cijfer moet worden weergegeven; om dat cijfer weer te geven, de relevante regel van de nummers lijst wordt gebruikt om te bepalen welke segmenten moeten worden verlicht, door de toegewezen GPIO-uitgangspennen te activeren.

Tot slot, een terwijl waar: oneindige loop roept de displayNumber-functie herhaaldelijk aan om van 0 tot 9 te tellen en vervolgens in omgekeerde volgorde. Als dat is voltooid, wordt het display voor een korte tijd gewist. Vanaf daar begint het proces opnieuw.

terwijlWAAR:
voor i in bereik (10):
weergavenummer (i)
tijd.slaap_ms(600)

voor i in bereik (9, -1, -1):
weergavenummer (i)
tijd.slaap_ms(600)

Als je het nog niet geraden hebt, zal deze lus niet stoppen. De code zal je Raspberry Pi Pico instrueren om in een eindeloze lus te tellen. Dus als de nieuwigheid van je prestatie eraf is, moet je op de stopknop in Thonny drukken.

Waar ga je hierna mee experimenteren?

Inspireert dit project je om een ​​digitale klok te maken met je Raspberry Pi Pico en extra displays met zeven segmenten? Beter nog, ga groots met een volwaardige Raspberry Pi-computer en configureer een cron-planner om elke ochtend om 7:00 uur een nummer af te spelen. Een snooze-knop kan worden toegevoegd door de muziek te stoppen en de audio tien minuten later af te spelen. Als je drie keer op de knop drukt, kan de muziek worden ingesteld om tot morgen uit te gaan.