Aflați cum să utilizați zmeura Pi Pin GPIO cu zgârieturi

În acest tutorial, vă vom arăta cum să instalați pachetul de expansiune ScratchGPIO, cum să asamblați un panou cu LED-uri și butoane și să rulați un simplu joc Scratch care folosește butoanele LED-urilor și butoanelor pentru a juca.


Zgârietură

Cu accentul pus de Raspberry Pi asupra educației, este perfect de înțeles faptul că Scratch este pre-instalat pe platforma implicită Raspbian și disponibilă ca o pictogramă pe desktop.

Simon Walters, @cymplecy on Twitter, a creat o expansiune pentru Scratch, care permite programului dvs. să citească și să scrie starea Pixel Pi Pin GPIO. Simon bloguri despre crearea lui, ScratchGPIO la Cymplecy și continuă să-l mențină în depozitul său github.


Strângeți componentele

  • Zmeura Pi - Modelul B cu sursa de alimentare, card SD, Monitor, tastatura si mouse-ul
  • LED-uri roșu, galben și verde
  • Rezistor 3 - 220 Ohm (roșu, roșu, brun)
  • Rezistor de 2 Ohm 1K (Brown, Negru, Roșu)
  • 2 - Momentul de apăsare pe buton
  • Plăci de prînz pline sau jumătate
  • 6 - Sârmă bărbat-femeie

Asamblați Breadboard-ul

Pâlpâirea va găzdui LED-urile și butoanele cu care ScratchGPIO va interacționa. LED-urile au nevoie de o rezistență de limitare curentă de 220 OHM și butoanele au nevoie de rezistoare 1K OHM pentru a se asigura că pinii nu trec prea mult curent.

Folosind imaginea de mai jos, configurați panourile și jumperii pe pinii GPIO prezentați în diagramă. Numerele PIN care utilizează modulul GPIO și codul Scratch sunt numerele fizice de PIN, nu GPIO sau numere logice. Consultați imaginile de pe pagina periferică RPi Low pentru a identifica numerele de pin.

  • Conectați cablurile de pe butoanele fizice 3 și 5 la butoanele de pe panoul de lucru, după cum se arată mai jos. Aceștia sunt desemnați ca intrări în mod implicit în software-ul ScratchGPIO.
  • Conectați LED-urile roșu, galben și verde de pe panourile de pâine la pinii fizici 11 ai lui Pi, 12 și 13, care sunt desemnați ca pini de ieșire de către ScratchGPIO.
  • Asigurați-vă că rezistorii potriviți se află pe panoul de paie. Rezistențele de 220 ohmi sunt pentru LED-uri, iar rezistențele de 1K ohm sunt pentru butoane.

Diagramă de Breadboard asamblată

Configurați Zmeura Pi

Există mai multe ghiduri pentru achiziționarea și instalarea unui sistem de operare pe zmeura Pi. Instalați ultimul sistem de operare Raspbian. Odată ce dvs. Raspberry Pi este configurat și încărcat până la desktop-ul grafic, treceți la pasul următor.


Instalați ScratchGPIO

Software-ul ScratchGPIO nu schimbă sau înlocuiește zgârieturile, adaugă un set de script-uri python care se integrează cu Scratch și adaugă capacitatea de a controla și de a citi pinii GPIO la nivel hardware. Scratch-ul va continua să funcționeze în mod normal după instalare.

Totuși, va exista o nouă pictogramă pe desktop-ul grafic al Raspberry Pi care va lansa scripturile de suport GPIO și Scratch împreună. Programul de instalare este simplu și ușor de utilizat. Urmați instrucțiunile de mai jos pentru a descărca și instala pachetul ScratchGPIO.

  • Faceți dublu clic și lansați LXTerminal
  • Executați următoarele comenzi:
 wget https://raw.github.com/cymplecy/scratch_gpio/master/install_scratchgpio4.sh -O isgh.sh sudo sh isgh.sh
  • Scriptul de instalare va fi completat politicos Mulțumesc și Terminat. Zicală Cu plăcere este opțional, dar cu siguranță este un lucru politicos.
  • Inchide LXTerm fereastră și observați noua pictogramă intitulată: Scratch GPIO4

Obțineți programul de exemplu Scratch

Subiectul scrierii programelor Scratch este profund și larg. Acest tutorial nu acoperă detaliile programării Scratch, dar site-ul Scratch face o treabă excelentă cu introducerea și predarea Scratch dacă doriți să aflați mai multe.

În pașii de mai jos, descărcați și rulați un joc de zgârieturi care profită de extensiile GPIO și de configurația pe care ați construit-o. Jocul stabilește pinii de ieșire 11, 12 și 13 de înaltă pentru a aprinde LED-urile și pentru a arăta starea de sănătate a eroului jocului, Cat.

Pe măsură ce pisica pierde sănătate, LED-urile sunt oprite unul câte unul până când toate sunt întunecate și jocul se termină. În timpul jocului, programul verifică starea pinilor de intrare 3 și 5 și atunci când pinii sunt scăzuți sau împământați, Cat se deplasează în sus și în jos pentru a încerca să evite adversarul de încărcare, Rex.

  • Lansa Midori de pe desktop-ul de Zmeura Pi
  • Descărcați fișierul Scratch gpiogame.sb
  • Salvați fișierul descărcat în / home / pi / zgârieturi / Documente / Proiecte Scratch
  • Închide Midori
  • Lansa Scratch GPIO4 de pe desktop
  • Clic O.K pe caseta de dialog care spune Senzorul de conexiuni la senzor este activat. Acest mesaj indică faptul că Scratch comunica cu subsistemul GPIO.
  • Selectați Fișier> Deschidere
  • Selectați fișierul gpiogame pentru a încărca jocul
  • Faceți clic pe Steagul verde în colțul din dreapta sus al ferestrei Scratch pentru a începe jocul
  • Apăsați butoanele de pe panza pentru a ajuta Cat să evite Rex. Faceți clic din nou pe steagul verde dacă doriți să reporniți jocul.

Pe măsură ce jucați jocul, veți vedea cum cele trei LED-uri de pe panoul de bord reflectă nivelul de sănătate al Cat și că butoanele într-adevăr se deplasează Cat în sus și în jos. Voi arăta biții de cod care interacționează cu pinii Pi GPIO, de mai jos. Pentru referință puteți găsi documentația completă despre pachetul ScratchGPIO pe blogul autorilor.

LED-urile sunt alimentate atunci când pinii la care sunt conectați sunt întoarse în sus sau în sus. LED-ul va străluci și rezistorul va împiedica trecerea prea mare a curentului. Faceți clic pe Etapă pictograma din panoul din partea stângă jos a ferestrei Scratch. Acest lucru va aduce scriptul pentru obiectul de scenă în editorul din centrul ferestrei.

Fragmentul de cod de mai jos este LED-ul și rutina de tratare a sănătății. Atunci când blocul de cod primește UpdateHealth mesaj de evaluare, ea evaluează variabila de sănătate și stabilește pinii scăzut atunci când pierderea sănătății.


LED Health Handling Routine

Butoanele instantanee conectează pinii 3 și 5 la masă prin rezistența de limitare curentă când este apăsată. Raspberry Pi recunoaste apoi pinul ca fiind scazut sau 0 in Scratch. Faceți clic pe pisică pictograma din panoul din dreapta jos al ferestrei pentru a aduce codul în panoul din mijloc.

În blocul de cod de vârf, după unele setări de mentenanță, codurile bifează verificarea stării pinilor 3 și 5. Când fie este detectată o valoare scăzută sau 0, mesajul sus sau jos este trimis. Coborâți în pisică script sunt blocuri de cod care primesc mesajele direcționale și mișcă sprite în sine.


Butonul de manevrare de rutină

Scorul meu ridicat a fost 34. Vezi dacă poți să bați asta!


Scor de mare valoare

rezumat

Scratch-ul este un cadru de programare foarte accesibil și ușor de învățat atât pentru copii mici cât și pentru adulți. Asocierea sa strânsă cu Raspberry Pi și accentul său educațional a fost o potrivire perfectă. Proiectul ScratchGPIO aduce controlul și percepția pinilor GPIO de nivel scăzut de la Pi la Scratch într-un mod foarte puternic. Autorul continuă să consolideze pachetul pentru a suporta ecrane LCD, motoare, componente compas, senzori de distanță și alte componente electronice și robotice.

Nivelul de control al hardware-ului oferit de pachetul ScratchGPIO permite programatorilor începători abilitatea de a interacționa cu lumea fizică cu un cadru de programare simplu și familiar.

Urmând acest tutorial, ați învățat cum să instalați pachetul ScratchGPIO, unde să căutați mai multe informații despre acesta și despre Scratch. În plus, ați asamblat un circuit ușor de utilizat, care vă va permite să experimentați cu siguranță controlul Scratch și GPIO atât pentru intrare cât și pentru ieșire.

În cele din urmă, ați instalat un joc care poate fi folosit ca exemplu și ca bază pentru a fi modificată pentru a învăța și a experimenta. Pe măsură ce proiectul ScratchGPIO continuă să se maturizeze și să se extindă, puteți aștepta să vedeți o nouă generație de robotică de Raspberry Pi controlată de Scratch.