DÙNG SMARTPHONE điều KHIỂN THIẾT bị QUA BLUETOOTH DÙNG PIC (có code và layout) DÙNG SMARTPHONE điều KHIỂN THIẾT bị QUA BLUETOOTH DÙNG PIC (có code và layout) DÙNG SMARTPHONE điều KHIỂN THIẾT bị QUA BLUETOOTH DÙNG PIC (có code và layout) DÙNG SMARTPHONE điều KHIỂN THIẾT bị QUA BLUETOOTH DÙNG PIC (có code và layout) DÙNG SMARTPHONE điều KHIỂN THIẾT bị QUA BLUETOOTH DÙNG PIC (có code và layout)
Trang 1DÙNG SMARTPHONE ĐIỀU KHIỂN
THIẾT BỊ QUA BLUETOOTH
Trang 2DANH MỤC CÁC TỪ VIẾT TẮT X
CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN QUA BLUETOOTH 1
1.1 GIỚI THIỆU 1
1.2 TÓM TẮT NGUYÊN LÝ HOẠT ĐỘNG: 1
1.3 HƯỚNG NGHIÊN CỨU 1
1.4 MỤC ĐÍCH NGHIÊN CỨU: 1
CHƯƠNG 2 TÌM HIỂU LINH KIỆN 3
2.1 PIC 16F877A 3
2.2 MODULE BLUETOOTH HC-05: 4
2.3 RƠ – LE 12V: 7
2.4 TRANSISTOR NPN C1815: 8
2.5 LED ĐƠN: 10
2.6 NGUỒN CẤP: 10
2.7 CHUẨN GIAO TIẾP UART: 11
CHƯƠNG 3 THIẾT KẾ MẠCH 13
3.1 SƠ ĐỒ KHỐI 13
3.2 SƠ ĐỒ MẠCH: 14
3.3 NGUYÊN LÝ HOẠT ĐỘNG: 14
CHƯƠNG 4 THỰC THI PHẦN CỨNG 16
4.1 LƯU ĐỒ MÔ TẢ THỰC THI: 16
16
4.2 PHẦN MỀM ĐIỀU KHIỂN GIAO TIẾP: 17
4.2.1 Phần mềm pic c compiler: 17
4.2.2 Chương trình viết app cho smart phone ( chương trình app inventor) 17
4.3 MÔ PHỎNG MẠCH BẰNG PROTEUS: 21
Trang 3CHƯƠNG 5 KẾT LUẬN 25
5.1 KẾT LUẬN 25
5.2 ỨNG DỤNG: 25
5.3 HƯỚNG PHÁT TRIỂN: 25
TÀI LIỆU THAM KHẢO 26
PHỤ LỤC 27
Trang 4Hình 2.2 Các chức năng của pic 16f877a 4
Hình 2.3 Module bluetooth hc-05 ( mặt trước ) 4
Hình 2.4 Module bluetooth hc-05 ( mặt sau ) 4
Hình 2.5 Kết nối module bluetooth với pic 16f877a 6
Hình 2.6 Rơ le 12v và cấu tạo bên trong 7
Hình 2.7 Sơ đồ thiết kế module rơ le 7
Hình 2.8 Transistor npn c1815 và sơ đồ chân 8
Hình 2.9 Cấu tạo của transistor 8
Hình 2.10 Cấu tạo của transistor 8
Hình 2.11 Kí hiệu trong mạch điện của transistor 8
Hình 2.12 LED đơn và sơ đồ chân 10
Hình 2.13 Adapter 12v 11
Hình 3.1 Sơ đồ khối mạch 13
Hình 3.2 Sơ đồ nguyên lý của mạch 14
Hình 4.1 Lưu đồ mô tả thực thi 16
Hình 4.2 Giao diện thiết kế của app inventor 21
Hình 4.3 Giao diện viết code cho app android 21
Hình 4.4 Code thông báo bật bluetooth 22
Hình 4.5 Code điều khiển thiết bị 1 22
Hình 4.6 Code điều khiển thiết bị 2 23
Hình 4.7 Code điều khiển thiết bị 3 23
Hình 4.8 Code ngắt kết nối bluetooth 24
Hình 4.9 Mô phỏng mạch bằng proteus 24
Hình 4.10 Mô phỏng mạch bằng proteus 25
Hình 4.11 Thiết kế layout bằng proteus 26
Hình 4.12 Mạch layout 26
Trang 5DANH MỤC CÁC TỪ VIẾT TẮT
USART Universal Synchronous/Asynchronous receiver/ transmitter
Trang 6VCC voltage common collector
GND ground
Tx transmit
Rx receive
TTL transistor- transistor logic
I2C inter intergrated circuit
SPI serial peripheral bus
USB universal serial bus
ADC analog to digital converter
Trang 7CHƯƠNG 1 TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN QUA
BLUETOOTH
1.1 Giới thiệu
Bluetooth là chuẩn kết nối không dây tầm ngắn sử dụng băng tần 2.4GHz để kết nốicác thiết bị cá nhân ( điện thoại, laptop,…) với nhau tạo thành mạng cục bộ nhỏ.Khi 2 thiết bị được kết nối với nhau bằng bluetooth, ta có thể chia sẽ thông tin giữa
2 thiết bị
Ngày nay, cùng với sự phát triển mạnh mẽ của các loại thiết bị di động hay các loạiđiện thoại thông minh thì việc điều khiển mọi thiết bị điện tử trong gia đình là mộtviệc đơn giản, chỉ cần kết nối các thiết bị với nhau thông qua bluetooth
1.3 Hướng nghiên cứu
Mạch điều khiển thiết bị thông qua bluetooth gồm các linh kiện:
Hệ thống điều khiển và nhận tín hiệu: điện thoại smartphone, pic 16f877a, modulebluetooth hc-05
Hệ thống hiển thị: LED đơn
1.4 Mục đích nghiên cứu:
Mục đích nghiên cứu là để sinh viên có thể tổng hợp các kiến thức đã học về pic16f877a và các linh kiện điện tử, đồng thời tìm hiểu thêm những kiến thức mới vàứng dụng nó vào nhu cầu cuộc sống con người, xã hội ngày càng phát triển về tựđộng hóa
Trang 8CHƯƠNG 2 TÌM HIỂU LINH KIỆN
1.5 Pic 16f877a
- Sơ đồ chân:
Trang 9Hình 2.1 Sơ đồ chân của pic 16f877a [1]
- Đặc điểm:
Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 13 lệnh có độ dài 14 bit.Mỗi điều lệnh được thực thi trong một chu kỳ xung clock Tốc độ hoạt động tối đacho phép là 20MHz với một chu kì lệnh là 200ns Bộ nhớ chương trình 8Kx14bit,
bộ nhớ dữ liệu 368x8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 x
8 byte Số port I/O là 5 với 33 pin I/O
Các đặt tính ngoại vi bao gồm các khối chức năng sau:
- 8/16 bit timer
- Các chuẩn giao tiếp ngoại vi nối tiếp đồng bộ/ không đồng bộ USART
- Bộ chuyển đổi ADC (Analog to digital converters) 10/16 bit
- Bộ so sánh điện áp
- LCD
- Các chuẩn giao tiếp I2C, SPI
- Hỗ trợ giao tiếp USB
- Hỗ trợ điều khiển Ethernet
Trang 11Bluetooth cung cấp băng thông lên đến 720Kbps dữ liệu trong phạm vi từ 10m đến100m Không giống hồng ngoại, khi giap tiếp cần để bề mặt thiết bị sát với nhau,bluetooth sử dụng sóng vô tuyến đa hướng cho phép truyền qua vật cản không làmbằng kim loại Bluetooth truyền với tần số 2.4 GHz và sử dụng kĩ thuật phát sóng
vô hướng liên tục
Module này được thiết kế dựa trên chip BC 417 Con chip này khá phức tạp và sửdụng bộ nhớ flash ngoài 8Mbit Nhưng việc sử dụng module hoàn toàn đơn giản bởinhà sản xuất đã tích hợp mọi thứ trên module HC 05
Sơ đồ chân HC 05 gồm có:
- KEY: chân này đẻ chọn chế độ hoạt động AT mode hoặc Data mode
- VCC: chân này dùng để cấp nguồn 3.6 – 6 V cho module Bên trong module
đã có một ic chuyển điện áp về 3.3V cấp cho chip BC417
- GND: nối với đất
- TXD, RXD đây là 2 chân UART để giao tiếp module Hoạt động ở mức điện
áp 3.3 V
Nguyên lý điều khiển:
HC 05 có 2 chế độ hoạt động là Command mode và Data mode Ở chế độ commandmode ta có thể giao tiếp với module thông qua cổng serial trên module bằng tậplệnh AT Ở chế độ data mode, module có thể truyền nhận dũ liệu tới module khác.Chân key dùng để chuyển đổi qua lại giữa 2 chế độ
Ngoài ra, để tiện lợi, nhà sản xuất cho phép chúng ta thả nổi chân KEY Như thế,module sẽ chỉ hoạt động ở chế độ SLAVE
- Chế độ SLAVE: cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để
dò tìm module, sau đó ghép đôi với mã PIN là 1234 Sau khi ghép đôi thànhcông, sẽ có một cổng serial hoạt động ở baud rate 9600
- Chế độ MASTER: module sẽ tự dò tìm thiết bị bluetooth khác ( 1 module
HC 05, usb bluetooth, bluetooth của laptop…) và tiến hành ghép đôi chủđộng mà không cần thiết lập gì từ máy tính hay smartphone
Thông số kỹ thuật:
- Điện thế hoạt động: 3.3 – 5 V
Trang 12- Dòng điện hoạt động khi ghép đôi là 30mA, sau khi ghép đôi hoạt độngtruyền nhận bình thường là 8mA
- Dải tần số hoạt động: 2.4 GHz
- Mặc định: Baud rate 9600, None parity, 8 bits
- Mã ghép đôi: 1234
Kết nối với PIC 16f877a:
Hình 2.5 Kết nối module bluetooth với pic 16f877a [3]
1.7 Rơ – le 12V:
Hình 2.6 Rơ le 12v và cấu tạo bên trong [3]
Đặc điểm:
Rơ le (relay) là một công tắc chuyển đổi hoạt động bằng điện Nói là một công tắc
vì rơ le có 2 trạng thái ON và OFF Rơ le ở trạng thái ON hay OFF tùy thuộc và códòng chạy qua rơ le hay không
Nguyên lý hoạt động:
Trang 13Khi có dòng qua rơ le, dòng diện này sẽ chạy qua cuộn dây bên trong và tạo ra một
từ trường hút Từ trường hút này tác động lên một đòn bẩy bên trong làm đóng hoạt
mở tiếp điểm điện, như thế sẽ làm thay đổi trạng thái của rơ le Số tiếp điểm điện bịthay đổi có thể là 1 hoặc nhiều tùy vào thiết kế
Dòng chạy qua cuộn dây để điều khiển rơ le ON / OFF vào khoảng 30mA với điện
áp 12V hoặc có thể lên tới 100mA
Hầu hết các con chip đều không thể cung cấp dòng này, lúc này ta cần một con BJT
để khuếch đại dòng nhỏ ở ngõ ra IC thành dòng lớn để phục vụ cho rơ le
Trang 14
Hình 2.9 Cấu tạo của transistor [5]
Trên phương diện cấu tạo, transistor tương đương 2 con diode ghép với nhau
Hình 2.10 Cấu tạo của transistor [5]
Kí hiệu trong mạch điện:
Hình 2.11 Kí hiệu trong mạch điện của transistor [5]
IB: cường độ dòng qua cực Base của transistor
IC: cường độ dòng qua cực collector của transistor
IE: cường độ dòng qua cực emitter của transistor
VBE: hiệu điện thế giữa 2 cực base và emitter của transistor
UB: điệp áp cực base
Trang 15thế 2 cực C và E sẽ gần bằng 0 Khi áp trên cực B là 0V, thì sẽ không xuất hiệndòng qua cực E Lúc này điện áp VCE bằng điện áp đặt vào cực C của transistor
Các thông số cần biết:
- Dòng cực đại qua cực base IB: mỗi loại transistor có các mức dòng IB cựcđại khác nhau, nếu dòng qua cực base vượt quá mức cực đại, nó có thể làmhỏng transistor Do vậy người ta luôn mắc nối tiếp cực B với một điện trởhạn dòng
- Hệ số khuếch đại hfe: là tỉ số Ic/Ib đặc trưng cho khả năng khuếch đại dòngđiện của transistor Mỗi loại transistor có một hệ số khuếch đại khác nhau.Với các transistor có hfe lớn, chỉ cần dòng Ib nhỏ là đã có thể kích cho nó
mở hoàn toàn hfe thường có trị số từ vài chục đến vài ngàn
- Cường độ dòng cực đại IC: là dòng điện tối đa mà transistor có thể cho đivào cực C Các loại transistor lớn nhất thường chỉ có IC tối đa khoảng 5A
1.9 LED đơn:
Hình 2.12 LED đơn và sơ đồ chân [3]
Trang 16 LED, viết tắt của Light-Emitting-Diode có nghĩa là “đi-ốt phát quang”, làmột nguồn sáng phát sáng khi có dòng điện tác động lên nó.
Các thông số kỹ thuật:
Điện áp tối đa: 3 – 5 V
Dòng điện tối đa: 10 – 15 mA
1.11 Chuẩn giao tiếp UART:
- UART: Universal Asynchronous Receiver/ Transmitter
- Là kiểu truyền thông nối tiếp không đồng bộ
- UART thường được dùng trong truyền thông, vi điều khiển, hay một số thiết
bị truyền tin khác
- Mục đích của UART là truyền tín hiệu qua lại lẫn nhau ( ví dụ truyền tín hiệu
từ laptop vào modem hay ngược lại) hay truyền từ vi điều khiển tới vi điềukhiển, từ laptop với vi điều khiển…
- Tóm lại là chung một chuẩn giống nhau thì trên lý thuyết có thể giao tiếpđược với nhau
- UART có trong các bộ điều khiển, các chip điều khiển, hay trong laptop Tínhiệu từ chip UART thường theo mức TTL, mức cao là 5 V, mức thấp là 0V
- Các thông số cài đặt cho UART để 2 thiết bị giao tiếp với nhau:
Trang 17 Baud rate: là số đơn vị tín hiệu được truyền trong một giây Phải được càiđặt giống nhau ở gửi và nhận
Frame ( khung truyền): quy định số bit trong mỗi lần truyền Thường là 8bit
Data: dữ liệu cần truyền
Parity bit: là bit kiểm tra dữ liệu truyền có đúng hay không
Stop bit: là một hoặc các bit thông báo cho thiết bị biết rằng các bit đãđược gởi xong Thiết bị nhận sẽ tiến hành kiểm tra khung truyền nhằmđảm bảo tính đúng đắn của dữ liệu Stop bit là bit bắt buộc xuất hiệntrong khung truyền
Trang 18CHƯƠNG 3 THIẾT KẾ MẠCH
1.12 Sơ đồ khối
Hình 3.14 Sơ đồ khối mạch
1.13 Sơ đồ mạch:
Trang 19Vcc GND Tx Rx
RA4/T0CKI/C1OUT 6
RA5/AN4/SS/C2OUT 7
RE0/AN5/RD 8
RE1/AN6/WR 9
RE2/AN7/CS 10
OSC1/CLKIN 13
OSC2/CLKOUT 14
RC1/T1OSI/CCP2 16RC2/CCP1 17RC3/SCK/SCL 18
RD0/PSP0 19RD1/PSP1 20
RB7/PGD 40RB6/PGCRB5 39
38 RB4 37RB3/PGM 36RB2 35RB1 34RB0/INT 33
RD7/PSP7 30RD6/PSP6 29RD5/PSP5 28RD4/PSP4 27RD3/PSP3 22RD2/PSP2 21
RC7/RX/DT 26RC6/TX/CK 25RC5/SDO 24RC4/SDI/SDA 23
RA3/AN3/VREF+
5
RC0/T1OSO/T1CKI 15
MCLR/Vpp/THV 1
Ta mở ứng dụng điều khiển trên điện thoại và thực hiện điều khiển thiết bịthông qua các nút nhấn
Trang 20 Mỗi nút nhấn được lập trình để điều khiển cho một thiết bị.
Ví dụ:
Khi nhấn nút nhấn 1, điện thoại sẽ gởi về vi điều khiển kí tự “1”, trong vi điều khiển
ta sẽ lập trình sao cho khi nhận được kí tự “1” thì bật sẽ bật thiết bị 1 Tiếp tục nhấnnút nhấn 1 lần nữa, điện thoại sẽ gởi về vi điều khiển kí tự “2” và ta sẽ lập trình cho
vi điều khiển khi nhận được kí tự “2” thì sẽ tăt thiết bị 1
Tương tự đối với thiết bị 2 và 3
- Khi nhận kí tự “3”, thiết bị 2 bật Khi nhận kí tự “4”, thiết bị 2 tắt
- Khi nhận kí tự “5”, thiết bị 1 bật Khi nhận kí tự “6”, thiết bị 3 tắt
Trang 21CHƯƠNG 4 THỰC THI PHẦN CỨNG
1.15 Lưu đồ mô tả thực thi:
1.16 Phần mềm điều khiển giao tiếp:
Bluetooth ON
Tìm kết nối
Đợi tín hiệu từ người dùng
Thông báo và yêu cầu
Y
Hình 4.16 Lưu đồ mô tả thực thi
Trang 22Chương trình là sự tích hợp của 3 trình biên dich riêng biết cho 3 dòng PIC khácnhau đó là:
‐ PCB cho dòng PIC 12‐bit opcodes
‐ PCM cho dòng PIC 14‐bit opcodes
‐ PCH cho dòng PIC 16 và 18‐bit
1.1.2 Chương trình viết app cho smart phone ( chương trình app inventor)
Để sử dụng được App Inventor, ta truy cập vào địa chỉ ai2.appinventor.mit.edu Sau
đó tiến hành đăng nhập bằng tài khoản Google để mở trang quản lí các project
- Giao diện làm việc của chương trình
Hình 4.17 Giao diện thiết kế của app inventor
- Vùng viết code cho app:
Trang 23Hình 4.18 Giao diện viết code cho app android
- Code cho app bluetooth:
• Code để thông báo bật bluetooth điện thoại:
Hình 4.19 Code thông báo bật bluetooth
• Code cho nút nhấn điều khiển thiết bị 1
Trang 24Hình 4.20 Code điều khiển thiết bị 1
• Code nút nhấn điều khiển thiết bị 2:
Trang 25Hình 4.21 Code điều khiển thiết bị 2
• Code nút nhấn điều khiển thiết bị 3:
Hình 4.22 Code điều khiển thiết bị 3
• Code cho nút ngắt kết nối bluetooth:
Trang 26Hình 4.23 Code ngắt kết nối bluetooth
1.17 Mô phỏng mạch bằng proteus:
Hình 4.24 Mô phỏng mạch bằng proteus
- Thiết bị Virtual Terminal dùng để mô phỏng cho truyền dữ liệu nối tiếp từ thiết
bị ngoại vi vào pic để điều khiển cho các khối thiết bị
- Khi nhấn phím 1 từ bàn phím máy tính, pic sẽ nhận kí tự ‘1’ và điều khiển choled ở thiết bị 1 bật Nếu nhấn phím 2, led thiết bị 1 sẽ tắt
Trang 27- Tương tự đối với thiết bị 2 và 3, khi nhấn phím 3/4 led thiết bị 2 sẽ bật/tắt Khinhấn phím 5/6 led thiết bị 3 sẽ bật/tắt.
Hình 4.25 Mô phỏng mạch bằng proteus
1.18 Thực thi phần cứng:
Trang 281.1.3 Thiết kết layout cho mạch:
Hình 4.26 Thiết kế layout bằng proteus
Hình 4.27 Mạch layout
1.1.4 Thi công phần cứng:
Trang 29Hình 4.28 Mạch sau khi lắp ráp hoàn chỉnh
CHƯƠNG 5 KẾT LUẬN
Trang 30- Dựa vào nguyên lý hoạt động và chức năng của các linh kiện trong mạch, ta
có thể phát triển mạch để khiển một động cơ, hay làm xe điều khiển từ xahoặc có thể tăng số thiết bị điều khiển
Trang 31TÀI LIỆU THAM KHẢO
Trang 32PHỤ LỤC
#include <16F877A.h>
#device ADC=16
#FUSES NOWDT //No Watch Dog Timer
#FUSES NOBROWNOUT //No brownout reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18)used for I/O
Trang 33rdata=getc();// nhan du lieu tu bluetooth
switch(rdata)//lenh re nhanh cac ki tu nhan dc
{
case '1': // khi nhan ki tu 1 tu dien thoai output_HIGH(PIN_D2); //tao muc cao cho chan D2 break;