Läsare som du hjälper till att stödja MUO. När du gör ett köp med hjälp av länkar på vår webbplats kan vi tjäna en affiliate-provision. Läs mer.

Det billiga Raspberry Pi Pico-mikrokontrollkortet erbjuder stor flexibilitet för entusiaster att utforska projekt för att öka sin tekniska kunskap. Att lära sig grunderna kommer att ge dig en solid kunskapsbas för att med säkerhet arbeta mot mer komplexa uppgifter.

Här ska vi utforska hur du kan styra varje del av en sjusegmentsskärm med en Raspberry Pi Pico och lite MicroPython-kod.

Vad kommer du att behöva?

Följande artiklar ingår i Kitronik Inventor's Kit för Raspberry Pi Pico. Ändå, om du är en hamstrare av elektronik är det ganska troligt att du kommer att ha dessa delar undangömt hemma.

  • Sju segments display
  • 7x 220Ω motstånd
  • 9x hane-hane bygeltrådar
  • Bakbord

Du behöver en Pico med GPIO-stifthuvuden bifogade. Om du inte redan har gjort det, ta reda på det hur man löder header-stift på en Raspberry Pi Pico.

Ansluta hårdvaran

Ledningarna för detta projekt är inte komplicerade; men med en handfull motstånd och bygelkablar i spel, kommer detta att kräva att du är uppmärksam för att säkerställa att alla delar är anslutna till rätt stift. Med det i åtanke, låt oss dyka in i hur komponenterna ansluts mellan din Raspberry Pi Pico och breadboard.

instagram viewer

Dra först en tråd från ett GND-stift på Pico och placera den andra änden i valfritt hål längs den negativa breadboard-skenan. De återstående kontakterna kommer att anslutas till delar av breadboarden runt sjusegmentsskärmen och motstånden.

Bygeltrådar dras från GP16, GP17, och GP18 kommer att ansluta till höger sida av skärmen och i linje med motstånden som sitter ovanför skärmen.

På vänster sida av displayen med sju segment måste du dra den andra sidan av ledningarna som går från GP15, GP14, GP13, och GP12 till breadboard-anslutningar. Återigen, se till att ansluta ledningarna i linje med rätt motstånd.

Det finns en mindre bygelkabel som måste anslutas längs den negativa skenan på brödbrädan. Den andra sidan av denna anslutning kommer att gå mellan två motstånd precis ovanför skärmen. Se till att bekräfta att dina motståndsband är röda, röda, bruna och guld (för 220 ohm).

Stöter du på problem? Överväg att testa dina motstånd (särskilt om du har samlat på dig elektronikkomponenter under en tid). Se vår guide på hur man mäter motstånd med en multimeter för teststeg.

Utforska koden

Du kommer att ha möjlighet att styra vart och ett av de sju segmenten på skärmen med Thonny IDE. Kolla in vår guide om hur man gör kom igång med MicroPython på Raspberry Pi Pico för mer detaljer. Du kan ladda ner 7segment.py kodfil från MUO GitHub-förråd.

En avgörande del av koden är att tilldela de sju segmenten av skärmen till Pico-stift GP12 genom GP18, var och en med ett variabelnamn (segA till segG).

segA = maskin. Stift (18, maskin. Stift. UT)
segB = maskin. Stift (17, maskin. Stift. UT)
segC = maskin. Stift (16, maskin. Stift. UT)
segD = maskin. Stift (15, maskin. Stift. UT)
segE = maskin. Stift (14, maskin. Stift. UT)
segF = maskin. Stift (13, maskin. Stift. UT)
segG = maskin. Stift (12, maskin. Stift. UT)

En lista, kallad stift, håller dessa variabler i samma ordning. En kapslad lista (alias "lista med listor"), anropad tal, används sedan för att bestämma vilka segment som ska lysa för varje siffra; varje rad representerar en siffra från 0 till 9, plus en sista rad för ingen siffra. En "1" i listan anger att segmentet ska lysa; en "0" betyder att den inte borde.

De displaynummer funktionen kommer att anropas med vilken siffra som ska visas; för att visa den siffran, den relevanta raden i tal list används för att bestämma vilka segment som ska lysa, genom att trigga de tilldelade GPIO-utgångsstiften.

Slutligen, a medan det är sant: infiniteloop kommer att anropa displayNumber-funktionen upprepade gånger för att räkna från 0 till 9 och sedan i omvänd ordning. När det är klart kommer displayen att raderas under en kort tidsperiod. Därifrån börjar processen igen.

medanSann:
för i inom intervallet (10):
displayNumber (i)
tid.sleep_ms(600)

för i inom intervallet (9, -1, -1):
displayNumber (i)
tid.sleep_ms(600)

Om du inte redan har gissat kommer denna loop inte att sluta. Koden kommer att instruera din Raspberry Pi Pico att räkna i en oändlig slinga. Så när nyheten i din prestation har tagit slut, måste du trycka på stoppknappen i Thonny.

Vad kommer du att experimentera med härnäst?

Inspirerar det här projektet dig att skapa en digital klocka med din Raspberry Pi Pico och extra sjusegmentsskärmar? Ännu bättre, gå stort med en Raspberry Pi-dator i full storlek och konfigurera en cron-schemaläggare för att spela en låt varje morgon klockan 7:00. En snoozeknapp kan läggas till genom att stoppa musiken och sedan spela upp ljudet tio minuter senare. När du trycker på knappen tre gånger kan musiken ställas in på att stängas av tills imorgon.