Cuprins:

3 USD Alternativă la Makey Makey: 4 pași (cu imagini)
3 USD Alternativă la Makey Makey: 4 pași (cu imagini)

Video: 3 USD Alternativă la Makey Makey: 4 pași (cu imagini)

Video: 3 USD Alternativă la Makey Makey: 4 pași (cu imagini)
Video: Raspberry PiPod Podcast - Episode 1 - for Raspberry PI enthusiasts 2024, Iulie
Anonim
3 USD Alternativă la Makey Makey
3 USD Alternativă la Makey Makey
3 USD Alternativă la Makey Makey
3 USD Alternativă la Makey Makey

Makey Makey este un dispozitiv mic, care emulează o tastatură USB și vă permite să creați taste din orice lucru oarecum conductiv (folie de aluminiu, banane, aluat de joc etc.), care poate fi apoi folosit ca controler pentru jocuri și proiecte educaționale.. Makey Makey are două dezavantaje: (1) cost și (2) necesitatea unei conexiuni la sol.

Acest proiect este o alternativă ieftină, folosind o placă STM32F1 de 2 USD și o detectare capacitivă. Are doar 10 intrări spre deosebire de Makey Makey's 12, dar are avantajul că, pe lângă emularea unei tastaturi, poate emula un controler USB gamepad (joystick digital).

Părți:

  • tablă „pilula neagră” STM32F103c8 (1,90 USD pe Aliexpress; mai multe informații aici)
  • panou de prindere (mai puțin de 1 USD pe Aliexpress) și fire jumper; sau doar o grămadă de conectori dupont de la femeie la mascul (0,70 USD pe Aliexpress pentru un pachet de 40)
  • agrafe, agrafe de aligator etc.

Instrumente:

  • calculator
  • Adaptor UART-la-USB pentru programarea inițială a plăcii (un Arduino Uno sau Mega va face treaba, la fel ca o unitate CH340 ieftină)
  • fier de lipit pentru lipirea anteturilor la bord (puteți utiliza, de asemenea, o grămadă de cleme de test fără lipire, dar uneori cad)

Software-ul este un exemplu de schiță inclus în biblioteca mea ADCTouchSensor, care permite detectarea capacitivă cu un singur pin pe placa STM32F1 per senzor (se bazează pe biblioteca martin2250 pentru AVR).

Atenție: pe vreme uscată sau în cazul în care statica este o problemă (de exemplu, pe un covor), nu atingeți conectorii metalici expuși pentru a nu provoca daune electrostatice la placa STM32F1. Mă aștept ca rezistența cartofilor, a bananelor, a aluatului, etc. va ajuta la protejarea plăcii, dar dacă utilizați folie de aluminiu goală, s-ar putea să aveți probleme. Pe de altă parte, placa este de doar 1,90 USD.

Idei de activitate educațională:

  • Experimentați pentru a afla ce elemente sunt conductoare și pot fi utilizate ca suprafețe de control. (De exemplu, plumb vs. creion; joacă aluat vs. lumânare.)
  • Scrieți jocuri Scratch care utilizează un controler de casă.
  • Modificați codul Arduino care alimentează proiectul pentru a permite clicul / mișcarea mouse-ului, alte taste, mai mult de patru direcții ale joystick-ului etc.

Pasul 1: Instalați Bootloader pe placa de dezvoltare

Instalați Bootloader pe placa de dezvoltare
Instalați Bootloader pe placa de dezvoltare
Instalați Bootloader pe placa de dezvoltare
Instalați Bootloader pe placa de dezvoltare
Instalați Bootloader pe placa de dezvoltare
Instalați Bootloader pe placa de dezvoltare

Lipiți cele două anteturi cu trei pini din mijlocul sistemului de dezvoltare Black Pill (B0- / center / B0 +; B1- / center / B1 +) și antetele lungi de-a lungul marginilor (dacă vă grăbiți sau doriți pentru a evita pinii inutili care pot deruta copiii, trebuie doar ace pentru A0-A10 și G).

Aveți nevoie de o punte UART la USB care este compatibilă cu dispozitivele de 3.3v. Puteți comanda un ch340 de la Aliexpress la 0,66 USD, dar am avut un knockoff Arduino Mega care stătea în jur și a existat un truc grozav pe care l-am găsit online. Dacă pe un Arduino scurtați pinul de resetare la masă cu un fir scurt, atunci acesta devine o punte UART la USB - nu este necesară o schiță. Singurul truc este că etichetarea RX și TX devine inversă: pinul „RX” al Arduino transmite și pinul său „TX” primește. Arduino funcționează la 5v și pilula neagră la 3,3v, dar pinii PA9 și PA10 de pe stm32f103 sunt toleranți la 5V, deci nu ar trebui să fie o problemă.

Pe antetele pe care le-ați lipit, puneți un jumper de la B0 + la centru și de la B1- la centru.

Faceți următoarele conexiuni:

  • PA9 către UART bridge RX („TX” dacă utilizați trucul Arduino)
  • PA10 către UART bridge TX („RX” dacă utilizați trucul Arduino)
  • G la solul podului UART

Puteți utiliza o panou de testare sau jumperi de la bărbat la femeie sau, dacă doriți să o faceți înainte de a lipi anteturile, puteți utiliza clipuri de test (ca în fotografie).

Descărcați binarul bootloader. Doriți generic_boot20_pb12.bin.

