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.
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.
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.
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.
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.
wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
Ä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.
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.
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.
Mitt höga poäng var 34. Se om du kan slå det!
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.