Innehållsförteckning:

$ 3 Alternativ till Makey Makey: 4 steg (med bilder)
$ 3 Alternativ till Makey Makey: 4 steg (med bilder)

Video: $ 3 Alternativ till Makey Makey: 4 steg (med bilder)

Video: $ 3 Alternativ till Makey Makey: 4 steg (med bilder)
Video: 3 Tinkering con Makey Makey parte 1 2024, November
Anonim
$ 3 Alternativ till Makey Makey
$ 3 Alternativ till Makey Makey
$ 3 Alternativ till Makey Makey
$ 3 Alternativ till Makey Makey

Makey Makey är en fantastisk liten enhet som emulerar ett USB -tangentbord och låter dig göra nycklar av något som är lite ledande (aluminiumfolie, bananer, lekdeg etc.), som sedan kan användas som kontroller för spel och utbildningsprojekt. Makey Makey har två nackdelar: (1) kostnad och (2) behovet av en jordanslutning.

Detta projekt är ett billigt alternativ med ett $ 2 STM32F1 -kort och kapacitiv avkänning. Den har bara 10 ingångar i motsats till Makey Makeys 12, men den har fördelen att den förutom att emulera ett tangentbord kan emulera en USB -spelkontroll (digital joystick).

Delar:

  • "svart piller" STM32F103c8 -kort ($ 1,90 på Aliexpress; mer information här)
  • brödbräda (mindre än $ 1 på Aliexpress) och bygelkablar; eller bara ett gäng kvinnliga till manliga dupont-kontakter ($ 0,70 på Aliexpress för ett paket med 40)
  • gem, alligatorklipp, etc.

Verktyg:

  • dator
  • UART-till-USB-adapter för första kortprogrammering (en Arduino Uno eller Mega kommer att göra jobbet, liksom en billig CH340-enhet)
  • lödkolv för lödning av rubriker till brädet (du kan också använda ett gäng testklipp utan lödning, men de faller ibland ut)

Programvaran är en exempelskiss som ingår i mitt ADCTouchSensor -bibliotek som möjliggör kapacitiv avkänning med en enda stift på STM32F1 -kortet per sensor (den är baserad på martin2250s bibliotek för AVR).

Varning: Vid torrt väder, eller där statisk är ett problem (t.ex. på en matta), rör inte vid de exponerade metallkontakterna så att du inte orsakar elektrostatisk skada på STM32F1 -kortet. Jag förväntar mig att motståndet från potatis, bananer, lekdeg etc. hjälper till att skydda brädet, men om du använder bar aluminiumfolie kan du få problem. Å andra sidan kostar brädet endast 1,90 dollar.

Utbildningsaktivitetsidéer:

  • Experimentera för att ta reda på vilka föremål som är ledande och kan användas som kontrollytor. (Exempelvis blyertspenna kontra krita; spela deg vs. ljus.)
  • Skriv Scratch-spel som använder en hemmagjord kontroller.
  • Ändra Arduino -koden som driver projektet för att tillåta musklick/rörelse, andra tangenter, mer än fyra joystickriktningar, etc.

Steg 1: Installera Bootloader på Development Board

Installera Bootloader på Development Board
Installera Bootloader på Development Board
Installera Bootloader på Development Board
Installera Bootloader på Development Board
Installera Bootloader på Development Board
Installera Bootloader på Development Board

Löd de två tre-stifts rubrikerna i mitten av Black Pill-utvecklingssystemet (B0-/center/B0+; B1-/center/B1+) och de långa rubrikerna längs kanterna (om du har bråttom eller vill ha för att undvika onödiga stift som kan förvirra barn behöver du bara stift för A0-A10 och G).

Du behöver en UART till USB -brygga som är kompatibel med 3.3v -enheter. Du kan beställa en ch340 från Aliexpress för $ 0.66, men jag hade en Arduino Mega knockoff sittande, och det var ett coolt trick jag hittade online. Om du på en Arduino kortar återställningsstiftet till jord med en kort tråd, blir det en UART till USB-brygga-ingen skiss behövs. Det enda tricket är att RX- och TX -märkningen blir omvänd: Arduinos "RX" -pinne sänder och dess "TX" -pinne tar emot. Arduino körs på 5v och Black Pill på 3.3v, men PA9- och PA10 -stiften på stm32f103 är 5V -toleranta enligt, så det borde inte vara ett problem.

På rubrikerna du lödde, sätt en bygel från B0+ till centrum och från B1- till centrum.

Gör följande anslutningar:

  • PA9 till UART bridge RX ("TX" om du använder Arduino -tricket)
  • PA10 till UART bridge TX ("RX" om du använder Arduino -tricket)
  • G till UART bromark

Du kan använda en brödbräda eller man-till-kvinna hoppare, eller om du vill göra det innan du lödar rubrikerna kan du använda testklipp (som på bilden).

Ladda ner binär bootloader. Du vill ha generic_boot20_pb12.bin.

