Daftar Isi:

$3 Alternatif untuk Makey Makey: 4 Langkah (dengan Gambar)
$3 Alternatif untuk Makey Makey: 4 Langkah (dengan Gambar)

Video: $3 Alternatif untuk Makey Makey: 4 Langkah (dengan Gambar)

Video: $3 Alternatif untuk Makey Makey: 4 Langkah (dengan Gambar)
Video: Mesin 4-langkah yang tidak biasa - TANPA VALVES, lengan berputar seperti binatang apa ini ??? 2024, Juli
Anonim
$3 Alternatif untuk Makey Makey
$3 Alternatif untuk Makey Makey
$3 Alternatif untuk Makey Makey
$3 Alternatif untuk Makey Makey

Makey Makey adalah perangkat kecil hebat yang mengemulasi keyboard USB dan memungkinkan Anda membuat kunci dari benda yang agak konduktif (aluminium foil, pisang, adonan mainan, dll.), yang kemudian dapat digunakan sebagai pengontrol untuk game dan proyek pendidikan.. Makey Makey memiliki dua kelemahan: (1) biaya dan (2) kebutuhan akan koneksi ground.

Proyek ini adalah alternatif murah menggunakan papan STM32F1 $2 dan penginderaan kapasitif. Ini hanya memiliki 10 input dibandingkan dengan 12 Makey Makey, tetapi memiliki keuntungan bahwa selain mengemulasi keyboard, ia dapat mengemulasikan pengontrol gamepad USB (joystick digital).

Bagian:

  • "pil hitam" papan STM32F103c8 ($ 1,90 di Aliexpress; informasi lebih lanjut di sini)
  • papan tempat memotong roti (kurang dari $1 di Aliexpress) dan kabel jumper; atau hanya sekumpulan konektor dupont female-to-male ($0,70 di Aliexpress untuk paket 40)
  • penjepit kertas, klip buaya, dll.

Peralatan:

  • komputer
  • Adaptor UART-ke-USB untuk pemrograman papan awal (Arduino Uno atau Mega akan melakukan pekerjaan itu, seperti halnya unit CH340 yang murah)
  • besi solder untuk menyolder header ke papan (Anda juga dapat menggunakan banyak klip uji tanpa menyolder, tetapi terkadang jatuh)

Perangkat lunak ini adalah contoh sketsa yang disertakan dengan perpustakaan ADCTouchSensor saya yang memungkinkan penginderaan kapasitif dengan satu pin pada papan STM32F1 per sensor (berdasarkan perpustakaan martin2250 untuk AVR).

Peringatan: Dalam cuaca kering, atau jika listrik statis (misalnya, di karpet), jangan sentuh konektor logam yang terbuka agar tidak menyebabkan kerusakan elektrostatis pada papan STM32F1. Saya berharap ketahanan kentang, pisang, adonan mainan, dll. Akan membantu melindungi papan, tetapi jika Anda menggunakan aluminium foil kosong, Anda mungkin mengalami masalah. Di sisi lain, papan hanya $ 1,90.

Ide kegiatan pendidikan:

  • Bereksperimenlah untuk mengetahui benda apa saja yang bersifat konduktif dan dapat digunakan sebagai permukaan kontrol. (Misalnya, pensil vs. krayon; adonan bermain vs. lilin.)
  • Tulis game Scratch yang menggunakan pengontrol buatan sendiri.
  • Ubah kode Arduino yang memberi daya pada proyek untuk memungkinkan klik/gerakan mouse, tombol lain, lebih dari empat arah joystick, dll.

Langkah 1: Instal Bootloader di Papan Pengembangan

Instal Bootloader di Papan Pengembangan
Instal Bootloader di Papan Pengembangan
Instal Bootloader di Papan Pengembangan
Instal Bootloader di Papan Pengembangan
Instal Bootloader di Papan Pengembangan
Instal Bootloader di Papan Pengembangan

Solder dua header tiga pin di tengah sistem pengembangan Black Pill (B0-/center/B0+; B1-/center/B1+), dan header panjang di sepanjang tepinya (jika Anda sedang terburu-buru, atau ingin untuk menghindari pin yang tidak perlu yang dapat membingungkan anak-anak, Anda hanya perlu pin untuk A0-A10 dan G).

Anda memerlukan jembatan UART ke USB yang kompatibel dengan perangkat 3.3v. Anda dapat memesan ch340 dari Aliexpress seharga $0,66, tetapi saya memiliki tiruan Arduino Mega, dan ada trik keren yang saya temukan online. Jika pada Arduino Anda menyingkat pin reset ke ground dengan kabel pendek, maka itu menjadi jembatan UART ke USB - tidak perlu sketsa. Satu-satunya trik adalah pelabelan RX dan TX menjadi terbalik: pin "RX" Arduino mentransmisikan dan pin "TX" menerima. Arduino berjalan pada 5v dan Pil Hitam pada 3.3v, tetapi pin PA9 dan PA10 pada stm32f103 sesuai dengan toleransi 5V, sehingga seharusnya tidak menjadi masalah.

Pada header yang Anda solder, letakkan jumper dari B0+ ke tengah dan dari B1- ke tengah.

Buat koneksi berikut:

  • PA9 ke UART bridge RX ("TX" jika Anda menggunakan trik Arduino)
  • PA10 ke UART bridge TX ("RX" jika Anda menggunakan trik Arduino)
  • G ke tanah jembatan UART

Anda dapat menggunakan papan tempat memotong roti, atau jumper pria-ke-wanita, atau jika Anda ingin melakukannya sebelum menyolder header, Anda dapat menggunakan klip uji (seperti pada foto).

Unduh biner bootloader. Anda ingin generic_boot20_pb12.bin.

Pada Windows, instal ST's Flash Loader Demonstrator. Di Linux (dan mungkin OS X dan bahkan Windows jika Anda lebih suka alat baris perintah), gunakan skrip python ini sebagai gantinya, tetapi instruksi saya adalah untuk Windows. Hubungkan jembatan UART Anda ke komputer Anda.

Nyalakan Black Pill melalui port USB-nya (jika Anda menggunakan komputer, kemungkinan akan mengeluh tentang perangkat USB yang tidak dikenal; abaikan itu). Mulai Demonstran Pemuat Flash. Pilih port COM untuk jembatan UART Anda. Pilih "Hapus perlindungan" jika tersedia. Pilih versi flash 64kb daripada 128kb. Dan unggah biner bootloader.

Matikan semuanya lalu pindahkan jumper dari B0+/center ke B0-/center. Anda sekarang memiliki bootloader yang dapat Anda gunakan dengan Arduino IDE.

Langkah 2: Siapkan Arduino IDE

Siapkan Arduino IDE
Siapkan Arduino IDE

Saya berasumsi Anda telah menginstal Arduino IDE terbaru.

Dalam Alat | Papan | Boards Manager, instal dukungan untuk Arduino Zero (cukup masukkan Zero dalam pencarian, klik entri yang ditemukan, lalu Instal). Ya, Anda tidak bekerja dengan Zero, tetapi ini akan menginstal kompiler gcc yang tepat.

Selanjutnya, unduh inti stm32duino. Di Windows, saya sarankan mengunduh file zip, karena ketika saya memeriksa file (diakui, dengan svn), saya memiliki beberapa masalah izin dengan file di direktori alat Windows yang perlu diperbaiki. Letakkan cabang di Arduino/Hardware/Arduino_STM32 (jadi Anda akan memiliki folder seperti Arduino/Hardware/Arduino_STM32/STM32F1, dll.) Pada Windows, instal driver dengan menjalankan driver\win\install_drivers.bat.

Langkah 3: Instal Sketsa CapacitiveController

Instal Sketsa CapacitiveController
Instal Sketsa CapacitiveController
Instal Sketsa CapacitiveController
Instal Sketsa CapacitiveController
Instal Sketsa CapacitiveController
Instal Sketsa CapacitiveController

Di Arduino IDE, pilih Sketsa | Sertakan Perpustakaan | Kelola Perpustakaan. Cari "ADCTouchSensor" dan instal versi 0.0.6 atau yang lebih baru. Ulangi dan cari "USBHID" dan instal perpustakaan USBHID_stm32f1 saya.

Pilih Berkas | Contoh | ADCTouchSensor | Pengontrol Kapasitif.

Pastikan Anda memiliki pengaturan berikut di bawah Alat:

  • Papan: STM32F103C8 Generik
  • Metode pengunggahan: STM32duino Bootloader

Colokkan papan ke komputer dan klik tombol "unggah" panah kanan. Anda mungkin perlu mengatur ulang papan (tekan tombol reset di atasnya) setelah pesan unggah muncul di konsol.

Langkah 4: Koneksi dan Tombol

Koneksi dan Tombol
Koneksi dan Tombol
Koneksi dan Tombol
Koneksi dan Tombol
Koneksi dan Tombol
Koneksi dan Tombol

Dengan perangkat dicabut, jalankan kabel dari pin STM32F1 ke permukaan kontrol Anda. Terhubung dengan klip buaya, penjepit kertas, atau hanya dengan menempelkan jumper ke objek. Anda dapat menggunakan papan tempat memotong roti atau jumper wanita-ke-pria. Untuk Tetris di komputer, kami menggunakan mode keyboard dan tombol panah; untuk Pac Man di tablet, kami menggunakan kabel USB OTG dan mode joystick.

Sketsa CapacitiveController mengkalibrasi sensor kapasitif saat dihidupkan. Pastikan saat Anda menyalakannya, Anda tidak menyentuh permukaan kontrol, kabel ke sana, atau pin. Dan jika Anda memodifikasi permukaan kontrol apa pun, Anda perlu mengkalibrasi ulang dengan mencabut dan mencolokkan kembali atau menekan tombol reset putih di papan tulis.

Sebagian besar aplikasi di sini akan berfungsi, serta banyak lainnya. Anda juga dapat melihat berapa banyak proyek Makey Makey yang dapat Anda adaptasi.

Beberapa permukaan kontrol yang baik:

  • buah-buahan dan sayur-sayuran
  • bermain adonan
  • aluminium foil (kecuali dalam kondisi statis tinggi)
  • tombol/sambungan dengan pensil tebal di atas kertas (garis sambungan tidak boleh terlalu panjang--di foto, tombol paling bawah tidak berfungsi)
  • bereksperimen dengan lebih banyak lagi! (Anda juga dapat mencoba mengubah baris 25 in if (sensors->read() > 25) dalam kode sumber untuk beberapa permukaan)

Koneksi mode keyboard:

  • Biarkan A10 terputus
  • A0: ruang
  • A1: naik
  • A2: kiri
  • A3: turun
  • A4: benar
  • A5: gw
  • A6: a
  • A7: s
  • B0: d
  • B1: f

Koneksi mode Gamepad/Joystick:

  • Hubungkan A10 ke Ground (G) untuk mengatur mode joystick
  • A0: tombol 1
  • A1: naik
  • A2: kiri
  • A3: turun
  • A4: benar
  • A5-A7, B0, B1: tombol 2-6

Petunjuk:

Jika Anda menggunakan jumper pria-ke-wanita, Anda dapat melakukan koneksi ground A10 mode joystick dengan menjepit ujung pria dari dua jumper satu sama lain, sehingga membentuk jumper wanita-ke-wanita.

Direkomendasikan: