Mục lục:

Sử dụng bàn phím 4x4 với CircuitPython: 4 bước
Sử dụng bàn phím 4x4 với CircuitPython: 4 bước

Video: Sử dụng bàn phím 4x4 với CircuitPython: 4 bước

Video: Sử dụng bàn phím 4x4 với CircuitPython: 4 bước
Video: NeoTrellis Sound Board #CircuitPython #3DPrinting 2024, Tháng bảy
Anonim
Sử dụng bàn phím 4x4 với CircuitPython
Sử dụng bàn phím 4x4 với CircuitPython

Bàn phím rẻ tiền này cung cấp một phương pháp nhập số đơn giản cho các dự án CircuitPython của bạn. Tôi sẽ sử dụng nó với Adafruit ItsyBitsy M0 express.

Bạn sẽ cần:

  • Bàn phím - của tôi là 4x4
  • ItsyBitsy M0 Express hoặc bảng tương tự
  • Mu Editor đã được cài đặt trên máy tính của bạn
  • Cáp USB để flash mã

Bước 1: Cách hoạt động của bàn phím

Cách hoạt động của bàn phím
Cách hoạt động của bàn phím

Bàn phím của họ có 16 công tắc bong bóng đơn giản, hoạt động chậm được sắp xếp theo lưới 4 cạnh với 8 kết nối ở phía dưới. Nếu chúng ta đánh số từ bên trái từ 0 đến 7, các kết nối từ 0 đến 3 được kết nối với mỗi hàng. Kết nối 0 với hàng trên và kết nối 3 với hàng dưới cùng. Kết nối 4 đến 7 được kết nối với các cột với kết nối 4 ở cột bên trái và kết nối 7 với cột bên phải. Mỗi công tắc trong số 16 công tắc tạo kết nối giữa một tổ hợp hàng / cột khác nhau. Nếu chúng ta nhấn phím7, hàng thứ ba được nối với cột bên trái. Chúng ta có thể cảm nhận được nếu phím 5 được nhấn nếu hàng của nó được nâng lên CAO và chúng ta có thể đọc mức CAO trên cột của nó. Để làm điều này, chúng tôi OUTPUT vào các hàng và INPUT từ các cột.

Chúng ta cần đặt lần lượt từng hàng CAO, còn các hàng khác là THẤP, hãy đọc lần lượt từng cột cho đến khi nhận được đầu vào CAO. Điều này được quản lý dễ dàng với các vòng lặp for lồng nhau.

Chúng ta cần lưu ý đến thực tế là các công tắc bong bóng này hoạt động khá chậm và cần phải ấn khá mạnh để làm cho chúng đóng lại. Việc quét tất cả 16 công tắc theo cách này có thể được thực hiện rất nhanh chóng nhưng chúng ta phải quét nhiều lần để chọn một phím bấm. Chúng ta cũng cần 'gỡ lỗi' với một khoảng thời gian ngắn để không bị lặp lại các phím mỗi khi bấm.

Vì các công tắc khá 'kêu', chúng tôi cần một số phản hồi cho người dùng để cho biết rằng một phím bấm đã được đọc. Đèn LED tích hợp sẽ nhấp nháy mỗi khi cảm nhận được một phím bấm.

Bước 2: Kết nối vật lý

Kết nối vật lý
Kết nối vật lý

Các kết nối từ trái sang phải trên KeyPad0 1 2 3 4 5 6 7

D7 D9 D10 D11 A5 A4 A3 A2 trên ItsyBitsy

D7 đến D11 được thiết lập là OUTPUT trong khi A5 đến A2 được thiết lập như INPUT với PULLDOWN.

Đoạn mã có rất nhiều bình luận và khá dễ làm theo.

Bước 3: Cách hoạt động của Getkey ()

Cách hoạt động của Getkey ()
Cách hoạt động của Getkey ()

Chức năng này quét bàn phím để tìm một lần nhấn phím. Nó sẽ nhanh chóng kiểm tra lần lượt từng phím tối đa 10 lần để xem liệu có đóng công tắc phím hay không. Nếu một phím được nhấn, nó sẽ trả về giá trị của phím, đếm từ trái sang phải từ trên xuống dưới (0… 15) Lưu ý các giá trị cho hàng dưới cùng: 14, 0, 15, 13 (Hex E, 0, F, D). Nếu không có phím nào được nhấn, nó sẽ trả về -999 như một mã lỗi có thể dễ dàng nhận ra trong chương trình chính. Đèn LED tích hợp sẽ nhấp nháy nếu người dùng nhấn phím như phản hồi của người dùng. Thao tác này chạy khá nhanh và khoảng thời gian chờ 0,2 giây chỉ được sử dụng khi nhấn một phím.

Bước 4: Nhận giá trị (chữ số)

Giá trị nhận (chữ số)
Giá trị nhận (chữ số)

Quy trình này cung cấp giá trị n chữ số từ các phím số. Nó bỏ qua các phím màu đỏ.

Mã Python này có thể dễ dàng được chuyển đổi để chạy trên một thiết bị khác, chẳng hạn như Raspberry Pi, bạn có thể chỉ cần thay đổi các dòng thiết lập pin ở đầu tập lệnh.

Vui lòng cho tôi biết nếu bạn thấy mã hữu ích.

Giữ an toàn và vui chơi!

Đề xuất: