1. Trang chủ
  2. » Luận Văn - Báo Cáo

ĐỒ ÁN TỐT NGHIỆP : NGHIÊN CỨU VÀ THIẾT KẾ ĐỒNG HỒ VẠN NIÊN ĐIỀU KHIỂN QUA BLUETOOTH

77 1,3K 10

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 77
Dung lượng 4,78 MB

Nội dung

MỤC LỤC LỜI CẢM ƠN LỜI MỞ ĐẦU CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1 1.1 Giới thiệu chung về vi điều khiển 1 1.1.1 Vi điều khiển ATmega328 4 1.1.2 Các thông số chính của vi điều khiển ATmega328 5 1.1.3 Sơ đồ chân 5 1.2 Board Arduino 6 1.2.1 Giới thiệu chung về Arduino 6 1.2.2 Giới thiệu về board Arduino Uno 7 1.2.3 Lập trình Arduino 10 1.3 IC DS1307 12 1.3.1 Cơ chế hoạt động của DS1307 13 1.3.2 Hoạt động của các chân 14 1.4 Điều khiển từ xa dùng Bluetooth 20 1.4.1 Giới thiệu về Bluetooth 20 1.4.2 Module Bluetooth HC – 05 23 1.4.3 Hệ điều hành Android 29 CHƯƠNG 2: THIẾT KẾ HỆ THỐNG VÀ THI CÔNG 33 2.1 Sơ đồ tổng quát 33 2.2 Sơ đồ thiết kế 34 2.2.1 Khối nguồn 34 2.2.2 Khối Reset 35 2.2.3 Khối tạo xung dao động 35 2.2.4 Khối hiển thị 36 2.2.5 Khối tạo thời gian thực 36 2.2.6 Khối điều khiển trung tâm 37 2.2.7 Khối điều khiển 37 2.3 Thiết kế đồng hồ vạn niên điều khiển qua Bluetooth 39 2.3.1 Mạch đồng hồ vạn niên và hiển thị led 7 thanh 39 2.3.2 Mạch điều khiển 39 2.4 Thiết kế giao diện trên điện thoại 40 2.5 Mô hình mạch thực tế 42 2.5.1 Các linh kiện sử dụng trong mạch 42 2.5.2 Mạch thực tế 42 2.6 Lưu đồ thuật toán 44 2.7 Code chương trình 45 KẾT LUẬN 70 TÀI LIỆU THAM KHẢO 72

Trang 1

KHOA ĐIỆN TỬ

***

ĐỒ ÁN TỐT NGHIỆP NGÀNH CNKT ĐIỆN TỬ - TRUYỀN THÔNG

ĐỀ TÀI: NGHIÊN CỨU VÀ THIẾT KẾ ĐỒNG HỒ VẠN NIÊN

ĐIỀU KHIỂN QUA BLUETOOTH

Giáo viên hướng dẫn : TH.S NGUYỄN NGỌC ANH Sinh viên thực hiện : BÙI THỊ YẾN

Lớp : ĐH CNKT Điện Tử 4 – K7

NĂM 2016

Trang 2

LỜI CẢM ƠN

LỜI MỞ ĐẦU

CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN 1

1.1 Giới thiệu chung về vi điều khiển 1

1.1.1 Vi điều khiển ATmega328 4

1.1.2 Các thông số chính của vi điều khiển ATmega328 5

1.1.3 Sơ đồ chân 5

1.2 Board Arduino 6

1.2.1 Giới thiệu chung về Arduino 6

1.2.2 Giới thiệu về board Arduino Uno 7

1.2.3 Lập trình Arduino 10

1.3 IC DS1307 12

1.3.1 Cơ chế hoạt động của DS1307 13

1.3.2 Hoạt động của các chân 14

1.4 Điều khiển từ xa dùng Bluetooth 20

1.4.1 Giới thiệu về Bluetooth 20

1.4.2 Module Bluetooth HC – 05 23

1.4.3 Hệ điều hành Android 29

CHƯƠNG 2: THIẾT KẾ HỆ THỐNG VÀ THI CÔNG 33

2.1 Sơ đồ tổng quát 33

Trang 3

2.2.2 Khối Reset 35

2.2.3 Khối tạo xung dao động 35

2.2.4 Khối hiển thị 36

2.2.5 Khối tạo thời gian thực 36

2.2.6 Khối điều khiển trung tâm 37

2.2.7 Khối điều khiển 37

2.3 Thiết kế đồng hồ vạn niên điều khiển qua Bluetooth 39

2.3.1 Mạch đồng hồ vạn niên và hiển thị led 7 thanh 39

2.3.2 Mạch điều khiển 39

2.4 Thiết kế giao diện trên điện thoại 40

2.5 Mô hình mạch thực tế 42

2.5.1 Các linh kiện sử dụng trong mạch 42

2.5.2 Mạch thực tế 42

2.6 Lưu đồ thuật toán 44

2.7 Code chương trình 45

KẾT LUẬN 70

TÀI LIỆU THAM KHẢO 72

Trang 4

DANH MỤC HÌNH VẼ

Hình 1.1: Vi điều khiển ATmega328 4

Hình 1.2: Sơ đồ chân ATmega328 5

Hình 1.3: Board Arduino Uno 7

Hình 1.4: Giao diện phần mềm Arduino IDE 11

Hình 1.5: Lập trình điều khiển led 11

Hình 1.6: DS1307 12

Hình 1.7: Mạch ứng dụng đơn giản của DS1307 13

Hình 1.8: Sơ đồ chân DS1307 14

Hình 1.9: Thanh ghi thời gian thực 16

Hình 1.10: Bluetooth 20

Hình 1.11: Module Bluetooth HC 05 23

Hình 1.12: Sơ đồ chân HC05 24

Hình 1.13: Giao diện phần mềm giao tiếp với module HC-05 27

Hình 1.14: Kiến trúc hệ điều hành Android 29

Hình 2.1: Sơ đồ hệ thống 33

Hình 2.2: Sơ đồ nguyên lý 34

Hình 2.3: Mạch nguồn dùng LM7805 34

Hình 2.4: Mạch reset 35

Trang 5

Hình 2.6: LED 7 thanh 36

Hình 2.7: Sơ đồ chân DS1307 36

Hình 2.8: Mô phỏng mạch vi điều khiển ATmega328 37

Hình 2.9: Điều khiển nút nhấn 38

Hình 2.10: Kết nối các chân với vi điều khiển 38

Hình 2.11: Mạch mô phỏng đồng hồ vạn niên 39

Hình 2.12: Mạch in 2D mạch điều khiển 39

Hình 2.13: Mạch in mạch điều khiển 40

Hình 2.14 : Giao diện kết nối trên Android 40

Hình 2.15: Giao diện code lập trình qua thẻ block 41

Hình 2.16: Ứng dụng Bluetooth đơn giản 41

Hình 2.17: Mạch hiển thị đồng hồ vạn niên 43

Hình 2.18: Mạch điều khiển 43

Trang 6

LỜI CẢM ƠN

Trong thời gian thực hiện báo cáo đồ án tốt nghiệp, em xin gửi lời cảm ơnđến gia đình, thầy cô, bạn bè đã luôn ở bên giúp đỡ, đóng góp ý kiến chỉ bảo

tận tình cho em Đặc biệt, em xin gửi lời cảm ơn chân thành đến thầy TH.S

NGUYỄN NGỌC ANH, giảng viên khoa công nghệ kĩ thuật điện tử truyền

thông, trường Đại học công nghiệp Hà Nội; người đã tận tình hướng dẫn chỉbảo em trong suốt quá trình thực hiện đồ án

Em cũng xin chân thành cảm ơn đến các thầy cô giảng viên trường Đại họccông nghiệp Hà Nội nói chung, các thầy cô trong bộ môn khoa công nghệ kĩthuật điện tử nói riêng đã dạy dỗ em trong suốt 4 năm học đại học, giúp em

có được kiến thức vững vàng và tạo điều kiện giúp đỡ em trong suốt quá trìnhhọc tập để em có thể vững bước trong tương lai

Trong quá trình thực hiện đồ án tốt nghiệp là khoảng thời gian quý báu giúp

em học hỏi rất nhiều từ việc làm, nghiên cứu độc lập, tìm hiểu và học hỏinhững nguồn tư liệu đã có; qua đó biết tiếp thu kiến thức đồng thời vận dụngnhững kiến thức mà bản thân đã học tập trên ghế nhà trường để thực hiện bảnbáo cáo này Do kiến thức và kinh nghiệm của bản thân còn nhiều hạn chế vàthời gian không cho phép nên bản báo cáo này vẫn còn nhiều thiếu sót, em rất

mong được sự góp ý của thầy NGUYỄN NGỌC ANH và thầy cô trong

khoa

Cuối cùng em xin chúc thầy cô có sức khỏe, vui vẻ và đạt được nhiều thànhcông trong cuộc sống và cũng như sự nghiệp của mình

Em xin chân thành cảm ơn!

Sinh viên thực hiện

Bùi Thị Yến

Trang 7

LỜI MỞ ĐẦU

Trong xã hội hiện đại ngày nay, điện tử đóng một vai trò cực kì quan trọng,

chúng xuất hiện trong rất nhiều lĩnh vực của đời sống Do đó việc tìm hiểu vànghiên cứu về chúng là rất cần thiết đối với sinh viên chuyên ngành điện tử.Với sự phát triển mạnh mẽ của khoa học, công nghệ chế tạo vi mạch và sựphát minh ra các linh kiện điện tử thì việc ứng dụng vi điều khiển, vi xử lýcàng trở nên quan trọng Người ta đã tạo những vi điều khiển có cấu trúcmạnh hơn, đáp ứng thời gian thực tốt hơn, làm cho các hệ thống linh hoạt và

đa dạng hơn, giá thành thấp hơn và đặc biệt là độ chính xác cao hơn Bêncạnh đó là sự tiến bộ nhanh chóng của công nghệ thông tin và viễn thông; cácthiết bị di động công nghệ cao như máy tính bỏ túi, máy tính xách tay laptop,điện thoại di động, không còn xa lạ và ngày càng được sử dụng rộng rãitrong những năm gần đây Chính vì vậy, với sự phân công của khoa Điện Tử

trường Đại Học Công Nghiệp Hà Nội và dưới sự hướng dẫn trực tiếp của thầy

Nguyễn Ngọc Anh đã giúp em tìm hiểu và nghiên cứu thực hiện đề tài:

“Nghiên cứu và thiết kế đồng hồ vạn niên điều khiển qua Bluetooth”.

Trong quá trình thực hiện đồ án tốt nghiệp, mặc dù đã rất cố gắng để hoànthành một cách tốt nhất nhưng với thời gian và kinh nghiệm còn hạn chế nênbản báo cáo không tránh khỏi những thiết sót Rất mong được sự chỉ dẫn củaquý thầy cô và sự đóng góp ý kiến của các bạn

Em xin chân thành cảm ơn !

Trang 9

1.1.1 Vi điều khiển ATmega328

ATmega328 là vi điều khiển trong board mạch Arduino ATmega328 có tênđầy đủ là ATmega328P-PU ATmega328 là một chíp vi điều khiển được sảnxuất bời hãng Atmel thuộc họ MegaAVR ATmega328 là một bộ vi điềukhiển 8 bít dựa trên kiến trúc RISC, bộ nhớ chương trình 32KB ISP flash cóthể ghi xóa hàng nghìn lần, 1KB EEPROM, một bộ nhớ RAM vô cùng lớntrong thế giới vi xử lý 8 bít (2KB SRAM)

Hình 1.1: Vi điều khiển ATmega328

1.1.2 Các thông số chính của vi điều khiển ATmega328

+ Kiến trúc: AVR 8bit

Trang 10

+ Số timer: 3 timer gồm 2 timer 8-bit và 1 timer 16-bit

+ Số kênh xung PWM: 6 kênh (1timer 2 kênh)

1.1.3 Sơ đồ chân

Hình 1.2: Sơ đồ chân ATmega328

Với 23 chân có thể sử dụng cho các kết nối vào hoặc ra I/O, 32 thanh ghi, 3

bộ timer/counter có thể lập trình, có các ngắt nội và ngoại (2 lệnh trên một

Trang 11

vector ngắt), giao thức truyền thông nối tiếp USART, SPI, I2C Ngoài ra cóthể sử dụng bộ biến đổi số tương tự 10 bít (ADC/DAC) mở rộng tới 8 kênh,khả năng lập trình được bộ giám sát thời gian hoạt động với 5 chế độ nguồn;

có thể sử dụng tới 6 kênh điều chế độ rộng xung (PWM), hỗ trợ nạp khởiđộng ATmega328 có khả năng hoạt động trong một dải điện áp rộng (1.8V –5.5V), tốc độ thực thi (thông lượng) 1MIPS trên 1MHz ATmega328 là linhhồn của board mạch Arduino

1.2 Board Arduino

1.2.1 Giới thiệu chung về Arduino

Arduino là một bo mạch vi xử lý được dùng để lập trình tương tác với cácthiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặcđiểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kì dễ sửdụng, với ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả vớingười ít am hiểu về điện tử và lập trình Và điều làm nên hiện tượng Arduinochính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm Một mạch Arduino bao gồm một vi điều khiển AVR với nhiều linh kiện bổsung giúp dễ dàng lập trình và có thể mở rộng với các mạch khác Một khíacạnh quan trọng của Arduino là các kết nối tiêu chuẩn của chúng cho phépngười dùng kết nối CPU của bo mạch với các module; thêm vào có thể dễdàng chuyển đổi, được gọi là cái khiên Vài cái khiên truyền thông với boardArduino trực tiếp thông qua các chân khác nhau, nhưng nhiều khiên đượcđịnh địa chỉ thông qua giao thức nối tiếp I2C, nhiều cái khiên có thể được xếpchồng và sử dụng dưới dạng song song Arduino chính thức thường sử dụngcác dòng chip megaAVR, đặc biệt là ATmega8, ATmega168, ATmega328,ATmega1280 và ATmega2560 Một vài các bộ vi xử lý khác cũng được sửdụng bởi các mạch Arduino tương thích Hầu hết các mạch gồm một bộ điềuchỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng hưởng

Trang 12

gốm trong một vài biến thể) Một vi điều khiển Arduino cũng có thể được lậptrình sẵn với một mạch nạp khởi động cho phép đơn giản là đăng tải chươngtrình vào bộ nhớ, so với các thiết bị khác thường phải cần một bộ nạp bênngoài Điều này giúp cho việc sử dụng Arduino được trực tiếp hơn bằng cáchcho phép sử dụng một máy tính gốc như là một bộ nạp chương trình.

1.2.2 Giới thiệu về board Arduino Uno

Arduino Uno là một bo mạch thiết kế với bộ xử lý trung tâm là vi điềukhiển AVR ATmega328 Cấu tạo chính của Arduino Uno bao gồm các phầnsau:

Hình 1.3: Board Arduino Uno

- Cổng USB (Universal Serial Bus): đây là loại cổng giao tiếp để đăng tải

code từ PC lên vi điều khiển Đồng thời, chúng cũng là giao tiếp nối tiếp đểtruyền dữ liệu giữa vi điều khiển và máy tính

Trang 13

- Jack nguồn: Arduino có thể lấy nguồn từ cổng USB ở trên, nhưng khôngphải lúc nào cũng có thể cắm với máy tính được; lúc đó ta cần một nguồn từ9V đến 12V.

- Có 14 chân vào/ra số đánh số thứ tự từ 0 đến 13, ngoài ra có một chân nốiđất (GND) và một chân điện áp tham chiếu (AREF)

- Vi điều khiển AVR: đây là bộ xử lý trung tâm của toàn bo mạch Với mỗimẫu Arduino khác nhau thì con chip là khác nhau Ở Arduino Uno này thì sửdụng ATmega328

* Chức năng:

1 USB

Arduino sử dụng cáp USB để giao tiếp với máy tính Thông qua cápUSB ta có thể đăng tải chương trình cho Arduino hoạt động Ngoài raUSB là nguồn cho Arduino

2 Nguồn

Khi không sử dụng USB làm nguồn thì ta có thể sử dụng nguồn ngoàiqua zác cắm 2,1mm (cực dương ở giữa) hoặc có thể sử dụng 2 chânVin và GND để cấp nguồn cho Arduino Bo mạch hoạt động vớinguồn ngoài ở điện áp từ 5-20V Chúng có thể cấp một điện áp lớnhơn, tuy nhiên chân 5V sẽ có mức điện áp lớn hơn 5V Nếu sử dụngnguồn lớn hơn 12V thì sẽ có hiện tượng nóng và hỏng bo mạch Chân 5V và chân 3,3V (output voltage): các chân này dùng để lấynguồn ra từ nguồn mà ta đã cung cấp cho Arduino

GND: chân mass

Trang 14

3 Chip ATmega328

Chip ATmega328 có 32K bộ nhớ flash trong đó 0,5K sử dụng chonạp chương trình Ngoài ra còn có 2K SRAM, 1K EPPROM

4 Input và Output

Arduino Uno có 14 chân digital (tín hiệu số) với chức năng vào và ra

sử dụng các hàm pinMode(), digitalWrite() và digitalRead()

- Serial: Chân 0(Rx), chân 1(Tx) Hai chân này dùng để truyền(Tx), nhận (Rx) dữ liệu nối tiếp TTL Ta có thể sử dụng chúng đểgiao tiếp với cổng COM của một số thiết bị hoặc các linh kiện cóchuẩn giao tiếp nối tiếp

- PWM (pulse width modulation): các chân 3 5 6 9 10 11 trên bomạch có dấu “~” là các chân PWM ta có thể sử dụng chúng đểđiều khiển tốc độ động cơ, độ sáng của đèn,…

- SPI: 10(SS), 11(MOSI), 12(MISO), 13(SCK) các chân này hỗ trợgiao tiếp SPI

- I2C: Arduino hỗ trợ giao tiếp theo chuẩn I2C Các chân A4 (SDA)

và A5 (SCL) cho phép ta giao tiếp Arduino với các linh kiện cóchuẩn giao tiếp là I2C

Trang 15

Điện áp đầu vào: 7-12V

Điện áp đầu vào (Giới hạn): 6-20V

Chân vào/ra (I/O) số: 14 ( 6 chân có thể cho đầu ra PWM) Chân vào tương tự: 6

Dòng điện trong mỗi chân I/O: 40mA

Dòng điện chân nguồn 3.3V: 50mA

Để lập trình cũng như gửi lệnh và nhận tín hiệu từ mạch Arduino ta dùngmột môi trường lập trình Arduino được gọi là Arduino IDE (IntergatedDevelopment Environment) Giao diện phần mềm Arduino IDE hình 1.4

Trang 16

Hình 1.4: Giao diện phần mềm Arduino IDE

Ví dụ: Lập trình điều khiển nhấp nháy đèn

Hình 1.5: Lập trình điều khiển led

Trang 17

+ Địa chỉ và dữ liệu được truyền nối tiếp qua 2 đường bus 2 chiều.

+ DS1307 có một mạch cảm biến điện áp dùng để dò các điện áp lỗi và tựđộng đóng ngắt với nguồn pin cung cấp 3V

+ DS1307 có 7 byte dữ liệu nằm từ địa chỉ 0x00 tới 0x06, 1 byte điều khiển

và 56 byte lưu trữ (dành cho người sử dụng)

+ Khi xử lý dữ liệu từ DS1307, họ đã tự chuyển cho ta về dạng số BCD, ví

dụ như ta đọc được dữ liệu từ địa chỉ 0x04 (tương ứng với ngày trong tháng)

và tại 0x05 (tháng) là 0x15, 0x11

Trang 18

+ SQW/OUT: là chân cho xung ra của DS1307 có 4 chế độ 1Hz, 4.096HZ,8.192Hz, 32.768Hz…các chế độ này được quy định bởi các bit của thanh ghiđịa chỉ (địa chỉ 0x07).

+ Địa chỉ của DS1307 là 0xD0

1.3.1 Cơ chế hoạt động của DS1307

Hình 1.7: Mạch ứng dụng đơn giản của DS1307

VCC: nối với nguồn

X1, X2: nối với thạch anh 32,768 KHz

Vbat: đầu vào chân 3V

GND: đất

SDA: chuỗi data

SCL: dãy xung clock

SQW/OUT: xung vuông/đầu ra driver

Trang 19

• DS1307 là một IC thời gian thực với nguồn cung cấp nhỏ, dùng để cậpnhật thời gian và ngày tháng với 56 bytes SRAM Địa chỉ và dữ liệu đượctruyền nối tiếp qua 2 đường bus 2 chiều Chúng cung cấp thông tin về giờ,phút, giây, thứ, ngày, tháng, năm Ngày cuối tháng sẽ tự động được điềuchỉnh với các tháng nhỏ hơn 31 ngày, bao gồm cả việc tự động nhảy năm.Đồng hồ có thể hoạt động ở dạng 24h hoặc 12h với chỉ thị AM/PM DS1307

có một mạch cảm biến điện áp dùng để dò các điện áp lỗi và tự động đóngngắt với nguồn pin cung cấp

• DS1307 hoạt động với vai trò slave trên đường bus nối tiếp Việc truy cậpđược thi hành với chỉ thị START và một mã thiết bị nhất định được cung cấpbởi địa chỉ các thanh ghi Tiếp theo đó, các thanh ghi sẽ được truy cập liên tụcđến khi chỉ thị STOP được thực thi

1.3.2 Hoạt động của các chân

Hình 1.8: Sơ đồ chân DS1307

• Vcc: nguồn một chiều, đầu vào 5V Khi 5V được cung cấp thì thiết bị có

thể truy cập hoàn chỉnh và dữ liệu có thể đọc và viết Khi chân 3V được nốitới thiết bị này và Vcc nhỏ hơn 1,25Vbat thì quá trình đọc và viết không đượcthực thi, tuy nhiên chức năng giữ thời gian không bị ảnh hưởng bởi điện áp

Trang 20