Pe Windows, instalați Flash Loader Demonstrator al ST. Pe Linux (și poate OS X și chiar Windows, dacă preferați instrumentele de linie de comandă), utilizați în schimb acest script python, dar instrucțiunile mele vor fi pentru Windows. Conectați-vă podul UART la computer.

Porniți Black Pill prin portul USB (dacă utilizați computerul, probabil că se va plânge de un dispozitiv USB nerecunoscut; ignorați acest lucru). Porniți Flash Loader Demonstrator. Alegeți portul COM pentru podul UART. Alegeți „Eliminați protecția” dacă este disponibilă. Alegeți o versiune flash de 64 KB, nu 128 KB. Și încărcați binarul bootloader.

Deconectați totul și apoi mutați jumperul de la B0 + / centru la B0- / centru. Acum aveți un bootloader pe care îl puteți folosi cu IDE-ul Arduino.

Pasul 2: Configurați Arduino IDE

Configurați Arduino IDE
Configurați Arduino IDE

Presupun că ai instalat cel mai recent IDE Arduino.

În Instrumente | Panouri | Boards Manager, instalați suport pentru Arduino Zero (pur și simplu introduceți Zero în căutare, faceți clic pe intrarea găsită și apoi Instalați). Da, nu lucrați cu un zero, dar acest lucru va instala compilatorul gcc potrivit.

Apoi, descărcați nucleul stm32duino. Pe Windows, vă recomand să descărcați fișierul zip, deoarece, atunci când am verificat fișierele (desigur, cu svn), am avut unele probleme de permisiuni cu fișierele din directorul de instrumente Windows care necesită remedierea. Puneți filiala în Arduino / Hardware / Arduino_STM32 (astfel veți avea foldere precum Arduino / Hardware / Arduino_STM32 / STM32F1 etc.) Pe Windows, instalați driverele rulând drivere / win / install_drivers.bat.

Pasul 3: Instalați CapacitiveController Sketch

Instalați CapacitiveController Sketch
Instalați CapacitiveController Sketch
Instalați CapacitiveController Sketch
Instalați CapacitiveController Sketch
Instalați CapacitiveController Sketch
Instalați CapacitiveController Sketch

În Arduino IDE, alegeți Schiță | Includeți biblioteca | Gestionați bibliotecile. Căutați „ADCTouchSensor” și instalați versiunea 0.0.6 sau mai recentă. Repetați și căutați „USBHID” și instalați biblioteca USBHID_stm32f1.

Alegeți Fișier | Exemplu | ADCTouchSensor | CapacitiveController.

Asigurați-vă că aveți următoarele setări în Instrumente:

  • Placă: STM32F103C8 generic
  • Metoda de încărcare: STM32duino Bootloader

Conectați placa la computer și faceți clic pe săgeata dreapta butonul „încărcați”. Poate fi necesar să resetați placa (apăsați butonul de resetare de pe ea) odată ce mesajul de încărcare apare în consolă.

Pasul 4: Conexiuni și butoane

Conexiuni și butoane
Conexiuni și butoane
Conexiuni și butoane
Conexiuni și butoane
Conexiuni și butoane
Conexiuni și butoane

Cu dispozitivul deconectat, rulați firele de la pinii STM32F1 pe suprafețele de control. Conectați-vă cu agrafe de aligator, agrafe de hârtie sau doar prin lipirea jumperilor în obiecte. Puteți utiliza o pană de testare sau jumperi de la femeie la bărbat. Pentru Tetris pe computer, am folosit modul tastatură și tastele săgeată; pentru Pac Man pe tabletă, am folosit un cablu USB OTG și modul joystick.

Schița CapacitiveController calibrează senzorii capacitivi atunci când este pornit. Asigurați-vă că, în timp ce îl porniți, nu atingeți suprafețele de control, firele sau pinii. Și dacă modificați orice suprafață de control, trebuie să vă recalibrați deconectând și conectând din nou sau apăsând butonul alb de resetare de pe placă.

Majoritatea aplicațiilor de aici vor funcționa, precum și multe altele. De asemenea, puteți vedea câte proiecte Makey Makey puteți adapta.

Câteva suprafețe de control bune:

  • fructe si legume
  • joacă aluat
  • folie de aluminiu (cu excepția condițiilor statice ridicate)
  • butoane / conexiuni puternic creionate pe hârtie (liniile de conectare nu ar trebui să fie prea lungi - în fotografie, butonul din partea de jos nu a funcționat)
  • experimentează cu multe altele! (puteți încerca, de asemenea, să modificați linia de 25 in if (senzori -> read ()> 25) din codul sursă pentru unele suprafețe)

Conexiuni mod tastatură:

  • Lăsați A10 deconectat
  • A0: spațiu
  • A1: sus
  • A2: stânga
  • A3: jos
  • A4: corect
  • A5: w
  • A6: a
  • A7: s
  • B0: d
  • B1: f

Conexiuni mod Gamepad / Joystick:

  • Conectați A10 la masă (G) pentru a seta modul joystick
  • A0: butonul 1
  • A1: sus
  • A2: stânga
  • A3: jos
  • A4: corect
  • A5-A7, B0, B1: butoanele 2-6

Aluzie:

Dacă utilizați jumperi de la bărbat la femeie, puteți efectua conexiunea la sol cu modul joystick A10 blocând capetele masculine ale celor două jumperi unul în celălalt, formând astfel un jumper de la femeie la femeie.

Recomandat: