Mục lục:

Hướng dẫn sử dụng bàn phím một pin Raspberry Pi: 9 bước
Hướng dẫn sử dụng bàn phím một pin Raspberry Pi: 9 bước

Video: Hướng dẫn sử dụng bàn phím một pin Raspberry Pi: 9 bước

Video: Hướng dẫn sử dụng bàn phím một pin Raspberry Pi: 9 bước
Video: Cài Hệ Điều Hành Raspberry Pi Đơn Giản | Có Màn Hình, Bàn Phím/Chuột 2024, Tháng bảy
Anonim
Hướng dẫn sử dụng bàn phím một pin Raspberry Pi
Hướng dẫn sử dụng bàn phím một pin Raspberry Pi

KHUYẾN CÁO: ĐÂY LÀ HƯỚNG DẪN SỬ DỤNG CHO MỘT SẢN PHẨM CÓ NGUỒN MỞ: BÀN PHÍM MỘT PIN. ĐÂY KHÔNG PHẢI LÀ DỰ ÁN TỰ LÀM. NẾU BẠN MUỐN ĐẶT BAN CHO CHÍNH MÌNH, CÁC BỘ PHẬN EAGLE CÓ THỂ ĐƯỢC TÌM HIỂU Ở CUỐI BÀI HƯỚNG DẪN

Bàn phím một pin là gì?

Bàn phím một pin giúp việc sử dụng bàn phím ma trận dễ dàng hơn rất nhiều và cho phép bạn dự trữ các chân I / O quý giá của mình cho các mục đích khác. Bàn phím ma trận 16 nút thường yêu cầu 8 đầu vào kỹ thuật số trên vi điều khiển hoặc máy tính bảng đơn. Arduinos phổ biến nhất giới hạn bạn chỉ có 14 chân kỹ thuật số, vì vậy bàn phím 16 nút khiến bạn chỉ có 6 chân cho phần còn lại của dự án. Sự thiếu hụt tài nguyên này có thể dẫn đến việc đánh đổi thiết kế tốn kém hoặc nâng cấp vi điều khiển tốn kém hơn. Mô-đun Bàn phím một pin loại bỏ sự cần thiết của tất cả các đầu vào kỹ thuật số này. Như tên gọi của nó, Bàn phím một pin chỉ sử dụng một chân (đầu vào tương tự) cộng với các kết nối GND và VCC, vì vậy việc kết nối bàn phím của bạn chỉ trong tích tắc! Đối với người dùng Raspberry Pi (đối tượng mục tiêu của hướng dẫn này), nó cũng yêu cầu bộ chuyển đổi tín hiệu tương tự sang kỹ thuật số ADS1115, điều này thực sự dễ dàng đi dây. Gói Python One Pin Keypad (bao gồm) cũng đơn giản hóa việc lập trình cần thiết để xử lý đầu vào bàn phím, giúp bạn tiết kiệm nhiều thời gian và công sức hơn.

Để biết Hướng dẫn sử dụng Arduino, hãy nhấp vào đây.

Bước 1: Tập hợp tất cả các bộ phận

Tập hợp tất cả các bộ phận!
Tập hợp tất cả các bộ phận!

Để bắt đầu với bảng Bàn phím một pin, bạn sẽ cần:

  • Bảng bàn phím một pin
  • Một Arduino của một số hương vị (Một Arduino Nano đã được sử dụng trong trường hợp này)
  • 3 cáp jumper M / F,
  • 4 M / M HOẶC thêm 4 cáp jumper M / F, tùy thuộc vào loại tiêu đề trên Raspberry Pi của bạn
  • Bàn phím màng 16 nút
  • Breadboard (Một cái thực sự nhỏ được sử dụng ở đây)
  • Mô-đun ADS1115 (từ Adafruit hoặc một bản sao)
  • Raspberry Pi có kết nối internet và hệ điều hành Raspbian (tôi đã sử dụng Stretch)
  • Phụ kiện Raspberry Pi (Cáp HDMI, nguồn điện, khóa điện tử, màn hình, v.v. tùy thuộc vào hương vị của Raspberry Pi của bạn)

Bước 2: Đấu dây

Đấu dây!
Đấu dây!
Đấu dây!
Đấu dây!

Nối Bàn phím một pin theo sơ đồ Fritzing, ảnh chụp hoặc cả hai, tùy theo ý thích của bạn.

Xin lưu ý: ghi chú trên sơ đồ Fritzing đại diện cho Bàn phím một pin (và các chữ viết tắt GND VCC và AOUT chỉ định các sơ đồ chân của bảng Bàn phím một pin)

Bước 3: Cài đặt gói Python

Cài đặt gói Python!
Cài đặt gói Python!
Cài đặt gói Python!
Cài đặt gói Python!

Mở cửa sổ dòng lệnh và nhập các lệnh sau:

sudo apt-get cập nhật

sau đó

pip3 cài đặt Progetto-One-Pin-Keypad

để cài đặt gói và các phụ thuộc cần thiết của nó

Bước 4: Cài đặt các ví dụ

Cài đặt các ví dụ
Cài đặt các ví dụ

Tôi đã tạo một thư mục dev để chứa kho lưu trữ trong home / pi nếu bạn muốn làm như vậy (nó hoàn toàn là tùy chọn), hãy chạy lệnh này:

mkdir dev

sau đó, để điều hướng vào thư mục, hãy nhập:

cd dev

Cuối cùng, để sao chép kho lưu trữ, hãy nhập lệnh sau:

git clone

Bước 5: Bật I2C

Bật I2C
Bật I2C
Bật I2C
Bật I2C
Bật I2C
Bật I2C

ADS1115 ADC (Analog to Digital Converter) dựa trên giao thức I2C (Inter-Integrated Circuit) để giao tiếp với Raspberry Pi, theo mặc định, bus I2C bị tắt, để kích hoạt nó, hãy nhập:

sudo raspi-config

sẽ đưa bạn đến cửa sổ cấu hình màu xanh lam, từ đó, sử dụng các phím mũi tên và phím enter, hãy chọn

  1. Tùy chọn giao diện
  2. I2C
  3. Sau đó đi xuống

Mẹo: Tham khảo các ảnh chụp màn hình ở trên có thể giúp ích một chút! Nếu bạn vẫn còn bế tắc, đừng sợ! Tham khảo cách thực hiện tuyệt vời này từ Sparkfun!

Bước 6: Chạy Calibratethresholds

Chạy Calibratethresholds!
Chạy Calibratethresholds!

Điều hướng đến kho lưu trữ nếu bạn chưa có và đi tới thư mục ví dụ bằng cách sử dụng các lệnh sau:

Mẹo: gõ 'cd Prog' rồi nhấn Tab, nó sẽ tự động điền tên kho!

cd Progetto_One_Pin_Keypad_Python_Package

sau đó gõ:

ví dụ cd

tiếp theo, chạy ví dụ về ngưỡng hiệu chỉnh bằng lệnh này:

Ngưỡng hiệu chuẩn python3

và làm theo hướng dẫn hiển thị trên bảng điều khiển để hiệu chỉnh bo mạch của bạn. Sau khi hiệu chuẩn xem qua tất cả các nút, hãy kiểm tra các giá trị tương tự mới của bạn để xem chúng có hoạt động hay không bằng cách nhấn một số nút khi được nhắc "Bắt đầu". Nếu các giá trị mới được chứng minh là không chính xác, hãy sử dụng Ctrl C để hủy chương trình và chạy nó lần nữa.

Ví dụ hiệu chỉnh sẽ cung cấp cho bạn 2 dòng mã bạn sẽ cần trong ví dụ tiếp theo, hãy đảm bảo giữ bảng điều khiển mở và / hoặc sao chép cả hai!

Bước 7: Sửa đổi và sau đó chạy Readkeypadwithtimeout

Sửa đổi và sau đó chạy Readkeypadwithtimeout
Sửa đổi và sau đó chạy Readkeypadwithtimeout
Sửa đổi và sau đó chạy Readkeypadwithtimeout
Sửa đổi và sau đó chạy Readkeypadwithtimeout
Sửa đổi và sau đó chạy Readkeypadwithtimeout
Sửa đổi và sau đó chạy Readkeypadwithtimeout

Bây giờ Bàn phím một pin của bạn đã được định hình, đã đến lúc đưa nó vào sử dụng. Trong khi bạn có thể làm điều này từ dòng lệnh bằng vi, cá nhân tôi thích sử dụng một IDE như IDLE.

Mở IDLE lên (bạn sẽ muốn có phiên bản python3) và sửa đổi các dòng sau:

Hãy nhớ rằng mảng giá trị tương tự mà bạn đã sao chép? Thay thế dòng 13 (xem bên dưới) bằng các giá trị tương tự mới được hiệu chỉnh đó.

# ex: my_thresholds = [các giá trị đã hiệu chỉnh sẽ ở đây]

được thay thế bằng cái này:

my_thresholds = [225, 2116, 3904, 5200, 6300, 7350, 8450, 9325, 10000, 10750, 11500, 12100, 12550, 13100, 13800, 14250]

Tiếp theo, thêm dòng mã tiếp theo vào sau dòng 23, (xem bên dưới):

keypad.useCalibratedThresholds (my_thresholds)

được thêm vào sau dòng 23:

# ex: keypad.use_calibrated_thresholds (tên mảng của bạn)

cuối cùng làm cho các dòng từ 22 đến 24 trông như thế này:

# Nếu các giá trị đã hiệu chỉnh đang được sử dụng, hãy sử dụng_calibrated_thresholds bên dưới:

# ex: keypad.use_calibrated_thresholds (tên mảng của bạn)

keypad.use_calibrated_thresholds (my_thresholds)

Sau khi hoàn tất, hãy chạy mã và kiểm tra nó bằng cách nhấn một số nút! Hãy thoải mái điều chỉnh bản phác thảo ví dụ cho các dự án của bạn! Hãy nhớ rằng read_keypad_with_timeout trả về nút đang được nhấn dưới dạng ký tự và thời gian chờ được đặt bằng mili giây! Nếu bạn không muốn hết thời gian chờ, hãy sử dụng bàn phím. NO_TIMEOUT hằng số.

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

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

Phần lớn thiết kế của Bàn phím một pin dựa trên việc Hari Wiguna triển khai bộ chia điện áp để có được giá trị tương tự duy nhất cho mỗi phím trong bàn phím 16 chân. Thiết kế của One Pin Keypad phần lớn vẫn giữ nguyên, với một số tinh chỉnh. Nếu bạn muốn có một hướng dẫn tuyệt vời về cách hoạt động của Bàn phím một pin, hãy xem video tuyệt vời của Hari Wiguna tại đây!

Bước 9: Kết luận

Phần kết luận
Phần kết luận

Trong phần hướng dẫn này, chúng tôi đã đề cập đến cách bắt đầu với bảng Bàn phím một pin của bạn. Bây giờ, những người tò mò có thể đã tự hỏi tại sao bản phác thảo ví dụ readKeypadInstanterma không bao giờ được sử dụng, lý do là nó không hữu ích, bởi vì nút phải được nhấn khi nó được gọi, hàm readKeypadInstant da () được sử dụng chủ yếu để đơn giản hóa readKeypadWithTimeout () trong thư viện. Nếu nó bắt mắt bạn, hãy thoải mái quay thử. Chúc mừng Hacking!

Nếu bạn có bất kỳ câu hỏi nào, hãy để lại bình luận bên dưới hoặc gửi email cho chúng tôi theo địa chỉ [email protected]. Chúc mọi điều tốt lành, Công ty Progetto P. S. Như đã hứa, một liên kết đến Tập tin Eagle của hội đồng quản trị.

Đề xuất: