- Kết nối LCD 16x2 với Raspberry Pi:
- Cài đặt Gói bắt buộc cho Giao tiếp Bluetooth:
- Ghép nối thiết bị với Raspberry Pi qua Bluetooth:
- Sơ đồ mạch:
- Nhập liệu bằng giọng nói trên màn hình LCD bằng ứng dụng Android BlueTerm:
Chắc hẳn bạn đã làm quen với tính năng Nhập liệu bằng giọng nói, rất phổ biến được sử dụng trong Máy tính và điện thoại di động, nơi bạn có thể nhập bất kỳ từ nào bằng cách nói từ đó. Nhập liệu bằng giọng nói rất hữu ích cho người khuyết tật hoặc cho bất kỳ ai muốn nhập liệu nhanh. Vì vậy, hôm nay chúng tôi đang thực hiện tương tự trên Màn hình LCD 16x2, nơi văn bản thoại sẽ được hiển thị trên màn hình LCD. Ở đây chúng tôi đã sử dụng LCD 16x2, nhưng thiết lập này có thể được cài đặt ở nhiều nơi với màn hình lớn hơn để phát bất kỳ thông báo nào, như tại sân bay, trung tâm thương mại, văn phòng, v.v.
Trong dự án này, chúng tôi sẽ cung cấp giọng nói đầu vào bằng Bàn phím Google Voice thông qua Ứng dụng Android (BlueTerm) và in văn bản trên màn hình LCD 16x2 bằng Raspberry Pi. Ở đây chúng tôi sẽ nhập văn bản trên màn hình LCD 16x2 bằng phương tiện Bluetooth không dây và sẽ sử dụng USB Bluetooth dongle với Raspberry Pi. Vì vậy, về cơ bản, chúng ta cần giao diện màn hình LCD 16x2 với Raspberry Pi và thiết lập Bluetooth trong Raspberry Pi để nhận dữ liệu được gửi bởi điện thoại di động. Chúng tôi đã giao tiếp LCD với Raspberry Pi và đã viết một bài hướng dẫn về Bluetooth với Raspberry Pi, bạn có thể kiểm tra chúng.
Kết nối LCD 16x2 với Raspberry Pi:
Trước khi chúng tôi tiến hành thiết lập Bluetooth, đầu tiên chúng tôi sẽ giao diện LCD 16x2 với Raspberry Pi. Ở đây trong Dự án này, chúng tôi đã sử dụng Thư viện Adafruit bên ngoài để giao tiếp màn hình LCD 16x2 với Raspberry Pi, sử dụng mà bạn không cần phải viết nhiều dòng mã để điều khiển màn hình LCD và bạn có thể in trực tiếp trên màn hình LCD chỉ bằng một dòng của mã. Tuy nhiên Thư viện này được tạo bởi Adafruit nhưng nó có thể được sử dụng cho bất kỳ mô-đun LCD nào có bộ điều khiển HD44780. Nếu bạn muốn kết nối màn hình LCD mà không sử dụng bất kỳ thư viện bên ngoài nào thì bạn có thể xem các hướng dẫn trước đây của chúng tôi để giao diện màn hình LCD ở Chế độ 8 bit và giao diện màn hình LCD ở chế độ 4 bit.
Để sử dụng Thư viện Adafruit, trước tiên chúng ta cần cài đặt nó bằng cách sử dụng các lệnh dưới đây. Lệnh đầu tiên sẽ sao chép kho lưu trữ CharLCD (bởi Adafruit) trên Raspberry Pi của bạn, lệnh thứ hai sẽ đưa bạn vào bên trong thư mục đã tải xuống đó và cuối cùng chúng ta cần thực thi tập lệnh setup.py, được trình bày bên trong thư mục Adafruit_Python_CharLCD, để cài đặt thư viện.
git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git cd./Adafruit_Python_CharLCD sudo python setup.py cài đặt
Bây giờ thư viện cho màn hình LCD 16x2 đã được cài đặt và bạn có thể sử dụng các chức năng của nó bằng cách nhập thư viện này vào chương trình python của bạn bằng dòng dưới đây:
nhập Adafruit_CharLCD dưới dạng LCD
Có một số đoạn mã ví dụ bên trong thư mục 'example' có trong thư mục thư viện (Adafruit_Python_CharLCD). Bạn có thể kiểm tra thiết lập bằng cách chạy tập lệnh ví dụ char_lcd.py. Nhưng trước đó, bạn cần kết nối các chân LCD với Raspberry Pi như được đưa ra bên dưới trong sơ đồ mạch ở phần tiếp theo.
Bạn cũng có thể kết nối LCD với một số chân GPIO khác của Raspberry Pi, tất cả những gì bạn cần đề cập đến các chân giao diện chính xác trong chương trình python của bạn như bên dưới. Tìm hiểu thêm về Raspberry Pi GPIO Pins tại đây.
# Thiết lập chân Raspberry Pi lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2
Giờ đây, bạn có thể sử dụng trực tiếp các chức năng do Thư viện Adafruit cung cấp để điều khiển màn hình LCD. Một số chức năng được đưa ra dưới đây; bạn có thể tìm thêm trong tập lệnh ví dụ:
- lcd.message (message) = Để in văn bản trên màn hình LCD.
- lcd.clear () = Để xóa màn hình LCD.
- lcd.set_cursor (col, row) = Di chuyển con trỏ đến vị trí bất kỳ tại cột và hàng.
- lcd.blink (True) = Để nhấp nháy con trỏ (Đúng hoặc Sai)
- lcd.move_left () = Để di chuyển con trỏ sang Trái một vị trí.
- lcd.move_right () = Để di chuyển con trỏ sang Phải theo một vị trí.
Bây giờ chúng ta sẽ kết nối Raspberry Pi với điện thoại thông minh Android bằng Bluetooth.
Cài đặt Gói bắt buộc cho Giao tiếp Bluetooth:
Ở đây chúng tôi đang sử dụng Raspberry 2 Pi Model B không có Bluetooth tích hợp sẵn, vì vậy chúng tôi đang sử dụng một dongle USB Bluetooth đơn giản để thiết lập giao tiếp Bluetooth trong Raspberry Pi. Bạn nên chuẩn bị sẵn thẻ nhớ đã cài đặt Raspbian Jessie với Raspberry Pi. Kiểm tra bài viết này để cài đặt hệ điều hành Raspbian và bắt đầu với Raspberry Pi. Vì vậy, trước tiên chúng ta cần cập nhật Raspbian bằng các lệnh dưới đây:
sudo apt-get cập nhật sudo apt-get nâng cấp
Sau đó, chúng tôi cần cài đặt một số gói liên quan đến Bluetooth:
sudo apt-get install bluetooth blueman bluez
Sau đó khởi động lại Raspberry Pi:
khởi động lại sudo
BlueZ là một dự án mã nguồn mở và ngăn xếp giao thức Bluetooth chính thức của Linux. Nó hỗ trợ tất cả các giao thức Bluetooth cốt lõi và hiện trở thành một phần của Nhân Linux chính thức.
Blueman cung cấp giao diện Desktop để quản lý và điều khiển các thiết bị Bluetooth.
Cuối cùng, chúng ta cần Thư viện python cho giao tiếp Bluetooth để chúng ta có thể gửi và nhận dữ liệu thông qua RFCOMM bằng ngôn ngữ Python:
sudo apt-get install python-bluetooth
Cũng cài đặt các thư viện hỗ trợ GPIO cho Raspberry Pi:
sudo apt-get install python-rpi.gpio
Bây giờ chúng ta đã hoàn tất việc cài đặt các gói bắt buộc cho giao tiếp Bluetooth trong Raspberry Pi.
Ghép nối thiết bị với Raspberry Pi qua Bluetooth:
Việc ghép nối Thiết bị Bluetooth, như điện thoại di động, với Raspberry Pi rất dễ dàng. Ở đây, chúng tôi đã ghép nối Điện thoại thông minh Android của mình với Raspberry Pi. Trước đây chúng tôi đã cài đặt BlueZ trong Pi, cung cấp tiện ích dòng lệnh có tên “ bluetoothctl ” để quản lý các thiết bị Bluetooth của chúng tôi. Nhưng trước đó, hãy kết nối USB Bluetooth dongle của bạn với Raspberry Pi và kiểm tra xem nó có được phát hiện hay không bằng cách sử dụng lệnh dưới đây:
lsusb
Bây giờ mở tiện ích bluetoothctl bằng lệnh dưới đây:
sudo bluetoothctl
Bạn có thể kiểm tra tất cả các lệnh của tiện ích bluetoothctl bằng cách gõ ' trợ giúp' . Bây giờ chúng ta cần nhập các lệnh dưới đây theo thứ tự nhất định:
# bật nguồn # tác nhân trên # có thể phát hiện trên # có thể ghép nối trên # quét trên
Sau lệnh cuối cùng “ quét trên ”, bạn sẽ thấy thiết bị Bluetooth (Điện thoại di động) của mình trong danh sách. Đảm bảo rằng điện thoại di động của bạn đã bật Bluetooth và các thiết bị lân cận có thể nhìn thấy. Sau đó, sao chép địa chỉ MAC của thiết bị của bạn và ghép nối nó bằng cách sử dụng lệnh đã cho:
đôi
Sau đó, bạn sẽ được nhắc nhập Mật mã hoặc Ghim trong Bảng điều khiển đầu cuối, sau đó nhập mật mã vào đó và nhấn enter. Sau đó, nhập cùng một mật mã vào điện thoại di động của bạn khi được nhắc và bây giờ bạn đã ghép nối thành công với Raspberry Pi. Chúng tôi cũng đã giải thích toàn bộ quy trình này trong hướng dẫn trước đây của chúng tôi về Điều khiển GPIO bằng Bluetooth.
Sơ đồ mạch:
Nhập liệu bằng giọng nói trên màn hình LCD bằng ứng dụng Android BlueTerm:
Bây giờ sau khi ghép nối Điện thoại di động, chúng ta cần cài đặt Ứng dụng Android để giao tiếp với Raspberry Pi bằng Bộ điều hợp nối tiếp Bluetooth. Giao thức RFCOMM / SPP mô phỏng giao tiếp nối tiếp qua Bluetooth, vì vậy chúng tôi đã cài đặt tại đây Ứng dụng BlueTerm hỗ trợ giao thức này.
Bạn cũng có thể sử dụng bất kỳ Ứng dụng đầu cuối Bluetooth nào khác hỗ trợ giao tiếp qua ổ cắm RFCOMM.
Bây giờ sau khi tải xuống và cài đặt Ứng dụng BlueTerm, hãy chạy Chương trình Python cho sẵn bên dưới từ thiết bị đầu cuối và kết nối thiết bị raspberrypi đã ghép nối từ Ứng dụng BlueTerm cùng một lúc. Sau khi kết nối thành công bạn sẽ thấy kết nối: raspberrypi ở góc trên cùng bên phải của App như hình bên dưới. Bây giờ chọn Bàn phím gõ giọng nói của Google và bắt đầu nói, nó sẽ xuất hiện trên màn hình LCD.
Chương trình Python cho dự án này được đưa ra bên dưới và có thể dễ hiểu. Phần điển hình chính liên quan đến Lập trình Bluetooth mà chúng tôi đã giải thích trước đây; kiểm tra phần lập trình của bài viết này.
Chúng tôi có thể mở rộng dự án này hơn nữa bằng cách sử dụng Voice để điều khiển các chân GPIO của Raspberry hoặc có thể sử dụng màn hình LCD / TFT lớn hơn để hiển thị các thông báo lớn hơn. Ngoài ra, hãy xem các Hướng dẫn và Dự án Raspberry Pi trước đây của chúng tôi.