Thắc mắc Module bluetooth hc-05

Thảo luận trong 'Sản phẩm - Dự án.'

Đang xem chủ đề này ( Thành viên: 0, Khách: 1)

  1. huynhantrong

    huynhantrong Học sinh phổ thông

    Tham gia ngày:
    30/9/13
    Bài viết:
    24
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    E có module hc-05 e muốn dùng để dk xe điều khiển từ xa .nhưng e thấy nó có một chân out ra thôi .làm sao điều khiển dc 4 relay .e dùng 8051 thì phải có 4 chân mới dk dc 4 relay.e thấy trên mạng no viết bằng pic e khg hiểu.mong cao thủ nào giúp e vs
     
  2. Concept

    Concept Kỹ sư

    Tham gia ngày:
    15/6/14
    Bài viết:
    580
    Đã được thích:
    789
    Điểm thành tích:
    93
    Giới tính:
    Nam
    Bạn hiểu như thế nào về Bluetooth ? :)

    Về bản chất Bluetooth là một kết nối không dây theo dạng UART ( truyền thông nối tiếp) giống như các dạng kết nối serial khác (dạng cổng COM) nó có hai chân TX và RX để truyền và nhận dữ liệu Do không phải là VĐK nên bạn không thể dùng chính nó để điều khiển các thiết bị ngoại vi qua các cổng I/O. Mỗi một module bluetooth thường sẽ có một địa chỉ để bạn kết nối. (hay còn gọi là "pair"- kết đôi). Module Bluetooth HC05 có các chân như hình dưới đây

    [​IMG]

    Các module BT này thường được dùng để kết nối giữa vi điều khiển và máy tính hoặc điện thoại di động theo dạng chủ tớ nghĩa là máy tính hoặc điện thoại di động sẽ gởi các dữ liệu hoặc tập lệnh để yêu cầu vi điều khiển thực hiện một nhiệm vụ nào đó.

    Để rõ hơn bạn xem một ví dụ về kết nối Bluetooth với VĐK 8052 ở đây (Đường dẫn: Interfacing Bluetooth module with 8051 Microcontroller ( HC05 ) - Gadgetronicx)

    [​IMG]

    Ở đây có hai chương trình kết nối Bluetooth : (1) Để truyền nhận dữ liệu; (2) Điều khiển động cơ ở cổng P2.0 và P2.1 của VĐK 8052

    Hy vọng đã giúp được bạn.
     
    damme50_vn thích bài này.
  3. huynhantrong

    huynhantrong Học sinh phổ thông

    Tham gia ngày:
    30/9/13
    Bài viết:
    24
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam

    hi ,cám ơn anh, nhưng ý em là làm xe điều khiển đó, em thấy trên mạng nó làm như vậ nè,
    chẳng lẽ chỉ có atmega mới dc,
    em muốn làm bằng 8051 có dc không anh,
     
  4. Concept

    Concept Kỹ sư

    Tham gia ngày:
    15/6/14
    Bài viết:
    580
    Đã được thích:
    789
    Điểm thành tích:
    93
    Giới tính:
    Nam
    Trời đất, bạn đã đọc và nhấp vào đường dẫn mình đưa chưa...???? Bạn có hiểu đoạn chương trình điều khiển 8051 qua bluetooth HC05 ở đó không ?
     
  5. huynhantrong

    huynhantrong Học sinh phổ thông

    Tham gia ngày:
    30/9/13
    Bài viết:
    24
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    dạ em cám ơn ạ.sẳn anh cho em hỏi đoạn code dưới đây:
    1. #include<regx51.h>
    2. sbit mot1=P2^0;
    3. sbit mot2=P2^1;
    4. voidmain()
    5. {
    6. //////////
    7. Initialize serial communication and activate interrupts.
    8. //////////
    9. }
    10. voidser_intr(void)interrupt 4 //Subroutine for Interrupt
    11. {
    12. char c;
    13. IE=0x00;
    14. while(RI==0);
    15. c=SBUF;
    16. if(c=='F'); //Controlling motor
    17. {
    18. mot1=1;
    19. mot2=0;
    20. }
    21. elseif(c=='R')
    22. {
    23. mot1=0;
    24. mot2=1;
    25. }
    26. IE=0x90;
    27. }
    chổ c=SBUF em chưa hiểu,(c=="R",c=="F") là như thế nào, hi em chỉ tự học lập trình thôi,chủ yếu là asm còn c thì em không hiểu
     
  6. Concept

    Concept Kỹ sư

    Tham gia ngày:
    15/6/14
    Bài viết:
    580
    Đã được thích:
    789
    Điểm thành tích:
    93
    Giới tính:
    Nam
    SBUF có nghĩa là "Bộ đệm dữ liệu cổng nối tiếp" đây là một thanh ghi của 8051, bạn không thể viện lý do do không biết C nên không hiểu ???? [-x[-x[-x

    Kiến thức về các thanh ghi rất phổ biến trong ASM... Bạn có hiểu đoạn này trong ASM ?

    Mã:
    JNB RI,$ ;Wait for the 8051 to set the RI flag
    MOV A,SBUF ;Read the character from the serial port
     
  7. huynhantrong

    huynhantrong Học sinh phổ thông

    Tham gia ngày:
    30/9/13
    Bài viết:
    24
    Đã được thích:
    5
    Điểm thành tích:
    3
    Giới tính:
    Nam
    e chủ yếu là tự học.nên chưa hiểu lắm.cám ơn a mà sao e biên dịch chương trinh bằng keil c báo lỗi ở đoạn 21 vậy a.ở hàm else anh giúp e vs
     
  8. damme50_vn

    damme50_vn Học sinh trung cấp

    Tham gia ngày:
    25/12/16
    Bài viết:
    75
    Đã được thích:
    21
    Điểm thành tích:
    8
    Giới tính:
    Nam
    Có một cái mình thắc mắc là có phải thiết lập thông số cho HC05 là dùng tập lệnh AT còn truyền nhận thì như UART phải không bác??? thanks
     
    Concept thích bài này.
  9. Concept

    Concept Kỹ sư

    Tham gia ngày:
    15/6/14
    Bài viết:
    580
    Đã được thích:
    789
    Điểm thành tích:
    93
    Giới tính:
    Nam
    Mình nghĩ bạn nói chính xác, Bạn định thiết lập thông số gì cho HC-05 ? nếu cần tham khảo tập lênh bạn xem ở đây nhé bạn nhấp vào đây AT command mode of HC-05 and HC-06 Bluetooth module - All
     
    Last edited: 9/1/17
    damme50_vn thích bài này.
  10. damme50_vn

    damme50_vn Học sinh trung cấp

    Tham gia ngày:
    25/12/16
    Bài viết:
    75
    Đã được thích:
    21
    Điểm thành tích:
    8
    Giới tính:
    Nam
    Cảm ơn bác concept. em để đây để người khác có thể xem luôn.
    For HC05: Type "AT" (without the quotes) on the serial monitor and press enter. if "OK" appears then everything is all right and the module is ready to take command. Now you can change the name of the module, retrieve address or version or even reset to factory settings. To see the default name, type AT+NAME. The name will be prompted, by default it is HC-05 or JY_MCU or something like that. To change the name just type AT+NAME=your desired name.

    Here is an important note, if the key pin is not high, i.e. not connected to Vcc while receiving AT commands(if you did not solder the wire and released it after the module entered AT mode), it will not show the default name even after giving right command. But you can still change the name by the command mentioned above. To verify if the name has really changed, search the device from your pc/mobile. The changed name will appear. To change baud rate, type AT+UART=desired baud rate. Exit by sending AT+RESET command.

    Most useful AT commands are

    AT : Ceck the connection.
    AT+NAME : See default name
    AT+ADDR : see default address
    AT+VERSION : See version
    AT+UART : See baudrate
    AT+ROLE: See role of bt module(1=master/0=slave)
    AT+RESET : Reset and exit AT mode
    AT+ORGL : Restore factory settings
    AT+PSWD: see default password

    More detailed AT commands are given in the 1st pdf.

    For HC06: On arduino serial monitor type "AT" (without the quotes) and press enter, "OK" will confirm AT mode. Unlike HC05, you can't see the default name or baud rate. You can only change them. To change name type AT+NAMEDESIRED NAME, notice that there should be no space between the command and name. The module will reply OKyour set name. For example, AT+NAMEPROTOTYPE will set the name to PROTOTYPE. To change baud rate, type AT+BAUDX, where X=1 to 9.

    1 set to 1200bps
    2 set to 2400bps
    3 set to 4800bps
    4 set to 9600bps (Default)
    5 set to 19200bps
    6 set to 38400bps
    7 set to 57600bps
    8 set to 115200bps
    so sending AT+BAUD4 will set the baud rate to 9600.

    For Tera Term write down the commands somewhere else and paste it on the console by right clicking. No need of pressing enter. The command will be executed immediately and confirmed.

    HC 06 AT commands are limited, all I could find are given here.

    AT : check the connection
    AT+NAME: Change name. No space between name and command.
    AT+BAUD: change baud rate, x is baud rate code, no space between command and code.
    AT+PIN: change pin, xxxx is the pin, again, no space.
    AT+VERSION
     

Chia sẻ trang này