Lær hvordan du bruker Raspberry Pi GPIO Pins Med Scratch

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.


Ripe

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.


Samle komponentene

  • Raspberry Pi - Modell B med strømforsyning, SD-kort, Monitor, tastatur og mus
  • Røde, gule og grønne lysdioder
  • 3 - 220 ohm motstand (rød, rød, brun)
  • 2 - 1K ohm motstand (brun, svart, rød)
  • 2 - Momentary på trykknapp
  • Full eller halv størrelse brødbrett
  • 6 - Mann til Female Jumper Wire

Monter brødbrettet

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.

  • Koble knappens ledninger fra fysiske pinner 3 og 5 til knappene på brødbrettet som vist under. Disse pinnene er angitt som standardinngang i ScratchGPIO-programvaren.
  • Koble de røde, gule og grønne lysdiodene på breadboard til Pi's fysiske pinner 11, 12 og 13 som er utpekt som utgangsstifter av ScratchGPIO.
  • Pass på at de riktige motstandene er på breadboard. De 220 ohm motstandene er for lysdiodene og 1K ohm motstandene er for knappene.

Samlet brettbrettdiagram

Sett opp Raspberry Pi

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.


Installer ScratchGPIO

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.

  • Dobbeltklikk og start LXTerminal
  • Utfør følgende kommandoer:
 wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
  • Installasjonsprogrammet vil fullføre høflig ordtak Takk skal du ha og ferdig. Ordtak Værsågod er valgfritt, men sikkert den høflige tingen å gjøre.
  • Lukk LXTerm vindu og legg merke til det nye ikonet med tittelen: Skrap GPIO4

Få programmet Skrapeeksempel

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.

  • Launch Midori fra skrivebordet til Raspberry Pi
  • Last ned gpiogame.sb Scratch-filen
  • Lagre den nedlastede filen til / home / pi / scratch / Dokumenter / Scratch Projects
  • Lukk Midori
  • Launch Skrap GPIO4 fra skrivebordet
  • Klikk OK på dialogboksen som sier Fjernføler tilkoblinger aktivert. Denne meldingen indikerer at Scratch kommuniserer med GPIO-delsystemet.
  • Å velge Fil> Åpne
  • Velg filen gpiogame å laste spillet
  • Klikk på Grønn flagg i øvre høyre hjørne av Skrape-vinduet for å starte spillet
  • Trykk på knappene på brødbrettet for å hjelpe Cat unngå Rex. Klikk på det grønne flagget igjen hvis du vil starte spillet på nytt.

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.


LED Helsehåndteringsrutin

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.


Knapphåndtering Rutine

Høy poengsummen min var 34. Se om du kan slå det!


High Score Brag

Sammendrag

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.