HC-05 Giao diện Bluetooth với Raspberry Pi Pico - Đầu ra điều khiển

HC-05 Giao diện Bluetooth với Raspberry Pi Pico - Đầu ra điều khiển

Ứng dụng đầu cuối Bluetooth

Trong suốt hướng dẫn này, chúng tôi sẽ sử dụng điện thoại thông minh Android sẽ kết nối với Raspberry Pi Pico của chúng tôi. Vì vậy, hãy chắc chắn rằng bạn có một chiếc điện thoại Android trong tay. Chúng tôi cũng sẽ sử dụng ứng dụng đầu cuối Bluetooth để ghép nối hai thiết bị với nhau.

Truy cập Cửa hàng Play và tải xuống ứng dụng theo tên: Điều này có thể được nhìn thấy trong hình dưới đây.

Ứng dụng Bluetooth nối tiếp

Cài đặt ứng dụng

Giới thiệu HC-05

HC-05 là một trong những thiết bị Bluetooth thường được sử dụng sử dụng giao thức truyền thông UART. HC-05 Bluetooth có nhiều tính năng khác biệt so với tất cả các thiết bị Bluetooth khác vì có nhiều chân và chức năng của chúng. Nó có nhiều chân cho các phương pháp khác nhau, điều này làm cho nó trở nên độc đáo so với các phương pháp khác. Mô-đun thường hoạt động tại giao tiếp nối tiếp UART với các chân TX và RX ở tốc độ truyền 9600. Tuy nhiên, nó có thể được lập trình bằng các lệnh AT và nó hỗ trợ tốc độ truyền 9600,19200,38400,57600,115200,230400,460800.

Mô-đun Bluetooth HC-05

Chip đơn CSR Bluecore 04-External của nó đã được cấu hình để giao tiếp với các thiết bị Bluetooth khác thông qua giao tiếp nối tiếp. Nó cung cấp một phương pháp giao tiếp hai chiều và HC-05 có thể hoạt động như một nô lệ và chủ nhân. Mô-đun Bluetooth chỉ cung cấp giao tiếp khoảng cách ngắn do giới hạn của nó nhưng hầu hết các thiết bị đều đi kèm với nó do tốc độ và bảo mật của nó. Hạn chế của thiết bị này là nó không cho phép chuyển bất kỳ loại phương tiện nào.

Tóm lại, mô-đun này có thể được sử dụng để thực hiện giao tiếp không dây chi phí thấp giữa các bộ vi điều khiển như Arduino, TM4C123, Pic Microcontroller,  v.v. Ngoài ra, chúng ta có thể sử dụng nó để giao tiếp giữa bộ vi điều khiển và ứng dụng PC hoặc Android. Có rất nhiều ứng dụng Android có sẵn trong cửa hàng Google Play mà chúng tôi có thể sử dụng để gửi và nhận dữ liệu đến / từ HC05. Đối với hướng dẫn này, chúng tôi sẽ sử dụng ứng dụng 'Serial Bluetooth Terminal' mà chúng tôi đã cài đặt trước đó.

Sơ đồ chân

HC-05 đi kèm với nhiều chân và chỉ báo, giúp kiểm soát các hoạt động khác nhau và xem trạng thái của chúng thông qua các chỉ số. Sơ đồ sơ đồ chân này cung cấp chỉ dẫn của tất cả các chân.

HC-05 Cấu hình chân mô-đun Bluetooth

Bảng dưới đây cũng mô tả ngắn gọn chức năng của từng ghim.

Ghim

Mô tả:__________

VCC

Phạm vi điện áp hoạt động là 3,3 volt. Nhưng chân I / O có thể chịu được điện áp lên đến 5 volt. Do đó, chúng ta có thể kết nối nguồn điện 5 volt với chân này và các chân khác cũng có thể hoạt động trên các tín hiệu 5 volt như tín hiệu Tx và Rx.

GND ·

Tham chiếu mặt đất của cả vi điều khiển và HC-05 phải ở cùng một cấp độ. Do đó, chúng ta nên kết nối nguồn điện, HC05 và các chân nối đất Raspberry Pi Pi Pico với nhau.

Tx

Như đã thảo luận trước đó, mô-đun Bluetooth HC-05 sử dụng giao tiếp UART để truyền dữ liệu. Đây là một chân máy phát. Chân TX sẽ là chân truyền dữ liệu của mô-đun trong UART.

Rx

Chân này là dữ liệu nhận mã pin trong giao tiếp UART. Nó được sử dụng để nhận dữ liệu từ bộ vi điều khiển và truyền dữ liệu qua Bluetooth.

Tiểu bang

Trạng thái hiển thị trạng thái hiện tại của Bluetooth. Nó cung cấp phản hồi cho bộ điều khiển về kết nối Bluetooth với một thiết bị khác. Chân này có kết nối bên trong với đèn LED trên bo mạch cho thấy hoạt động của HC05.

Bật/Phím

Sử dụng tín hiệu bên ngoài, Bật/Phím pin được sử dụng để thay đổi chế độ HC-05 giữa chế độ dữ liệu và chế độ lệnh. Đầu vào logic CAO sẽ chuyển thiết bị ở chế độ lệnh và đầu vào logic LOW sẽ thay đổi chế độ thành chế độ dữ liệu. Theo mặc định, nó hoạt động ở chế độ dữ liệu.

Nút

Các trạng thái lệnh và chế độ dữ liệu có thể thay đổi thông qua một nút có trên mô-đun.

DẪN

Chân này hiển thị trạng thái làm việc của mô-đun cùng với chân Trạng thái

Giao diện HC-05 với Raspberry Pi Pico

Trong phần này, chúng tôi sẽ hướng dẫn bạn cách kết nối mô-đun HC-05 với Raspberry Pi Pico. Kết nối của mô-đun Bluetooth HC-05 với Raspberry Pi Pico rất dễ dàng vì chúng ta sẽ sử dụng giao diện giao tiếp nối tiếp bao gồm hai chân TX và RX. Như bạn đã biết, để giao tiếp với mô-đun Bluetooth HC-05, chúng ta cần sử dụng cổng giao tiếp UART của bảng Raspberry Pi Pico. Hình dưới đây cho thấy các chân RX và TX khác nhau được tìm thấy trên bảng Raspberry Pi Pico bao gồm giao diện UART. Nó chứa hai kênh UART: UART0 và UART1.

Ví dụ điều khiển LED với HC-05, Raspberry Pi Pico và Ứng dụng Android

Đối với mục đích trình diễn, chúng tôi sẽ điều khiển chân Raspberry Pi Pico GPIO bằng đèn LED được kết nối với nó. Điều này sẽ được thực hiện thông qua ứng dụng Android thông qua mô-đun Bluetooth. Chúng tôi sẽ điều khiển đèn LED bằng cách nhấn các nút được định cấu hình bên trong ứng dụng Android để chuyển đổi đèn LED.

Chúng tôi sẽ yêu cầu các thành phần sau cho dự án này.

Các thành phần bắt buộc:

  • Raspberry Pi Pico

  • Mô-đun Bluetooth HC-05

  • Đèn LED 5mm

  • Điện trở 220-ohm

  • Dây kết nối

  • Đầu cắm dây

Sơ đồ Raspberry Pi Pico và HC-05

Thực hiện theo sơ đồ dưới đây để kết nối tất cả các thiết bị với nhau.

Mô-đun HC-05 có hai chân đầu vào nối tiếp, cả hai đều sẽ được sử dụng để giao tiếp dữ liệu. TX của HC-05 sẽ được kết nối với RX của Raspberry Pi Pico và RX của HC-05 sẽ được kết nối với TX của Raspberry Pi Pico. Chúng tôi sẽ sử dụng chân UART0 TX GP0 và RX GP1. Chân VCC của mô-đun HC-05 sẽ được kết nối với nguồn điện 5V và các căn cứ sẽ phổ biến.

Chúng tôi sẽ sử dụng GP2 để kết nối với chân cực dương của đèn LED và chân cực âm với mặt bằng chung thông qua điện trở 220 ohm. Hơn nữa, tất cả các căn cứ sẽ là điểm chung.

Raspberry Pi Pico với HC-05 và sơ đồ kết nối LED

Dữ liệu sẽ được truyền ở tốc độ truyền mặc định là 9600 nhưng nó cũng có thể được thay đổi.

Thiết lập ứng dụng Android

Trong cài đặt điện thoại thông minh của bạn, hãy bật Bluetooth và quét tìm các thiết bị Bluetooth có sẵn. Bạn sẽ thấy thiết bị HC-05 trong danh sách được quét của mình. Tên mặc định cho thiết bị Bluetooth này là "HC-05" và mã pin mặc định là "0000" hoặc "1234".

Quét tìm thiết bị Bluetooth

Chúng tôi sẽ sử dụng điện thoại thông minh Android để kết nối với Raspberry Pi Pico của mình. Để làm được điều đó, bạn sẽ phải thực hiện một loạt các bước.

Sau khi bạn đã cài đặt ứng dụng 'Serial Bluetooth Terminal, hãy mở nó. Ở góc trên cùng bên trái của màn hình, bạn sẽ tìm thấy ba thanh ngang. Nhấn vào nó.

Bản demo ứng dụng Bluetooth nối tiếp1

Bây giờ, hãy nhấn vào tab Thiết bị.



quét tìm HC-05 bằng ứng dụng Android bluetooth nối tiếp

Trong phần 'thiết bị có sẵn', chọn 'HC-05'

kết nối với HC-05

Sau khi bạn đã chọn mô-đun HC-05, hãy nhấn vào biểu tượng 'liên kết' ở đầu màn hình. Lúc đầu, bạn sẽ nhận được thông báo: 'Kết nối với HC-05.' Sau khi kết nối thành công, bạn sẽ nhận được thông báo: 'Đã kết nối.'

Raspberry Pi Pico với HC-05 nối tiếp bluetooth 1

Bây giờ chúng tôi sẽ cấu hình các nút sẽ được sử dụng để chuyển đổi đèn LED. Đầu tiên hãy nhấp vào nút M1 như hình dưới đây:

Raspberry Pi Pico với HC-05 nối tiếp bluetooth 2

Bây giờ thêm các chi tiết. Ở đây chúng tôi đang định cấu hình nút này là nút "LED BẬT" với một giá trị được liên kết với nó. Nhấn biểu tượng đánh dấu ở trên cùng bên phải để xác nhận các thay đổi.

Raspberry Pi Pico với HC-05 nối tiếp bluetooth 3

Tương tự như vậy, hãy tạo một nút khác, ví dụ: M2 làm nút "LED TẮT" và cũng liên kết một giá trị với nó.

Raspberry Pi Pico với HC-05 nối tiếp bluetooth 4

Bây giờ chúng ta sẽ có hai nút mà qua đó chúng ta sẽ có thể kiểm soát trạng thái của đèn LED.

Raspberry Pi Pico với HC-05 nối tiếp bluetooth 5

MicroPython: Điều khiển LED Raspberry Pi Pico với HC-05 và Ứng dụng Android

from machine import Pin,UART

uart = UART(0,9600)

 

Led_pin = 2

led = Pin(Led_pin, Pin.OUT)

 

while True:

    if uart.any():

        data = uart.readline()

        print(data)

        if data== b'1':

            led.high()

            print("LED is now ON!")

        elif data== b'0':

            led.low()

            print("LED is now OFF!")

Mã hoạt động như thế nào?

Chúng ta sẽ bắt đầu bằng cách nhập các lớp Pin và UART từ mô-đun máy.

from machine import Pin,UART

Sau đó, chúng ta sẽ tạo một đối tượng uart bằng cách sử dụng UART() và chỉ định kênh UART làm tham số đầu tiên và tốc độ truyền làm tham số thứ hai. Chúng tôi đang sử dụng UART0 trong trường hợp này với tốc độ truyền 9600 cho giao tiếp uart.

uart = UART(0,9600)

Tiếp theo, chúng tôi sẽ xác định chân Raspberry Pi Pico GPIO mà chúng tôi sẽ kết nối với đèn LED. Đó là GP2 trong trường hợp của chúng tôi. Bạn có thể sử dụng bất kỳ chân đầu ra thích hợp nào.

Led_pin = 2

Chúng tôi sẽ định cấu hình chân led làm đầu ra thông qua chức năng Pin () và truyền chân GPIO làm tham số đầu tiên và Pin.OUT là tham số thứ hai bên trong nó.

led = Pin(Led_pin, Pin.OUT)

Bên trong vòng lặp vô hạn, trước tiên chúng tôi sẽ kiểm tra xem có bất kỳ dữ liệu nào được nhận qua kênh UART hay không. Nếu có bất kỳ dữ liệu nào, nó sẽ được lưu trong biến 'dữ liệu'. Điều này sẽ đạt được bằng cách sử dụng uart.readline(). Chúng tôi sẽ nhấn từng nút và xem những gì chúng tôi nhận được trong thiết bị đầu cuối shell của Thonny lần đầu tiên.

while True:

    if uart.any():

        data = uart.readline()

        print(data)

Trong trường hợp của chúng tôi khi chúng tôi nhấn nút 'LED ON', chúng tôi đã thu được b'1 ′ trong thiết bị đầu cuối shell. Tương tự như vậy, khi chúng tôi nhấn nút 'LED TẮT', chúng tôi đã nhận được b'0 ′ trong thiết bị đầu cuối. Chúng tôi sẽ sử dụng các ký tự này bên trong câu lệnh if-elif để kiểm tra nút nào đã được nhấn.

Bạn phải tự mình kiểm tra xem bạn nhận được ký tự nào cho các nút của mình và sử dụng chúng trong kịch bản một cách thích hợp.

Nếu nhấn nút 'LED BẬT', thì đèn LED sẽ BẬT và in "Đèn LED hiện đang BẬT!" trong thiết bị đầu cuối vỏ của Thonny.

Tương tự, nếu nhấn nút 'LED TẮT', thì đèn LED sẽ TẮT và in "Đèn LED hiện đang TẮT!" trong thiết bị đầu cuối vỏ của Thonny.

 

        if data== b'1':

            led.high()

            print("LED is now ON!")

        elif data== b'0':

            led.low()

            print("LED is now OFF!")

Cuộc biểu tình

Sau khi bạn đã chọn mô-đun HC-05, hãy nhấn vào biểu tượng 'liên kết' ở đầu màn hình. Lúc đầu, bạn sẽ nhận được thông báo: 'Kết nối với HC-05.' Sau khi kết nối thành công, bạn sẽ nhận được thông báo: 'Đã kết nối.'

Bây giờ hãy nhấp vào nút BẬT đèn LED, bạn sẽ thấy đèn LED sẽ BẬT. Đáp lại, Raspberry Pi Pico gửi một thông báo xác nhận và bạn sẽ nhận được thông báo "Đèn LED hiện đang BẬT!" trên thiết bị đầu cuối Thonny shell. Hơn nữa, giá trị '1' sẽ được nhìn thấy trên thiết bị đầu cuối ứng dụng Android cho led on.

Raspberry Pi Pico với đèn LED bluetooth nối tiếp HC-05 BẬT

Tương tự, nếu bạn nhấn nút TẮT đèn LED, đèn LED sẽ TẮT. Bạn sẽ nhận được thông báo phản hồi "Đèn LED hiện đã TẮT!" từ bảng. Hơn nữa, giá trị '0' sẽ được nhìn thấy trên thiết bị đầu cuối ứng dụng Android cho đèn led tắt.

Raspberry Pi Pico với đèn LED bluetooth nối tiếp HC-05 TẮT

Bài viết cùng chuyên mục

NHANH

NHANH

Vì Đổi mới liên tục nên Nhanh hơn

ĐÚNG

ĐÚNG

Coi trọng và ưu tiên việc làm Đúng

ĐỦ

ĐỦ

Tìm và mua Đủ Đơn hàng hơn

KỊP THỜI

KỊP THỜI

Hiệu suất tối ưu bởi Kịp Thời hơn