vào thấp Khi Vcc nhỏ hơn Vbat thì RAM và bộ giữ thời gian sẽ được ngắt tớinguồn cung cấp trong (thường là nguồn 1 chiều 3V).

• SQW/OUT (square wave/output driver): khi được kích hoạt thì chânSQW/OUT được thiết lập phát đi 1 trong 4 tần số (1Hz,4KHz,8KHz,32KHz).Chân này cũng được thiết kế theo kiểu cực máng hở vì vậy chúng cũng cần cómột điện trở kéo trong Chân này sẽ hoạt động khi cả Vcc và Vbat được cấp

• X1, X2: được nối với một thạch anh tần số 32,768KHz, một mạch tạo daođộng ngoài, để hoạt động ổn định thì phải nối thêm 2 tụ 33pF DS1307 với bộtạo dao động trong tần số 32,768KHz, với cấu hình này thì chân X1 sẽ đượcnối vào tín hiệu dao động trong còn chân X2 thì để hở

a, Sơ đồ địa chỉ RAM và RTC

Trang 21

• Thông tin về thời gian và ngày tháng được lấy ra bằng cách đọc các bytethanh ghi thích hợp Thời gian và ngày tháng được thiết lập cũng thông quacác byte thanh ghi này bằng cách viết vào đó những giá trị thích hợp Nộidung của các thanh ghi dưới dạng mã BCD (binary coded decreaseimal) Bit 7của thanh ghi seconds là bit clock halt (CH), khi bit này được thiết lập 1 thìdao động vô hiệu hóa, khi chúng được xóa về 0 thì dao động được cho phép Thanh ghi thời gian thực được mô tả như sau:

Hình 1.9: Thanh ghi thời gian thực

• DS1307 có thể chạy ở chế độ 24h cũng như 12h Bit thứ 6 của thanh ghihours là bit chọn chế độ 24h hoặc 12h Khi bit này ở mức cao thì chế độ 12hđược chọn, ở chế độ 12h thì bit 5 là bit AM/PM với mức cao là PM; ở chế độ24h thì bit 5 là bit chỉ 20h (từ 20h đến 23h)

• Trong quá trình truy cập dữ liệu, khi chỉ thị START được thực thi thìdòng thời gian được truyền tới một thanh ghi thứ hai, thông tin thời gian sẽđược đọc từ thanh ghi thứ cấp này, trong khi đó đồng hồ vẫn tiếp tục chạy

Trang 22

Trong DS1307 có một thanh ghi điều khiển để điều khiển hoạt động của chânSQW/OUT :

Bit 7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 OUT X X SQWE X X RS1 RS0

• OUT (output control): bit này điều khiển mức ra của chân SQW/OUT khiđầu ra xung vuông là vô hiệu hóa Nếu SQWE = 0 thì mức logic ở chânSQW/OUT sẽ là 1 nếu OUT=1 và OUT = 0 nếu OUT = 0

• SQWE (square wave enable): bit này được thiết lập 1 sẽ cho phép đầu racủa bộ tạo dao động Tần số của đầu ra sóng vuông phụ thuộc vào giá trị củaRS1 và RS0

DS1307 hỗ trợ bus 2 dây 2 chiều và giao thức truyền dữ liệu Thiết bị gửi

dữ liệu lên bus được gọi là bộ phát và thiết bị nhận gọi là bộ thu Thiết bị điềukhiển quá trình này gọi là master Thiết bị nhận sự điều khiển của master gọi

là slave Các bus nhận sự điều khiển của master là thiết bị phát ra chuỗi xungclock (SCL), master sẽ điều khiển sự truy cập bus, tạo ra các chỉ thị START

và STOP

b, Sự truyền nhận dữ liệu trên chuỗi bus 2 dây

Tuỳ thuộc vào bit R/W mà 2 loại truyền dữ liệu sẽ được thực thi:

Trang 23

• Truyền dữ liệu từ master truyền và slave nhận: Master sẽ truyền byte đầutiên là địa chỉ của slave Tiếp sau đó là các byte dữ liệu Slave sẽ gửi lại bitthông báo đã nhận được (bit acknowledge) sau mỗi byte dữ liệu nhận được.

Dữ liệu sẽ truyền từ bit có giá trị nhất (MSB)

• Truyền dữ liệu từ slave và master nhận: byte đầu tiên (địa chỉ của slave)được truyền tới slave bởi master Sau đó slave sẽ gửi lại master bit nhận Tiếptheo đó slave sẽ gửi các byte dữ liệu tới master Master sẽ gửi cho slave cácbit nhận sau mỗi byte nhận được trừ byte cuối cùng, sau khi nhận được bytecuối cùng thì bit nhận sẽ không được gửi

Master phát ra tất cả các chuỗi xung clock và các chỉ thị START và STOP

Sự truyền sẽ kết thúc với chỉ thị STOP hoặc chỉ thị quay vòng START Khichỉ thị START quay vòng thì sự truyền chuỗi dữ liệu tiếp theo được thực thi

và các bus vẫn chưa được giải phóng Dữ liệu truyền luôn bắt đầu bằng bitMSB

c, DS1307 có thể hoạt động ở 2 chế độ sau:

• Chế độ slave nhận (chế độ DS1307 ghi): Chuỗi dữ liệu và chuỗi xungclock sẽ được nhận thông qua SDA và SCL Sau mỗi byte được nhận thì 1 bitnhận sẽ được truyền Các điều kiện START và STOP sẽ được nhận dạng khibắt đầu và kết thúc một chuỗi truyền Nhận dạng địa chỉ được thực hiện bởiphần cứng sau khi chấp nhận địa chỉ của slave và bit chiều Byte địa chỉ làbyte đầu tiên nhận được sau khi điều kiện START được phát ra từ master.Byte địa chỉ có chứa 7 bit địa chỉ của DS1307, là 1101000; tiếp theo đó là bitchiều (R/w) cho phép ghi khi chúng bằng 0 Sau khi nhận và giải mã byte địachỉ thì thiết bị sẽ phát đi 1 tín hiệu nhận lên đường SDA Sau khi DS1307nhận dạng được địa chỉ và bit ghi thì master sẽ gửi một địa chỉ thanh ghi tớiDS1307, tạo ra một con trỏ thanh ghi trên DS1307 và master sẽ truyền từng

Trang 24

byte dữ liệu cho DS1307 sau mỗi bit nhận được Sau đó master sẽ truyền điềukiện STOP khi việc ghi hoàn thành.

Slave

Address

R/W Word

Address (n)

Data (n) Data (n+1) Data (n+X)

Trang 25

A-ACKNOWLEDGE DATA TRANSFERRED(X+1 BYTE + ACKNOWLADGE)

P-STOP

R/W-READ/WRITE OR DIRECTION BIT

ADDRESS = D0h

1.4 Điều khiển từ xa dùng Bluetooth

1.4.1 Giới thiệu về Bluetooth

Bluetooth là một công nghệ không dây cho phép các thiết bị điện, điện tử

giao tiếp với nhau trong khoảng cách ngắn, bằng sóng vô tuyến qua băng tầnchung ISM (Industrial, Scientific, Medical) trong dãy tầng 2.40-2.48 GHz.Đây là dãy băng tầng không cần đăng kí, được dành riêng để dùng cho cácthiết bị không dây trong công nghiệp, khoa học, y tế…

Hình 1.10: Bluetooth

Bluetooth được thiết kế nhằm mục đích thay thế dây cable giữa các máytính và các thiết bị truyền thông cá nhân, kết nối vô tuyến với các thiết bị điện

tử lại với nhau một cách thuận tiện

Khi được kích hoạt, Bluetooth có thể tự động định vị những thiết bị khác cóchung công nghệ trong vùng xung quanh và bắt đầu kết nối với chúng Chúngđược định hướng sử dụng cho việc truyền dữ liệu lẫn tiếng nói

1.4.1.2 Đặc điểm công nghệ Bluetooth

Trang 26

Ưu điểm:

- Tiêu thụ năng lượng thấp

- Cho phép ứng dụng được nhiều loại thiết bị bao gồm các thiết bị cầm tay vàđiện thoại di động

- Giá thành ngày một giảm

- Khoảng cách giao tiếp cho phép giữa hai thiết bị kết nối có thể lên đến100m

- Bluetooth sử dụng băng tần 2.4GHz, tốc độ truyền dữ liệu có thể đạt tới mứctối đa 1Mbps mà các thiết bị không cần phải trực tiếp thấy nhau

- Dễ dàng trong việc phát triển ứng dụng: Bluetooth kết nối một ứng dụng nàyvới một ứng dụng khác thông qua chuẩn Bluetooth, do đó có thể độc lập vềphần cứng cũng như hệ điều hành sử dụng

- Tính tương thích cao, được nhiều nhà sản xuất phần cứng cũng như phầnmềm hỗ trợ

Nhược điểm:

- Khoảng cách kết nối còn ngắn so với công nghệ mạng không dây khác

- Chỉ kết nối được hai thiết bị với nhau, không kết nối thành mạng

- Bảo mật còn thấp

1.4.1.3 Hoạt động của Bluetooth

Bluetooth là chuẩn kết nối không dây tầm ngắn, thiết kế cho các kết nốithiết bị cá nhân hay mạng cục bộ nhỏ trong phạm vi băng tần từ 2.4GHz đến2.485GHz Bluetooth được thiết kế hoạt động trên 79 tần số đơn lẻ Khi kếtnối, chúng sẽ tự động tìm ra tần số tương thích để di chuyển đến thiết bị cầnkết nối trong khu vực nhằm đảm bảo sự liên tục

Trang 27

1.4.1.4 Lịch sử phát triển Bluetooth

- Blueooth 1.0 (7/1999): Phiên bản đầu tiên được đưa ra thị trường với tốc

độ kết nối ban đầu là 1Mbps Tuy nhiên, trên thực tế tốc độ kết nối của thế hệnày chưa bao giờ đạt quá mức 700Kbps

- Bluetooth 1.1 (2001): Đánh dấu bước phát triển mới của công nghệBluetooth trên nhiều lĩnh vực khác nhau với sự quan tâm của nhiều nhà sảnxuất mới

- Bluetooth 1.2 (11/2003): Bắt đầu có nhiều tiến bộ đáng kể Chuẩn nàyhoạt động dựa trên băng tần 2.4GHz và tăng cường kết nối thoại

- Bluetooth 2.0 + ERD (2004): Bắt đầu nâng cao tốc độ và giảm thiểu mộtnửa năng lượng tiêu thụ so với trước đây Tốc độ của chuẩn Bluetooth lên đến2.1Mbps với chế độ cải thiện kết nối truyền tải – ERD (Enhanced data rate)

- Bluetooth 2.1+ ERD (2004): Đây chính là thế hệ nâng cấp của Bluetooth2.0 có hiệu năng cao hơn và tiết kiệm năng lượng hơn

- Bluetooth 3.0+HS (2008): Có tốc độ truyền dữ liệu đạt mức 24Mbps –bằng sóng Bluetooth – High Speed, tương đương chuẩn Wifi thế hệ đầu tiên,phạm vi hiệu quả nhất chỉ trong vòng 10m

- Bluetooth 4.0 (30/06/2010): Chuẩn Bluetooth mới nhất hiện nay.Bluetooth 4.0 là sự kết hợp của “classic Bluetooth” (Bluetooth 2.1 và 3.0),

“Bluetooth high speed” ( Bluetooth 3.0 + HS) và “ Bluetooth low energy Bluetooth năng lượng thấp (Bluetooth Smart Ready/ Bluetooth Smart)

-“Bluetooth low enegry” là một phần của Bluetooth 4.0 với một giao thức tiêuchuẩn của Bluetooth 1.0 vào 4.0 nhằm phục vụ cho những ứng dụng nănglượng cực thấp

1.4.2 Module Bluetooth HC – 05

Trang 28

Hình 1.11: Module Bluetooth HC 05

- Module HC-05 (Hình 1.11): cách dễ dàng để có thể sử dụng giao tiếpbluetooth qua cổng kết nối, được thiết kế để truyền dữ liệu nối tiếp qua mạngkhông dây

- Sử dụng chuẩn bluetooth 2.0 + EDR (Enhanced Data Rate)

- Điều chế thu phát radio ở tần số 2,4Ghz, sử dụng chip bluecore bluetooth

04 - chip duy nhất với hệ thống Cmos và AFH thích ứng với tính năng nhảytần Kích thước 12,7mm x 27mm

1.4.2.1 Đặc điểm kỹ thuật

Tính năng phần cứng:

- Độ nhạy -80dBm

- Công suất truyền lên đến +4dBm

- Công suất thấp 1.8V, hoạt động từ 1.8V đến 3.6V

- Điều khiển PIO

- Giao tiếp UART với tốc baud lập trình được

- Tích hợp anten

- Kết nối ở biên mạch

Trang 29

Tính năng phần mềm:

- Mặc định tốc độ baud là 38400, databits : 8, Stopbit : 1, Parity : No Hỗ trợtốc độ baud : 9600,19200,38400,57600,115200,230400,460800

- Khi có 1 xung ở PIO0, thiết bị sẽ bị ngắt kế nối

- Trạng thái chỉ thị port PIO1: low- ngắt kết nối, high- đã kết nối

- PIO10 và PIO11 có thể được lết nối với led đỏ và led xanh riêng Khimaster và slave được kết nối với nhau, led đỏ và led xanh sẽ nháy 1 lần 2s,khi ngắt kết nối chỉ led xanh nháy 2 lần/s

- Tự động kết nối với thiết bị cuối cùng khi nguồn được cấp

- Cho phép kết nối thiết bị mặc định

- Tự động kết nối với mã pin mặc định: "0000"

- Tự động kết nối lại trong 30 phút nếu bị đứt kết nối như vượt ra ngoài phạm vikết nối

1.4.2.2 Sơ đồ chân

Hình 1.12: Sơ đồ chân HC05

- Bảng mô tả chức năng các chân của module:

Trang 30

PIO0 23 2 Hướng RX EN Lập trình I/O, điều khiển

output cho LNA nếu đượctrang bị

PIO1 24 2 Hướng TX EN Lập trình I/O, điều khiển LA

nếu được trang bị

PIO2 đến

PIO11

Lầnlượt từ25->34

4 Cmos output,

tri-stable with weakinternal pull-up

UART yêu cầu khi gửi, hoạtđộng LOW

Trang 31

UART_TX 1 Cmos output,

tri-stable with weakinternal pull-up

SPI_CLK 19 Cmos input with weak

outputPCM_IN 7 Cmos input Synchronous PCM data inputPCM_SYN

C

strobe

Trang 32

1.4.2.3 Giao tiếp bằng lệnh AT để cài đặt Module Bluetooth HC - 05

Sử dụng phần mềm Hercules (Hình 1.13) để giao tiếp với module HC thôngqua cổng Com bằng lệnh AT Truyền thông nối tiếp không đồng bộ USART

Hình 1.13: Giao diện phần mềm giao tiếp với module HC-05

Mặc định của Module Bluetooth HC – 05:

Slave, 9600 baud rate, N, 8, 1 Pincode 1234

Trang 33

1 -1200 2 -2400 3 -4800 4 -9600 5 -19200 6 -38400 7 -57600 8 -115200

- Thay đổi tên của thiết bị:

1.4.3 Hệ điều hành Android

Android là một hệ điều hành mã nguồn mở dành cho thiết bị di động như

Smartphone, Tablet hay Netbook (thường gọi chung là thiết bị cầm tay thôngminh) Android do Google phát triển dựa trên nền tảng Linux kernel phiênbản 2.6 và các phần mềm mã nguồn mở Nhờ tính mở miễn phí và những ưu

Trang 34

điểm của hệ điều hành này, ngày nay các thiết bị cầm tay sử dụng hệ điềuhành này càng nhiều và phổ biến.

Kiến trúc hệ điều hành Android

Kiến trúc hệ điều hành Android gồm bốn tầng, từ dưới lên trên là tầng hạtnhân (Linux), tầng thư viện( Libraries) & thời gian chạy (Adroid runtime),tầng khung ứng dụng (Application Framework) và trên cùng là tầng ứng dụng(Application)

Hình 1.14: Kiến trúc hệ điều hành Android

Tầng hạt nhân (Linux Kernel layer)

Các thành phần chủ yếu:

- Display Driver : Điều khiển việc hiển thị lên màn hình cũng như thu nhận

những điều khiển của người dùng lên màn hình (di chuyển, cảm ứng )

- Camera Driver: Điều khiển hoạt động của camera, nhận luồng dữ liệu từcamera trả về

- Bluetooth Driver: Điều khiển thiết bị phát và thu sóng Bluetooth

Trang 35

- USB driver: Quản lý hoạt động của các cổng giao tiếp USB.

- Keypad driver: Điều khiển bàn phím

- Wifi Driver: Chịu trách nhiệm về việc thu phát sóng wifi

- Audio Driver: Điều khiển các bộ thu phát âm thanh, giải mã các tính hiệudạng audio thành tín hiệu số và ngược lại

- Power Madagement: Giám sát việc tiêu thụ điện năng

Tầng thư viện và thời gian chạy

Tầng này có hai thành phần là thư viện và thời gian chạy Android.

Thư viện:

Có nhiều thư viện được viết bằng C/C++ để các phần mềm có thể sử dụng,

các thư viện đó được tập hợp thành một số nhóm như :

- Thư viện hệ thống (System C library) : thư viện dựa trên chuẩn

C, được sử dụng chỉ bởi hệ điều hành

- Thư viện Media (Media libraries): có nhiều code để hỗ trợ việcphát và ghi lại các loại định dạng âm thanh, hình ảnh video thôngdụng

- Thư viện Web (LibWebCore): đây là thành phần để xem nộidung trên web, được sử dụng để xây dựng phần mềm duyệt web(Android browse) cũng như các ứng dụng khác có thể nhúngvào Chúng cực kỳ mạnh, hỗ trợ nhiều công nghệ mạnh mẽ nhưHTML5, JavaScript, CSS, DOM, AJAX…

- Thư viện SQLite: hệ cơ sở dữ liệu cho các ứng dụng

Thời gian chạy Android:

Trang 36

Chúng chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java cóthể hoạt động; có hai bộ phận tương tự như mô hình chạy Java trên máy tínhthường Thứ nhất là các thư viện lõi (Core Library) chứa các lớp như JAVA

IO, Collections, File Access Thứ hai là một máy ảo java (Dalvik VirtualMachine)

- XMPP Service: Cung cấp công cụ để liên lạc trong thời gian thực

- Location Manager: Cho phép xác định vị trí của điện thoại dựa vào hệthống định vị toàn cầu GPS và Google Maps

- Window Manager: Quản lý việc xây dựng và hiển thị các giao diện ngườidùng cũng như tổ chức quản lý các giao diện giữa các ứng dụng

- Notication Manager: Quản lý việc hiển thị các thông báo (như báo có tinnhắn, có e-mail mới )

- Resource Manager: Quản lý tài nguyên tĩnh của các ứng dụng bao gồmcác file hình ảnh, âm thanh, layout, string (những thành phần không được viếtbởi ngôn ngữ lập trình)

Trang 37

(Calendar), đọc E-mail (Email – client), bản đồ (Map),… Các ứng dụng đượcngười dùng cài thêm: Stock, games, dictionary…

Các chương trình có đặc điểm là:

- Viết bằng java, có phần mở rộng là apk

- Khi mỗi ứng dụng được chạy, chúng có một phiên bản Virtual Machineđược dựng lên để phục vụ Chúng có thể là một chương trình có giao diện vớingười sử dụng hoặc là một chương trình chạy nền hay là dịch vụ

- Android là hệ điều hành đa nhiệm Trong cùng một thời điểm, có thể cónhiều chương trình cùng chạy một lúc Tuy nhiên, với mỗi ứng dụng thì códuy nhất một thực thể được phép chạy

- Các ứng dụng được gán số ID của người sử dụng nhằm phân định quyềnhạn khi sử dụng tài nguyên, cấu hình phần cứng và hệ thống

- Android là một hệ điều hành có tính mở, khác với nhiều hệ điều hành diđộng khác; android cho phép một ứng dụng của bên thứ ba được phép chạynền Các ứng dụng đó chỉ có một hạn chế nhỏ đó là chúng không được phép

sử dụng quá 5~10% công suất CPU, điều đó nhằm để tránh độc quyền trongviệc sử dụng CPU

CHƯƠNG 2

THIẾT KẾ HỆ THỐNG VÀ THI CÔNG

2.1 Sơ đồ tổng quát

Trang 38

Hình 2.1: Sơ đồ hệ thống

Nguyên lý hoạt động của sơ đồ hệ thống:

Khi cho điện áp qua khối nguồn cho vi điều khiển, khi đó chương trình

trong vi điều khiển sẽ làm việc, đồng thời bộ tạo xung dao động tạo xungnhịp với tần số 16MHz cho vi điều khiển hoạt động Chế độ ghi và nhận

dữ liệu của IC thời gian thực đưa tới vi điều khiển, các điều kiện START

và STOP được nhận dạng khi bắt đầu hoặc kết thúc truyền một chuỗi Lúcnày các thanh ghi của IC thời gian thực nhận giá trị thời gian thực (giờ,phút, giây, thứ, ngày, tháng, năm) và gửi đến vi điều khiển; đồng thời viđiều khiển sẽ gán một giá trị tương đương giá trị thời gian thực rồi gửi rakhối hiển thị Lúc này IC ghi dịch trong khối điều khiển sẽ gửi tín hiệu đếnkhối hiển thị Các nút ấn trong khối điều khiển có nhiệm vụ điều chỉnhthời gian Khối Reset có nhiệm vụ đưa hệ thống về trạng thái ban đầu

2.2 Sơ đồ thiết kế

Khối điều khiển trung tâm Khối nguồn

Khối tạo thời gian thực

Khối hiển thị

Khối Điều khiển

Tạo xung dao

động

Reset

Ngày đăng: 18/05/2016, 20:54

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w