Lär dig hur man använder Raspberry Pi GPIO-stift med scratch

I denna handledning visar jag dig hur du installerar ScratchGPIO expansionspaketet, hur man monterar ett brödbräda med lysdioder och knappar och kör ett enkelt Scratch-spel som använder lysdioderna och brädbräsknapparna för att spela.


Repa

Med Raspberry Pis betoning på utbildning gör det perfekt att Scratch är förinstallerad på standard Raspbian-byggnaden och tillgänglig som en ikon på skrivbordet.

Simon Walters, @cymplecy på Twitter, har skapat en expansion för Scratch som låter ditt program läsa och skriva statusen för Raspberry Pi GPIO Pins. Simon bloggar om hans skapelse, ScratchGPIO på Cymplecy och fortsätter att behålla det på sitt githubförråd.


Samla komponenterna

  • Raspberry Pi - Modell B med strömförsörjning, SD-kort, Monitor, tangentbord och mus
  • Röd, Gul och Grön LED
  • 3 - 220 ohm motstånd (röd, röd, brun)
  • 2 - 1K ohm motstånd (brun, svart, röd)
  • 2 - Momentary på tryckknapp
  • Fullbredd eller halvstort brödbräda
  • 6 - Man till Kvinna Jumper Wire

Montera brödbrädet

Brödbrädet kommer att rymma LED-lamporna och knapparna med häxan ScratchGPIO kommer att interagera. LED-lamporna behöver ett strömbegränsningsmotstånd på 220 OHM och knapparna behöver 1K OHM-motstånd för att säkerställa att stiften inte passerar för mycket ström.

Använd bilden nedan och sätt in brödbrädet och hovarna till GPIO-stiften som visas i diagrammet. Stiftnumren som GPIO-modulen och Scratch-koden använder är de fysiska stiftnumren, inte GPIO eller logiska nummer. Se bilderna på sidan RPi Lågnivå kringutrustning för att identifiera stiftnumren.

  • Anslut knappens ledningar från fysiska stift 3 och 5 till knapparna på brödbrädet enligt nedan. Dessa stiften är angivna som standardinmatning i ScratchGPIO-programvaran.
  • Anslut de röda, gula och gröna lysdioderna på brödbrädet till Pi: s fysiska stift 11, 12 och 13, vilka är betecknade som utmatningsstift från ScratchGPIO.
  • Se till att rätt motstånd finns på breadboard. 220 ohm motstånd är för lysdioderna och 1K ohm motstånd är för knapparna.

Sammansatt brödbräda Diagram

Installera Raspberry Pi

Det finns flera guider för att köpa och installera ett operativsystem på din Raspberry Pi. Installera det senaste operativsystemet Raspbian. När din Raspberry Pi har konfigurerats och startats upp till det grafiska skrivbordet fortsätter du till nästa steg.


Installera ScratchGPIO

ScratchGPIO-programvaran ändrar inte eller ersätter inte repet, den lägger till en uppsättning pythonskript som integrerar med Scratch och lägger till förmågan att styra och läsa GPIO-pinnar på hårdvarunivå. Skrapan fortsätter att fungera som vanligt efter installationen.

Det kommer emellertid att finnas en ny ikon på Raspberry Pis grafiska skrivbord som kommer att starta GPIO-supportskript och Scratch tillsammans. Installatören är enkel och lätt att använda. Följ anvisningarna nedan för att ladda ner och installera ScratchGPIO-paketet.

  • Dubbelklicka och starta LXTerminal
  • Utför följande kommandon:
 wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
  • Installatörsskriptet kommer att slutföra med artigt ord Tack och Färdiga. säger Varsågod är valfritt men säkert den artiga sak att göra.
  • Stäng LXTerm fönstret och märka den nya ikonen med titeln: Skrapa GPIO4

Hämta programmet Skraplösning

Ämnet med att skriva Scratch-program är djupt och brett. Denna handledning täcker inte detaljerna i Scratch-programmering, men Scratch-webbplatsen gör ett utmärkt jobb med att introducera och undervisa Scratch om du vill lära dig mer.

I stegen nedan kommer du ladda ner och köra ett skrapspel som utnyttjar GPIO-utvidgningarna och den brödbordsinstallation du byggt. Spelet sätter utgångsstiften 11, 12 och 13 högt för att tända lysdioderna och visa hälsan hos spelets hjälte, Cat.

Som katt förlorar hälsan är lysdioderna avstängda en efter en tills de är alla mörka och spelet är över. Under spelningen kontrollerar programmet statusen för ingångarna 3 och 5 och när tapparna är låga eller jordade flyttar Cat upp och ner för att försöka undvika laddningsmotståndaren Rex.

  • Lansera Midori från skrivbordet till din Raspberry Pi
  • Ladda ner gpiogame.sb Scratch-filen
  • Spara den nedladdade filen till / home / pi / scratch / Documents / Scratch Projects
  • Stänga Midori
  • Lansera Skrapa GPIO4 från skrivbordet
  • Klick ok i dialogrutan som säger Fjärrkontrollens anslutningar är aktiverade. Detta meddelande indikerar att Scratch kommunicerar med GPIO-delsystemet.
  • Välj Arkiv> Öppna
  • Välj filen gpiogame att ladda spelet
  • Klicka på Grön flagga i övre högra hörnet av scratch-fönstret för att starta spelet
  • Tryck på knapparna på brödbrädet för att hjälpa Cat att undvika Rex. Klicka på den gröna flaggan igen om du vill starta om spelet.

När du spelar spelet ser du hur de tre lysdioderna på brödbrädan återspeglar kattens hälsonivå och att knapparna verkligen flyttar katten upp och ner. Jag pekar på bitarna av kod som interagerar med Pi GPIO-stiften, nedan. För referens kan du hitta fullständig dokumentation på ScratchGPIO-paketet på författarens blogg.

Lysdioderna är strömma när de stift som de är anslutna till är vända höga eller på. Lysdioden lyser och motståndet förhindrar för mycket ström från att passera. Klicka på Skede ikonen i nedre vänstra panelen i scratch-fönstret. Detta kommer att föra skriptet för scenobjektet i redigeraren i mitten av fönstret.

Koden nedan är LED och hälsohanteringsrutinen. När kodblocket tar emot UpdateHealth sändningsmeddelande, utvärderar hälsovariabeln och sätter stiften låg när hälsan går förlorad.


LED Hälsohanteringsrutin

De momentan tryckknapparna kopplar stiften 3 och 5 till marken genom strömbegränsningsmotståndet när de trycks in. Raspberry Pi känner igen stiftet så lågt eller 0 i Scratch. Klicka på katt ikonen i nedre högra rutan i fönstret för att få koden för den i mellansidan.

I toppkodsblocket, efter vissa inställningshushållning, kontrollerar koden looparna statusen för stift 3 och 5. När antingen detekteras att vara låg eller 0, meddelandet upp eller ner är skickat. Lägre i katt script är kodblock som tar emot riktningsmeddelanden och flyttar själva sprite.


Knapphanteringsrutin

Mitt höga poäng var 34. Se om du kan slå det!


High Score Brag

Sammanfattning

Scratch är en väldigt tillgänglig och lätt att lära sig programmeringsramar för både småbarn och vuxna. Dess nära samarbete med Raspberry Pi och dess pedagogiska betoning har varit en perfekt match. ScratchGPIO-projektet ger kontroll och avkänning av Pi: s lågnivå GPIO-stift till Scratch på ett mycket kraftfullt sätt. Författaren fortsätter att förbättra paketet för att stödja LCD-skärmar, motorer, kompasskomponenter, avståndssensorer och andra elektroniska och robotkomponenter.

Nivån på hårdvarukontroll som erbjuds av ScratchGPIO-paketet gör att även nybörjareprogrammerare kan interagera med den fysiska världen med en enkel och välbekant programmeringsram.

Genom att följa den här handledningen har du lärt dig hur du installerar ScratchGPIO-paketet, var du ska leta efter mer information om det och Scratch. Dessutom har du monterat en lättanvända breadboard-krets som gör att du kan försöka experimentera med Scratch och GPIO-kontroll för både ingång och utgång.

Slutligen installerade du ett spel som kan användas som ett exempel och en grund som ska ändras för att lära och experimentera. Eftersom ScratchGPIO-projektet fortsätter att mogna och expandera kan du se fram emot att se en helt ny generation av Raspberry Pi-robotik som styrs av Scratch.