På Windows, installera ST: s Flash Loader Demonstrator. På Linux (och kanske OS X och till och med Windows om du föredrar kommandoradsverktyg), använd det här python -skriptet istället, men mina instruktioner kommer att vara för Windows. Anslut din UART -bro till din dator.

Slå på den svarta pillren via USB -porten (om du använder datorn kommer den troligen att klaga på en okänd USB -enhet; ignorera det). Starta Flash Loader Demonstrator. Välj COM -porten för din UART -bro. Välj "Ta bort skydd" om tillgängligt. Välj en 64kb snarare än 128kb flashversion. Och ladda upp bootloader binär.

Koppla ur allt och flytta sedan bygeln från B0+/center till B0-/center. Du har nu en bootloader som du kan använda med Arduino IDE.

Steg 2: Konfigurera Arduino IDE

Konfigurera Arduino IDE
Konfigurera Arduino IDE

Jag antar att du har den senaste Arduino IDE installerad.

I Verktyg | Styrelser | Boards Manager, installera stöd för Arduino Zero (lägg bara in Noll i sökningen, klicka på den hittade posten och sedan Installera). Ja, du arbetar inte med en Zero, men det här kommer att installera rätt gcc -kompilator.

Ladda sedan ner stm32duino -kärnan. I Windows rekommenderar jag att du laddar ner zip -filen, eftersom när jag checkade ut filerna (visserligen med svn) hade jag några behörighetsproblem med filer i Windows -verktygskatalogen som behövde fixas. Sätt grenen i Arduino/Hardware/Arduino_STM32 (så får du mappar som Arduino/Hardware/Arduino_STM32/STM32F1, etc.) På Windows installerar du drivrutiner genom att köra drivers / win / install_drivers.bat.

Steg 3: Installera CapacitiveController Sketch

Installera CapacitiveController Sketch
Installera CapacitiveController Sketch
Installera CapacitiveController Sketch
Installera CapacitiveController Sketch
Installera CapacitiveController Sketch
Installera CapacitiveController Sketch

I Arduino IDE väljer du Sketch | Inkludera bibliotek | Hantera bibliotek. Sök efter "ADCTouchSensor" och installera version 0.0.6 eller senare. Upprepa och sök efter "USBHID" och installera mitt USBHID_stm32f1 -bibliotek.

Välj Arkiv | Exempel | ADCTouchSensor | CapacitiveController.

Se till att du har följande inställningar under Verktyg:

  • Kort: Generisk STM32F103C8
  • Uppladdningsmetod: STM32duino Bootloader

Anslut kortet till datorn och klicka på högerpilen "ladda upp" -knappen. Du kan behöva återställa kortet (tryck på återställningsknappen på den) när uppladdningsmeddelandet visas i konsolen.

Steg 4: Anslutningar och knappar

Anslutningar och knappar
Anslutningar och knappar
Anslutningar och knappar
Anslutningar och knappar
Anslutningar och knappar
Anslutningar och knappar

Med enheten urkopplad, dra ledningar från STM32F1 -stiften till dina kontrollytor. Anslut med krokodilklämmor, gem eller bara genom att sticka in hoppare i föremål. Du kan använda en brödbräda eller kvinnliga till manliga hoppare. För Tetris på datorn använde vi tangentbordsläge och piltangenterna; för Pac Man på surfplattan använde vi en USB OTG -kabel och joystick -läge.

CapacitiveController -skissen kalibrerar kapacitiva sensorer när den är påslagen. Se till att du inte vidrör kontrollytorna, ledningarna till dem eller stiften medan du slår på den. Och om du ändrar någon kontrollyta måste du kalibrera om genom att koppla ur och ansluta igen eller trycka på den vita återställningsknappen på kortet.

De flesta apparna här kommer att fungera, liksom många andra. Du kan också se hur många Makey Makey -projekt du kan anpassa.

Några bra kontrollytor:

  • frukt och grönsaker
  • spela deg
  • aluminiumfolie (utom vid höga statiska förhållanden)
  • kraftigt pennade knappar/anslutningar på papper (anslutningslinjerna ska inte vara för långa-på bilden fungerade den längst nedsta knappen inte)
  • experimentera med många fler! (du kan också försöka justera 25 in om (sensorer -> läs ()> 25) raden i källkoden för vissa ytor)

Tangentbordslägesanslutningar:

  • Lämna A10 frånkopplad
  • A0: utrymme
  • A1: upp
  • A2: vänster
  • A3: ner
  • A4: höger
  • A5: w
  • A6: a
  • A7: s
  • B0: d
  • B1: f

Anslutningar för gamepad/joystick -läge:

  • Anslut A10 till Ground (G) för att ställa in joystickläget
  • A0: knapp 1
  • A1: upp
  • A2: vänster
  • A3: ner
  • A4: höger
  • A5-A7, B0, B1: knappar 2-6

Antydan:

Om du använder man-till-kvinnliga hoppare kan du göra joystick-läge A10-jordanslutning genom att krama hanändarna på två hoppare i varandra och därigenom bilda en kvinnlig-till-kvinnlig bygel.

Rekommenderad: