Mục lục:

$ 3 Thay thế cho Makey Makey: 4 Bước (có Hình ảnh)
$ 3 Thay thế cho Makey Makey: 4 Bước (có Hình ảnh)

Video: $ 3 Thay thế cho Makey Makey: 4 Bước (có Hình ảnh)

Video: $ 3 Thay thế cho Makey Makey: 4 Bước (có Hình ảnh)
Video: Makey Makey First Time Plug-in and Troubleshooting Guide 2024, Tháng mười một
Anonim
$ 3 thay thế cho Makey Makey
$ 3 thay thế cho Makey Makey
$ 3 thay thế cho Makey Makey
$ 3 thay thế cho Makey Makey

Makey Makey là một thiết bị nhỏ tuyệt vời mô phỏng bàn phím USB và cho phép bạn tạo các phím từ bất kỳ thứ gì hơi dẫn điện (lá nhôm, chuối, bột nặn, v.v.), sau đó có thể được sử dụng làm bộ điều khiển cho trò chơi và các dự án giáo dục. Makey Makey có hai nhược điểm: (1) chi phí và (2) nhu cầu kết nối đất.

Dự án này là một giải pháp thay thế rẻ tiền sử dụng bo mạch STM32F1 trị giá 2 đô la và cảm biến điện dung. Nó chỉ có 10 đầu vào so với 12 đầu vào của Makey Makey, nhưng nó có lợi thế là ngoài việc mô phỏng bàn phím, nó có thể mô phỏng bộ điều khiển gamepad USB (cần điều khiển kỹ thuật số).

Các bộ phận:

  • bảng "viên thuốc đen" STM32F103c8 ($ 1,90 trên Aliexpress; thêm thông tin tại đây)
  • breadboard (ít hơn $ 1 trên Aliexpress) và dây nhảy; hoặc chỉ là một loạt các kết nối dupont từ nữ sang nam (0,70 đô la trên Aliexpress cho gói 40)
  • kẹp giấy, kẹp cá sấu, v.v.

Công cụ:

  • máy vi tính
  • Bộ chuyển đổi UART-to-USB để lập trình bảng ban đầu (Arduino Uno hoặc Mega sẽ thực hiện công việc, cũng như đơn vị CH340 giá rẻ)
  • mỏ hàn để hàn các đầu nối với bo mạch (bạn cũng có thể sử dụng một loạt các kẹp thử nghiệm mà không cần hàn, nhưng đôi khi chúng bị rơi ra ngoài)

Phần mềm là một bản phác thảo ví dụ đi kèm với thư viện ADCTouchSensor của tôi, cho phép cảm biến điện dung với một chân duy nhất trên bảng STM32F1 cho mỗi cảm biến (nó dựa trên thư viện của martin2250 cho AVR).

Cảnh báo: Trong thời tiết khô ráo hoặc nơi có vấn đề về tĩnh điện (ví dụ: trên thảm), không chạm vào các đầu nối kim loại để hở vì bạn có thể gây hư hỏng tĩnh điện cho bo mạch STM32F1. Tôi hy vọng rằng sức đề kháng của khoai tây, chuối, bột nặn, v.v. sẽ giúp bảo vệ bảng, nhưng nếu bạn sử dụng lá nhôm trần, bạn có thể gặp vấn đề. Mặt khác, bảng chỉ là $ 1,90.

Ý tưởng hoạt động giáo dục:

  • Thử nghiệm để tìm ra vật phẩm nào dẫn điện và có thể được sử dụng làm bề mặt điều khiển. (Ví dụ: bút chì so với bút sáp màu; chơi bột so với nến.)
  • Viết trò chơi Scratch sử dụng bộ điều khiển tự sản xuất.
  • Sửa đổi mã Arduino cấp nguồn cho dự án để cho phép nhấp / di chuyển chuột, các phím khác, hơn bốn hướng cần điều khiển, v.v.

Bước 1: Cài đặt Bootloader trên Bảng phát triển

Cài đặt Bootloader trên Bảng phát triển
Cài đặt Bootloader trên Bảng phát triển
Cài đặt Bootloader trên Bảng phát triển
Cài đặt Bootloader trên Bảng phát triển
Cài đặt Bootloader trên Bảng phát triển
Cài đặt Bootloader trên Bảng phát triển

Hàn hai tiêu đề ba chân vào giữa hệ thống phát triển Black Pill (B0- / center / B0 +; B1- / center / B1 +) và các tiêu đề dài dọc theo các cạnh (nếu bạn đang vội hoặc muốn để tránh các ghim không cần thiết có thể làm trẻ em bối rối, bạn chỉ cần ghim cho A0-A10 và G).

Bạn cần một cầu nối UART với USB tương thích với các thiết bị 3.3v. Bạn có thể đặt mua một ch340 từ Aliexpress với giá 0,66 đô la, nhưng tôi đã gặp phải hàng nhái Arduino Mega và có một mẹo thú vị mà tôi tìm thấy trên mạng. Nếu trên Arduino bạn rút chốt đặt lại xuống đất bằng một dây ngắn, thì nó sẽ trở thành cầu nối UART với USB - không cần phác thảo. Bí quyết duy nhất là việc ghi nhãn RX và TX trở nên đảo ngược: chân "RX" của Arduino truyền và chân "TX" của nó nhận. Arduino chạy ở 5v và Black Pill ở 3,3v, nhưng các chân PA9 và PA10 trên stm32f103 có khả năng chịu được 5V, vì vậy đó không phải là vấn đề.

Trên các tiêu đề bạn đã hàn, hãy đặt một jumper từ B0 + đến trung tâm và từ B1- đến trung tâm.

Thực hiện các kết nối sau:

  • Cầu nối PA9 đến UART RX ("TX" nếu bạn đang sử dụng thủ thuật Arduino)
  • PA10 đến cầu UART TX ("RX" nếu bạn đang sử dụng thủ thuật Arduino)
  • G đến cầu UART

Bạn có thể sử dụng breadboard, hoặc jumper từ nam sang nữ, hoặc nếu bạn muốn làm điều đó trước khi hàn các tiêu đề, bạn có thể sử dụng kẹp thử (như trong ảnh).

Tải xuống tệp nhị phân của bộ nạp khởi động. Bạn muốn generic_boot20_pb12.bin.

Trên Windows, cài đặt Trình trình diễn Flash Loader của ST. Trên Linux (và có thể OS X và thậm chí cả Windows nếu bạn thích các công cụ dòng lệnh), hãy sử dụng tập lệnh python này để thay thế, nhưng hướng dẫn của tôi sẽ dành cho Windows. Kết nối cầu UART với máy tính của bạn.

Bật nguồn Black Pill thông qua cổng USB của nó (nếu bạn sử dụng máy tính, nó có thể sẽ phàn nàn về thiết bị USB không nhận dạng được; hãy bỏ qua điều đó). Khởi động Trình trình diễn trình tải Flash. Chọn cổng COM cho cầu nối UART của bạn. Chọn "Xóa bảo vệ" nếu có. Chọn phiên bản flash 64kb thay vì 128kb. Và tải lên tệp nhị phân của bộ nạp khởi động.

Bật mọi thứ và sau đó di chuyển jumper từ B0 + / center sang B0- / center. Bây giờ bạn có một bộ nạp khởi động mà bạn có thể sử dụng với Arduino IDE.

Bước 2: Thiết lập Arduino IDE

Thiết lập Arduino IDE
Thiết lập Arduino IDE

Tôi giả sử bạn đã cài đặt Arduino IDE mới nhất.

Trong Công cụ | Hội đồng quản trị | Boards Manager, cài đặt hỗ trợ cho Arduino Zero (chỉ cần đưa Zero vào tìm kiếm, nhấp vào mục nhập tìm thấy, sau đó Cài đặt). Có, bạn không làm việc với Zero, nhưng điều này sẽ cài đặt trình biên dịch gcc phù hợp.

Tiếp theo, tải xuống lõi stm32duino. Trên Windows, tôi khuyên bạn nên tải xuống tệp zip, vì khi tôi kiểm tra tệp (phải thừa nhận là với svn), tôi đã gặp một số vấn đề về quyền với tệp trong thư mục công cụ Windows cần sửa. Đặt nhánh vào Arduino / Hardware / Arduino_STM32 (vì vậy bạn sẽ có các thư mục như Arduino / Hardware / Arduino_STM32 / STM32F1, v.v.) Trên Windows, cài đặt trình điều khiển bằng cách chạy trình điều khiển / win / install_drivers.bat.

Bước 3: Cài đặt CapacitiveController Sketch

Cài đặt CapacitiveController Sketch
Cài đặt CapacitiveController Sketch
Cài đặt CapacitiveController Sketch
Cài đặt CapacitiveController Sketch
Cài đặt CapacitiveController Sketch
Cài đặt CapacitiveController Sketch

Trong Arduino IDE, chọn Sketch | Bao gồm Thư viện | Quản lý Thư viện. Tìm kiếm "ADCTouchSensor" và cài đặt phiên bản 0.0.6 hoặc mới hơn. Lặp lại và tìm kiếm "USBHID" và cài đặt thư viện USBHID_stm32f1 của tôi.

Chọn tệp | Ví dụ | ADCTouchSensor | CapacitiveController.

Đảm bảo rằng bạn có các cài đặt sau trong Công cụ:

  • Ban: Chung STM32F103C8
  • Phương pháp tải lên: STM32duino Bootloader

Cắm bo mạch vào máy tính và nhấp vào nút "tải lên" mũi tên phải. Bạn có thể cần đặt lại bảng (nhấn nút đặt lại trên bảng) sau khi thông báo tải lên hiển thị trong bảng điều khiển.

Bước 4: Kết nối và các nút

Kết nối và các nút
Kết nối và các nút
Kết nối và các nút
Kết nối và các nút
Kết nối và các nút
Kết nối và các nút

Khi thiết bị đã được rút phích cắm, hãy chạy dây từ các chân STM32F1 đến bề mặt điều khiển của bạn. Kết nối với kẹp cá sấu, kẹp giấy hoặc chỉ bằng cách dán dây nối vào đồ vật. Bạn có thể sử dụng breadboard hoặc jumper từ nữ sang nam. Đối với Tetris trên máy tính, chúng tôi đã sử dụng chế độ bàn phím và các phím mũi tên; đối với Pac Man trên máy tính bảng, chúng tôi đã sử dụng cáp USB OTG và chế độ cần điều khiển.

Bản phác thảo CapacitiveController hiệu chỉnh các cảm biến điện dung khi nó được bật. Đảm bảo rằng trong khi bật nó, bạn không chạm vào bề mặt điều khiển, dây vào chúng hoặc các chốt. Và nếu bạn sửa đổi bất kỳ bề mặt điều khiển nào, bạn cần phải hiệu chỉnh lại bằng cách rút phích cắm và cắm lại hoặc nhấn nút đặt lại màu trắng trên bo mạch.

Hầu hết các ứng dụng ở đây sẽ hoạt động, cũng như nhiều ứng dụng khác. Bạn cũng có thể xem bạn có thể thích ứng với bao nhiêu dự án Makey Makey.

Một số bề mặt kiểm soát tốt:

  • Hoa quả và rau
  • chơi bột
  • lá nhôm (ngoại trừ trong điều kiện tĩnh cao)
  • các nút / kết nối được viết bằng bút chì nhiều trên giấy (các đường kết nối không được quá dài - trong ảnh, nút trên cùng không hoạt động)
  • thử nghiệm với nhiều hơn nữa! (bạn cũng có thể thử điều chỉnh dòng 25 in if (sensor -> read ()> 25) trong mã nguồn cho một số bề mặt)

Kết nối chế độ bàn phím:

  • Để A10 bị ngắt kết nối
  • A0: khoảng trắng
  • A1: lên
  • A2: trái
  • A3: xuống
  • A4: đúng
  • A5: w
  • A6: a
  • A7: s
  • B0: d
  • B1: f

Kết nối chế độ Gamepad / Joystick:

  • Kết nối A10 với Ground (G) để đặt chế độ cần điều khiển
  • A0: nút 1
  • A1: lên
  • A2: trái
  • A3: xuống
  • A4: đúng
  • A5-A7, B0, B1: nút 2-6

Gợi ý:

Nếu bạn đang sử dụng cầu nhảy nam sang nữ, bạn có thể thực hiện kết nối mặt đất của chế độ phím điều khiển A10 bằng cách kẹp các đầu nam của hai cầu nhảy vào nhau, từ đó tạo thành cầu nhảy từ nữ sang nữ.

Đề xuất: