Sommario:

$ 3 Alternativa a Makey Makey: 4 passaggi (con immagini)
$ 3 Alternativa a Makey Makey: 4 passaggi (con immagini)

Video: $ 3 Alternativa a Makey Makey: 4 passaggi (con immagini)

Video: $ 3 Alternativa a Makey Makey: 4 passaggi (con immagini)
Video: Беслан. Помни / Beslan. Remember (english & español subs) 2024, Luglio
Anonim
$3 Alternativa a Makey Makey
$3 Alternativa a Makey Makey
$3 Alternativa a Makey Makey
$3 Alternativa a Makey Makey

Il Makey Makey è un piccolo fantastico dispositivo che emula una tastiera USB e ti consente di creare chiavi con qualsiasi cosa un po' conduttiva (foglio di alluminio, banane, pasta da gioco, ecc.), Che può quindi essere utilizzata come controller per giochi e progetti educativi. Il Makey Makey ha due aspetti negativi: (1) il costo e (2) la necessità di una connessione a terra.

Questo progetto è un'alternativa economica che utilizza una scheda STM32F1 da $ 2 e il rilevamento capacitivo. Ha solo 10 ingressi rispetto ai 12 di Makey Makey, ma ha il vantaggio che oltre a emulare una tastiera, può emulare un controller gamepad USB (joystick digitale).

Parti:

  • Scheda "pillola nera" STM32F103c8 ($ 1,90 su Aliexpress; maggiori informazioni qui)
  • breadboard (meno di $ 1 su Aliexpress) e cavi di collegamento; o solo un mucchio di connettori dupont femmina-maschio ($ 0,70 su Aliexpress per un pacchetto di 40)
  • graffette, coccodrilli, ecc.

Utensili:

  • computer
  • Adattatore da UART a USB per la programmazione iniziale della scheda (un Arduino Uno o un Mega faranno il lavoro, così come un'unità CH340 economica)
  • saldatore per le intestazioni di saldatura alla scheda (puoi anche usare un mucchio di clip di prova senza saldatura, ma a volte cadono)

Il software è uno schizzo di esempio incluso con la mia libreria ADCTouchSensor che consente il rilevamento capacitivo con un singolo pin sulla scheda STM32F1 per sensore (è basato sulla libreria martin2250 per AVR).

Avvertenza: con tempo asciutto o dove l'elettricità statica è un problema (ad es. su un tappeto), non toccare i connettori metallici esposti per non causare danni elettrostatici alla scheda STM32F1. Mi aspetto che la resistenza di patate, banane, pasta da gioco, ecc. aiuti a proteggere la tavola, ma se usi un foglio di alluminio nudo, potresti avere problemi. D'altra parte, il consiglio è di soli $ 1,90.

Idee per attività educative:

  • Sperimenta per scoprire quali elementi sono conduttivi e possono essere utilizzati come superfici di controllo. (Ad esempio, mina contro pastello; pasta per giocare contro candela.)
  • Scrivi giochi Scratch che utilizzano un controller fatto in casa.
  • Modifica il codice Arduino che alimenta il progetto per consentire il clic/movimento del mouse, altri tasti, più di quattro direzioni del joystick, ecc.

Passaggio 1: installa Bootloader sulla scheda di sviluppo

Installa Bootloader sulla scheda di sviluppo
Installa Bootloader sulla scheda di sviluppo
Installa Bootloader sulla scheda di sviluppo
Installa Bootloader sulla scheda di sviluppo
Installa Bootloader sulla scheda di sviluppo
Installa Bootloader sulla scheda di sviluppo

Salda le due intestazioni a tre pin al centro del sistema di sviluppo Black Pill (B0-/center/B0+; B1-/center/B1+) e le intestazioni lunghe lungo i bordi (se hai fretta o vuoi per evitare pin non necessari che potrebbero confondere i bambini, ti servono solo pin per A0-A10 e G).

È necessario un bridge da UART a USB compatibile con i dispositivi 3.3v. Puoi ordinare un ch340 da Aliexpress per $ 0,66, ma avevo un'imitazione di Arduino Mega in giro e c'era un bel trucco che ho trovato online. Se su un Arduino cortocircuiti il pin di ripristino a terra con un filo corto, diventa un bridge da UART a USB, senza bisogno di schizzo. L'unico trucco è che l'etichettatura RX e TX viene invertita: il pin "RX" di Arduino trasmette e il suo pin "TX" riceve. L'Arduino funziona a 5v e il Black Pill a 3.3v, ma i pin PA9 e PA10 su stm32f103 sono tolleranti a 5V, quindi non dovrebbe essere un problema.

Sulle intestazioni che hai saldato, metti un ponticello da B0+ al centro e da B1- al centro.

Effettuare i seguenti collegamenti:

  • Da PA9 a UART bridge RX ("TX" se stai usando il trucco Arduino)
  • Da PA10 a UART bridge TX ("RX" se stai usando il trucco Arduino)
  • G alla terra del ponte UART

Puoi usare una breadboard, o ponticelli maschio-femmina, o se vuoi farlo prima di saldare le intestazioni, puoi usare clip di prova (come nella foto).

Scarica il binario del bootloader. Vuoi generic_boot20_pb12.bin.

Su Windows, installare Flash Loader Demonstrator di ST. Su Linux (e forse OS X e anche Windows se preferisci gli strumenti da riga di comando), usa invece questo script Python, ma le mie istruzioni saranno per Windows. Collega il tuo bridge UART al tuo computer.

Accendi Black Pill tramite la sua porta USB (se usi il computer, probabilmente si lamenterà di un dispositivo USB non riconosciuto; ignoralo). Avvia il dimostratore di Flash Loader. Scegli la porta COM per il tuo bridge UART. Scegli "Rimuovi protezione" se disponibile. Scegli una versione flash da 64 kb anziché da 128 kb. E carica il binario del bootloader.

Togli tutto e poi sposta il jumper da B0+/center a B0-/center. Ora hai un bootloader che puoi usare con l'IDE di Arduino.

Passaggio 2: configura l'IDE Arduino

Configura Arduino IDE
Configura Arduino IDE

Presumo che tu abbia installato l'ultimo IDE Arduino.

In Strumenti | Tavole | Boards Manager, installa il supporto per Arduino Zero (basta inserire Zero nella ricerca, fare clic sulla voce trovata, quindi Installa). Sì, non stai lavorando con uno Zero, ma questo installerà il compilatore gcc giusto.

Quindi, scarica il core stm32duino. Su Windows, consiglio di scaricare il file zip, poiché quando ho estratto i file (è vero, con svn), ho avuto alcuni problemi di permessi con i file nella directory degli strumenti di Windows che necessitavano di una correzione. Metti il ramo in Arduino/Hardware/Arduino_STM32 (così avrai cartelle come Arduino/Hardware/Arduino_STM32/STM32F1, ecc.) Su Windows, installa i driver eseguendo drivers\win\install_drivers.bat.

Passaggio 3: installare CapacitiveController Sketch

Installa CapacitiveController Sketch
Installa CapacitiveController Sketch
Installa CapacitiveController Sketch
Installa CapacitiveController Sketch
Installa CapacitiveController Sketch
Installa CapacitiveController Sketch

In Arduino IDE, scegli Schizzo | Includi libreria | Gestire le biblioteche. Cerca "ADCTouchSensor" e installa la versione 0.0.6 o successiva. Ripeti e cerca "USBHID" e installa la mia libreria USBHID_stm32f1.

Scegli File | Esempio | ADCTouchSensor | CapacitiveController.

Assicurati di avere le seguenti impostazioni in Strumenti:

  • Scheda: STM32F103C8 generico
  • Metodo di caricamento: Bootloader STM32duino

Collega la scheda al computer e fai clic sul pulsante "carica" freccia destra. Potrebbe essere necessario ripristinare la scheda (premere il pulsante di ripristino su di essa) una volta visualizzato il messaggio di caricamento nella console.

Passaggio 4: connessioni e pulsanti

Connessioni e pulsanti
Connessioni e pulsanti
Connessioni e pulsanti
Connessioni e pulsanti
Connessioni e pulsanti
Connessioni e pulsanti

Con il dispositivo scollegato, fai passare i cavi dai pin STM32F1 alle tue superfici di controllo. Connettiti con clip a coccodrillo, graffette o semplicemente attaccando i ponticelli agli oggetti. Puoi usare una breadboard o ponticelli da femmina a maschio. Per Tetris sul computer, abbiamo usato la modalità tastiera ei tasti freccia; per Pac Man sul tablet, abbiamo utilizzato un cavo USB OTG e la modalità joystick.

Lo sketch CapacitiveController calibra i sensori capacitivi quando è acceso. Assicurati che mentre lo accendi, non stai toccando le superfici di controllo, i cavi o i pin. E se modifichi una superficie di controllo, devi ricalibrare scollegando e ricollegando o premendo il pulsante di ripristino bianco sulla scheda.

La maggior parte delle app qui funzionerà, così come molte altre. Puoi anche vedere quanti progetti Makey Makey puoi adattare.

Alcune buone superfici di controllo:

  • frutta e verdura
  • plastilina
  • foglio di alluminio (tranne in condizioni statiche elevate)
  • pulsanti/connessioni pesantemente scritti a matita su carta (le linee di collegamento non dovrebbero essere troppo lunghe - nella foto, il pulsante più in basso non funzionava)
  • sperimentane molti altri! (puoi anche provare a modificare la riga 25 in if (sensors->read() > 25) nel codice sorgente per alcune superfici)

Connessioni modalità tastiera:

  • Lascia A10 disconnesso
  • A0: spazio
  • A1: su
  • A2: sinistra
  • A3: giù
  • A4: giusto
  • A5: w
  • A6: a
  • A7: s
  • B0: d
  • B1: f

Connessioni modalità gamepad/joystick:

  • Collega A10 a Ground (G) per impostare la modalità joystick
  • A0: tasto 1
  • A1: su
  • A2: sinistra
  • A3: giù
  • A4: giusto
  • A5-A7, B0, B1: pulsanti 2-6

Suggerimento:

Se si utilizzano ponticelli maschio-femmina, è possibile eseguire la connessione a terra A10 in modalità joystick incastonando le estremità maschio di due ponticelli l'uno nell'altro, formando così un ponticello femmina-femmina.

Consigliato: