I denne veiledningen viser jeg deg hvordan du installerer ScratchGPIO utvidelsespakken, hvordan du monterer et brødbrett med lysdioder og knapper, og kjør et enkelt Scratch-spill som bruker lysdiodene og brødbrettknappene til å spille.
Med Raspberry Pis vekt på utdanning er det perfekt fornuftig at Skrape er forhåndsinstallert på standard Raspbian-bygningen og tilgjengelig som et ikon på skrivebordet.
Simon Walters, @cymplecy på Twitter, har skapt en utvidelse for Scratch som lar programmet lese og skrive statusen til Raspberry Pi GPIO Pins. Simon blogger om sin opprettelse, ScratchGPIO på Cymplecy, og fortsetter å opprettholde den på sitt github-depot.
Brødbrettet vil huske lysdiodene og knappene med heksen ScratchGPIO vil samhandle. LEDene trenger en nåværende begrensningsmotstand på 220 OHM og knappene trenger 1K OHM motstandene for å sikre at pinnene ikke passerer for mye strøm.
Bruk bildet nedenfor, sett opp brødbrettet og hoppene til GPIO-pinnene som er vist i diagrammet. Pin-tallene som GPIO-modulen og Scratch-koden bruker, er de fysiske pinnumrene ikke GPIO eller logiske tall. Se bildene på siden RPi Lavt periferiutstyr for å identifisere pinnumrene.
Det er flere guider for å kjøpe og installere et OS på Raspberry Pi. Installer det nyeste Raspbian-operativsystemet. Når Raspberry Pi er konfigurert og oppstart opp til grafisk skrivebord, gå videre til neste trinn.
ScratchGPIO-programvaren endrer ikke eller erstatter skrape, den legger til et sett med pythonskript som integreres med Scratch, og legger til muligheten til å kontrollere og lese GPIO-pinnene på maskinvarenivå. Scratch vil fortsette å fungere som normalt etter installasjonen.
Det vil imidlertid være et nytt ikon på det grafiske skrivebordet til Raspberry Pi som vil starte GPIO-støtteskriptene og Skrape sammen. Installatøren er enkel og enkel å bruke. Følg instruksjonene nedenfor for å laste ned og installere ScratchGPIO-pakken.
wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
Emnet for å skrive Skrapprogrammer er dypt og bredt. Denne opplæringen dekker ikke detaljene for Scratch-programmering, men Scratch-nettstedet gjør en utmerket jobb med å introdusere og undervise Skrape hvis du vil lære mer.
I trinnene nedenfor vil du laste ned og kjøre et scratch-spill som utnytter GPIO-utvidelsene og breadboard-oppsettet du har bygget. Spillet setter utgangspinnene 11, 12 og 13 høyt for å telle lysdiodene og vise helsen til spillets helt, Cat.
Som katten mister helsen, slås lysdiodene av en etter en til de er alle mørke og spillet er over. Under spillspillet kontrollerer programmet statusen til inngangspinnene 3 og 5, og når tappene er lave eller jordet flytter Cat opp og ned for å unngå å lades motstanderen Rex.
Når du spiller spillet, vil du se hvordan de tre lysdiodene på breadboard reflekterer Helse nivået til Cat, og at knappene faktisk flytter Cat opp og ned. Jeg vil peke på biter av kode som interagerer med Pi GPIO-pinnene, nedenfor. Til referanse finner du full dokumentasjon på ScratchGPIO-pakken på forfatterens blogg.
Lysdiodene er drevet når de pinnene de er koblet til, er slått høye eller på. Lysdioden lyser og motstanden forhindrer for mye strøm fra passering. Klikk på Scene ikonet i nedre venstre panel i Skrappvinduet. Dette vil bringe skriptet for sceneobjektet inn i redigereren i midten av vinduet.
Kodestykket nedenfor er LED og helsehåndteringsrutine. Når kodeblokken mottar UpdateHealth kringkastingsmelding, vurderer helsesvariabelen og setter tappene lave når helsen går tapt.
De øyeblikkelige trykknappene kobler pins 3 og 5 til jord gjennom gjeldende begrensningsmotstand når de trykkes. Raspberry Pi gjenkjenner deretter pinnen så lav eller 0 i Scratch. Klikk på katt ikon nederst til høyre i vinduet for å få koden til den i midtruden.
I toppkoden blokk, etter noen oppsetthushjelp, kontrollerer kodesløyfene statusen til pinnene 3 og 5. Når enten detekteres for å være lav eller 0, vil meldingen opp eller ned er sendt. Senker i katt Skript er kodeblokker som mottar retningsbestemte meldinger og flytter sprite seg selv.
Høy poengsummen min var 34. Se om du kan slå det!
Scratch er et svært tilgjengelig og lett å lære programmeringsramme for både små barn og voksne. Den nære tilknytningen til Raspberry Pi og dens pedagogiske vekt har vært en perfekt kamp. ScratchGPIO-prosjektet bringer kontroll og sensing av Pi's low level GPIO-pinner til å skrape på en svært kraftig måte. Forfatteren fortsetter å forbedre pakken for å støtte LCD-skjermer, motorer, kompasskomponenter, avstandssensorer og andre elektroniske og robotkomponenter.
Nivået på maskinvarekontrollen som tilbys av ScratchGPIO-pakken, gjør det mulig for nybegynnerprogrammer å kommunisere med den fysiske verden med et enkelt og kjent programmeringsramme.
Ved å følge denne opplæringen har du lært hvordan du installerer ScratchGPIO-pakken, hvor du skal lete etter mer informasjon om den og Skrape. I tillegg har du montert en enkelbrettskrets som lar deg trygt eksperimentere med Scratch og GPIO-kontroll for både inngang og utgang.
Endelig installerte du et spill som kan brukes som et eksempel og et grunnlag for å bli modifisert for å lære og eksperimentere. Ettersom ScratchGPIO-prosjektet fortsetter å modnes og utvides, kan du se frem til å se en helt ny generasjon Raspberry Pi-robotikk styrt av Scratch.