BỘ CƠNG THƢƠNG
TRƢỜNG CAO ĐẲNG CƠNG THƢƠNG TP HỒ CHÍ MINH
KHOA ĐIỆN - ĐIỆN TỬ
BỘ MÔN: ĐIỆN TỬ VIỄN THÔNG
ĐỒ ÁN VIỄN THÔNG 1
Đề tài:
THIẾT KẾ MẠCH ĐIỀU KHIỂN THIẾT BỊ
ĐIỆN TRONG NHÀ QUA BLUETOOTH
GVHD: NGUYỄN THỊ MAI LAN
TP HỒ CHÍ MINH - THÁNG 06 NĂM 2019
LỜI MỞ ĐẦU
Ngày nay, xã hội phát triển mạnh mẽ, kỹ thuật ngày càng hiện đại nên nhu
cầu về trao đổi thơng tin giải trí, nhu cầu về điều khiển các thiết bị từ xa, ngày càng
cao. Và những hệ thống dây cáp phức tạp lại không thể đáp ứng nhu cầu này, nhất là
ở những khu vực chật hẹp, những nơi xa xôi, trên các phƣơng tiện vận chuyển, Vì
vậy cơng nghệ khơng dây đã ra đời và phát triển mạnh mẽ, tạo rất nhiều thuận lợi
cho con ngƣời trong đời sống hằng ngày.
Trong những năm gần đây công nghệ truyền nhận dữ liệu khơng dây đang có
những bƣớc phát triển mạnh mẽ, góp cơng lớn trong việc phát triển các hệ thống
điều khiển, giám sát từ xa, đặc biệt là các hệ thống thơng minh. Hiện nay, có khá
nhiều công nghệ không truyền nhận dữ liệu không dây nhƣ RF, Wifi, Bluetooth,
NFC, ... Trong đó, Bluetooth là một trong những công nghệ đƣợc phát triển từ lâu
và luôn đƣợc cải tiến để nâng cao tốc độ cũng nhƣ khả năng bảo mật.
Trên thị trƣờng Việt Nam hiện nay chƣa có nhiều sản phẩm điều khiển thiết
bị khơng dây, đa số những sản phẩm hiện có đều là nhập khẩu từ nƣớc ngoài với giá
thành cao. Việc nghiên cứu và thiết kế một bộ sản phẩm điều khiển thiết bị khơng
dây có một ý nghĩa lớn, giúp tăng thêm sự lựa chọn cho ngƣời sử dụng, sản phẩm
đƣợc sản xuất trong nƣớc nên giá thành rẻ và góp phần phát triển các hệ thống điều
khiển thông minh.
II
LỜI CẢM ƠN
Em xin chân thành cảm ơn cô Nguyễn Thị Mai Lan đã giúp đỡ và hƣớng dẫn
em tận tình trong suốt thời gian viết bài báo cáo, tạo cho em những tiền đề, những
kiến thức để tiếp cận vấn đề, phân tích giải quyết vấn đề. Nhờ đó mà em hồn
thành bài báo cáo của mình đƣợc tốt hơn. Em cũng xin cảm ơn bạn bè, anh chị đã
tận tình chỉ bảo, giúp đỡ em trong quá trình hoàn thành bài báo cáo, tạo cho em
hiểu thêm về những kiến thƣc thực tế.
Những kiến thức mà em đƣợc học hỏi là hành trang ban đầu cho quá trình làm
việc của em sau này. Em xin gửi tới mọi ngƣời lời chúc thành công trên con đƣờng
sự nghiệp của mình.
Em xin chân thành cảm ơn!
Thành phố Hồ Chí Minh, ngày 16 tháng 6 năm 2019
Thay mặt sinh viên
NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN
Nhận xét chung:
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
Đánh giá: (Đƣợc phép bảo vệ hay không đƣợc phép bảo vệ)
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
............................................................................................................................
TP.HCM, ngày ... tháng ... năm 20...
Giáo viên hƣớng
dẫn (Ký và ghi rõ họ
tên)
LỜI CAM ĐOAN
Đề tài này là do nhóm chúng em tự thực hiện dựa vào một số tài liệu tham
khảo và chúng em xin cam đoan đề tài này không sao chép bất kỳ cơng trình đã
có trƣớc đó. Nếu có sao chép nhóm chúng em hồn tồn chịu trách nhiệm
DANH MỤC HÌNH
Hình 1.1..................................................................................................................1
Hình 1.2..................................................................................................................3
Hình 1.3..................................................................................................................3
Hình 1.4..................................................................................................................4
Hình 1.5..................................................................................................................4
Hình 1.6..................................................................................................................4
Hình 1.7..................................................................................................................4
Hình 1.8..................................................................................................................4
Hình 1.9..................................................................................................................4
Hình 1.10................................................................................................................5
Hình 1.11................................................................................................................5
Hình 1.12................................................................................................................5
Hình 1.13................................................................................................................6
Hình 1.14................................................................................................................6
Hình 1.15................................................................................................................7
Hình 1.16................................................................................................................9
Hình 1.17................................................................................................................12
Hình 1.18................................................................................................................14
Hình 1.19................................................................................................................14
Hình 1.20................................................................................................................15
Hình 2.1..................................................................................................................18
Hình 2.2..................................................................................................................19
Hình 2.3..................................................................................................................20
Hình 2.4..................................................................................................................22
Hình 2.5..................................................................................................................22
Hình 2.6..................................................................................................................23
Hình 2.7..................................................................................................................27
Hình 2.8..................................................................................................................27
Hình 2.9..................................................................................................................28
Hình 2.10................................................................................................................29
Hình 2.11................................................................................................................29
MỤC LỤC
LỜI CẢM ƠN......................................................................................................................... II
NHẬN XÉT CỦA GIÁO VIÊN HƢỚNG DẪN................................................................... III
LỜI CAM ĐOAN.................................................................................................................. IV
DANH MỤC HÌNH................................................................................................................ V
MỤC LỤC............................................................................................................................. VI
Chƣơng 1:
CƠ SỠ LÝ THUYẾT...................................................................................... 1
1.1. GIỚI THIỆU VỀ ARDUINO......................................................................................... 1
1.2. GIỚI THIỆU VỀ ARDUINO UNO R3.......................................................................... 9
1.3. GIỚI THIỆU VỀ MODULE BLUETOOTH HC05...................................................... 14
Chƣơng 2:
THIẾT KẾ MẠCH..................................................................................... 18
2.1. CHUẨN BỊ LINH KIỆN.............................................................................................. 18
2.2. SƠ ĐỒ MẠCH CÔNG SUẤT CHỈNH LƢU 12V-1A................................................. 18
2.3. SƠ ĐỒ MẠCH KẾT NỐI............................................................................................. 20
2.5. SƠ ĐỒ MẠCH IN....................................................................................................... 22
2.6. CHƢƠNG TRÌNH MẠCH ĐIỀU KHIỂN.................................................................. 23
2.7. GIAO DIỆN ĐIỀU KHIỂN......................................................................................... 26
2.8. MƠ HÌNH NHÀ ĐIỀU KHIỂN BẰNG BLUETOOTH.............................................. 29
Chƣơng 3:
KẾT LUẬN............................................................................................... 30
3.1. KẾT QUẢ ĐẠT ĐƢỢC............................................................................................... 30
3.2. NHỮNG MẶT HẠN CHẾ........................................................................................... 30
TÀI LIỆU THAM KHẢO................................................................................................... 31
Chƣơng 1:
CƠ SỠ LÝ THUYẾT
1.1. GIỚI THIỆU VỀ ARDUINO
1.1.1. Tổng quan
Hình 1.1: Bộ điều khiển đơn
Arduino là một board mạch vi xử lý đƣợc sinh ra tại thị trấn Ivrea ở Ý, nhằm
xây dựng các ứng dụng tƣơng tác với nhau hoặc với môi trƣờng đƣợc thuận lợi
hơn. Phần cứng bao gồm một board mạch nguồn mở đƣợc thiết kế trên nền tảng vi
xử lý AVR Atmel 8bit, hoặc ARM Atmel 32-bit. Những Model hiện tại đƣợc trang
bị gồm 1 cổng giao tiếp USB, 6 chân đầu vào analog, 14 chân I/O kỹ thuật số tƣơng
thích với nhiều board mở rộng khác nhau.
Đƣợc giới thiệu vào năm 2005, Những nhà thiết kế của Arduino cố gắng mang
đến một phƣơng thức dễ dàng, khơng tốn kém cho những ngƣời u thích, sinh
viên và giới chuyên nghiệp để tạo ra những thiết bị có khả năng tƣơng tác với mơi
trƣờng thơng qua các cảm biến và các cơ cấu chấp hành. Những ví dụ phổ biến cho
những ngƣời yêu thích mới bắt đầu bao gồm các robot đơn giản, điều khiển nhiệt
độ và phát hiện chuyển động. Đi cùng với nó là một mơi trƣờng phát triển tích hợp
(IDE) chạy trên các máy tính cá nhân thơng thƣờng và cho phép ngƣời dùng viết
các chƣơng trình cho Aduino bằng ngơn ngữ C hoặc C++.
Thông tin thiết kế phần cứng đƣợc cung cấp công khai để những ai muốn tự
làm một mạch Arduino bằng tay có thể tự mình thực hiện đƣợc (mã nguồn mở).
Ngƣời ta ƣớc tính khoảng giữa năm 2011 có trên 300 ngàn mạch Arduino chính
8
thức đã đƣợc sản xuất thƣơng mại, và vào năm 2013 có khoảng 700 ngàn mạch
chính thức đã đƣợc đƣa tới tay ngƣời dùng.
1.1.2. Lịch sử
Arduino đƣợc khởi động vào năm 2005 nhƣ là một dự án dành cho sinh viên
trại Interaction Design Institute Ivrea (Viện thiết kế tƣơng tác Ivrea) tại Ivrea,
Italy.Massimo Banzi, một trong những ngƣời sáng lập, giảng dạy tại Ivrea. Cái tên
"Arduino" đến từ một quán bar tại Ivrea, nơi một vài nhà sáng lập của dự án này
thƣờng xuyên gặp mặt. Bản thân quán bar này có đƣợc lấy tên là Arduino, Bá tƣớc
của Ivrea, và là vua của Italy từ năm 1002 đến 1014.
1.1.3. Phần cứng
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ía cạnh
quan trọng của Arduino là các kết nối tiêu chuẩn của nó, cho phép ngƣời dùng kết
nối với CPU của board với các module thêm vào có thể dễ dàng chuyển đổi, đƣợc
gọi là shield. Vài shield truyền thông với board Arduino trực tiếp thông qua các
chân khác nhau, nhƣng nhiều shield đƣợc định địa chỉ thông qua serial bus I²Cnhiều shield có thể đƣợc xếp chồng và sử dụng dƣới dạng song song. Arduino
chính thức thƣờng sử dụng cá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 Aquino tƣơng thích. Hầu hết các mạch gồm
một bộ điều chỉnh tuyến tính 5V và một thạch anh dao động 16 MHz (hoặc bộ cộng
hƣởng ceramic trong một vài biến thể), mặc dù một vài thiết kế nhƣ LilyPad
chạy tại 8 MHz và bỏ qua bộ điều chỉnh điện áp onboard do hạn chế về kích cỡ
thiết bị. Một vi điều khiển Arduino cũng có thể đƣợc lập trình sẵn với một boot
loader cho phép đơn giản là upload chƣơng trình vào bộ nhớ flash on-chip, so với
các thiết bị khác thƣờng phải cần một bộ nạp bên ngoài. Điều này giúp cho việc sử
dụng Arduino đƣợc trực tiếp hơn bằng cách cho phép sử dụng 1 máy tính gốc nhƣ
là một bộ nạp chƣơng trình.
Theo nguyên tắc, khi sử dụng ngăn xếp phần mềm Arduino, tất cả các board
đƣợc lập trình thơng qua một kết nối RS-232, nhƣng cách thức thực hiện lại tùy
thuộc vào đời phần cứng. Các board Serial Arduino có chứa một mạch chuyển đổi
giữa RS232 sang TTL. Các board Arduino hiện tại đƣợc lập trình thơng qua cổng
USB, thực hiện thông qua chip chuyển đổi USB-to-serial nhƣ là FTDI FT232. Vài
biến thể, nhƣ Arduino Mini và Boarduino không chính thức, sử dụng một board
adapter hoặc cáp nối USB-to-serial có thể tháo rời đƣợc, Bluetooth hoặc các
phƣơng thức khác. (Khi sử dụng một cơng cụ lập trình vi điều khiển truyền thống
thay vì ArduinoIDE, cơng cụ lập trình AVR ISP tiêu chuẩn sẽ đƣợc sử dụng.)
Board Arduino sẽ đƣa ra hầu hết các chân I/O của vi điều khiển để sử dụng
cho những mạch ngoài. Diecimila, Duemilanove, và bây giờ là Uno đƣa ra 14 chân
I/O kỹ thuật số, 6 trong số đó có thể tạo xung PWM (điều chế độ rộng xung) và 6
chân input analog, có thể đƣợc sử dụng nhƣ là 6 chân I/O số. Những chân này
đƣợc thiết kế nằm phía trên mặt board, thông qua các header cái 0.10-inch (2.5
mm). Nhiều shield ứng dụng plug-in cũng đƣợc thƣơng mại hóa. Các board
Arduino Nano, và Arduino-compatible Bare Bones Board và Boarduino có thể cung
cấp các chân header đực ở mặt trên của board dùng để cắm vào các breadboard.
Có nhiều biến thể nhƣ Arduino-compatible và Arduino-derived. Một vài trong
số đó có chức năng tƣơng đƣơng với Arduino và có thể sử dụng để thay thế qua lại.
Nhiều mở rộng cho Arduino đƣợc thực thiện bằng cách thêm vào các driver đầu ra,
thƣờng sử dụng trong các trƣờng học để đơn giản hóa các cấu trúc của các 'con rệp'
và các robot nhỏ. Những board khác thƣờng tƣơng đƣơng về điện nhƣng có thay
đổi về hình dạng-đơi khi cịn duy trì độ tƣơng thích với các shield, đơi khi khơng.
Vài biến thể sử dụng bộ vi xử lý hoàn toàn khác biệt, với các mức độ tƣơng thích
khác nhau.
1.1.4. Các loại Arduino
Hình 1.2. Arduino Diecimila in Stoicheia
Hình 1.3. Arduino Duemilanove (rev 2009b)
Hình 1.4. Arduino UNO
Hình 1.6. Arduino Mega
Hình 1.8. Arduino MEGA 2560 R3 (mặt trước)
Hình 1.5. Arduino Leonar
Hình 1.7. Arduino Nano
Hình 1.9. Arduino MEGA 2560 R3 (mặt sa
Hình 1.10. Arduino Due (nền tảng ARM)
Hình 1.11. LilyPad Arduino (rev 2007)
1.1.5. Shield
Các board Arduino và Arduino-compatible sử dụng các shield— các board
mạch in mở rộng đƣợc dùng bằng cách cắm vào các chân header của Arduino. Các
shield có thể là module điều khiển cho động cơ, GPS, ethernet, LCD, hoặc cũng có
thể là breadboard. Một số lƣợng lớn các shield cũng có thể đƣợc chế tạo bởi DIY
(những ngƣời thích tự làm lấy các ứng dụng cho riêng họ).
Các shield Arduino điển hình
Nhiều shield có thể đƣợc xếp chồng
lên nhau. Trong ví dụ này shield ở trên
cùng có chứa một breadboard chƣa hàn.
Hình 1.12. Shield xếp chồng
Shield này sử dụng các đầu domino bắt
vít dùng để đấu các đầu dây vào
Hình 1.13. Shield sử dụng đầu domino
Shield Adafruit Datalogging với một khe
chứa thẻ nhớ SD và chip clock Real-Time
Hình 1.14. Shield Adafruit Datalogging
1.1.6. Software
Mơi trƣờng phát triển tích hợp (IDE) của Arduino là một ứng dụng crossplatform (đa nền tảng) đƣợc viết bằng Java, và từ IDE này sẽ đƣợc sử dụng
cho Ngơn ngữ lập trình xử lý (Processing programming language) và project Wiring.
Nó đƣợc thiết kế để dành cho những ngƣời mới tập làm quen với lĩnh vực phát triển
phần mềm. Nó bao gồm một chƣơng trình code editor với các chức năng nhƣ đánh
dấu cú pháp, tự động brace matching, và tự động canh lề, cũng nhƣ compile(biên
dịch) và upload chƣơng trình lên board chỉ với 1 cú nhấp chuột. Một chƣơng trình
hoặc code viết cho Arduino đƣợc gọi là một sketch.
Các chƣơng trình Arduino đƣợc viết bằng C hoặc C++. Arduino IDE đi kèm
với một thƣ viện phần mềm đƣợc gọi là "Wiring", từ project Wiring gốc, có thể
giúp các thao tác input/output đƣợc dễ dàng hơn. Ngƣời dùng chỉ cần định nghĩa 2
hàm để tạo ra một chƣơng trình vịng thực thi (cyclic executive) có thể chạy đƣợc:
setup() : hàm này chạy mỗi khi khởi động một chƣơng trình, dùng để thiết lập
các cài đặt
loop() : hàm này đƣợc gọi lặp lại cho đến khi tắt nguồn board mạch
Một chƣơng trình điển hình cho một bộ vi điều khiển đơn giản chỉ là làm cho
một bóng đèn Led sáng/tắt. Trong mơi trƣờng Arduino, ta sẽ phải viết một chƣơng
trình giống nhƣ sau:
Hình 1.15. Đèn led tích hợp với chân 13
Một đặc điểm của hầu hết các board Arduino là chúng có một đèn LED và điện
trở nối giữa chân 13 với đất; một đặc điểm thuận tiện cho nhiều ứng dụng đơn giản.
Đoạn code ở trên không thể đọc đƣợc bởi một compiler C++ chuẩn nhƣ là một
chƣơng trình đúng, vì vậy khi ta click vào nút "Upload to I/O board" trong IDE này,
một bản copy của đoạn code này sẽ đƣợc ghi vào một file tạm với một extra include
header ở phía trên cùng và một hàm main () đơn giản nằm ở phía đáy, để làm cho
thàn một chƣơng trình C++ khả dụng.
Arduino IDE này sử dụng GNU toolchain và AVR Libc để biên dịch chƣơng
trình, và sử dụng avrdude để upload chƣơng trình lên board.
Vì nền tảng của Arduino là các vi điều khiển của Atmel, cho nên môi trƣờng
phát triển của Atmel, AVR Studio hoặc các phiên bản Atmel Studio mới hơn, cũng
có thể đƣợc sử dụng để làm phần mềm phát triển cho Arduino.
1.1.7. Phát triển
Arduino là một nền tảng phần cứng mã nguồn mở: Các thiết kế phần cứng
tham khảo của Arduino đƣợc phân phối dƣới dạng Creative CommonsAttribution
Share-Alike 2.5 license và có sẵn trên website của Arduino. Một vài phiên bản phần
cứng của Arduino còn đƣa lên cả file Layout và thành phẩm. Mã nguồn cho IDE
này cũng khả dụng và đƣợc xuất bản dƣới dạng GNU General Public License,
version 2.
Mặc dù các thiết kế phần cứng và phần mềm là miễn phí dƣới dạng
copyleft license, các nhà phát triển cũng đƣợc yêu cầu cái tên "Arduino" chỉ đƣợc
dành riêng cho các sản phẩm chính thức và khơng đƣợc sử dụng cho các sản phẩm
phái sinh mà đƣợc sự cho phép. Các văn bản chính sách chính thức về việc sử dụng
tên Arduino nhấn mạnh rằng dự án này là mở đối với những ngƣời khác trong việc
cộng tác để tạo ra sản phẩm chính thức. Nhiều sản phẩm tƣơng thích với Arduino
phát hành thƣơng mại đã tránh cái tên "Arduino" bằng cách sử dụng từ phái sinh "duino".
1.1.8. Các ứng dụng
Danh sách các dự án phần cứng mã nguồn mở:
Xoscillo: oscilloscope mã nguồn mở
Các thiết bị khoa học
Arduinome: một thiết bị điều khiển MIDI bắt chƣớc Monome
OBDuino: một máy tính hành trình sử dụng giao diện chẩn đốn on-board đƣợc tìm
thấy trong hầu hết các loại xe hơi hiện đại
Thiết bị đọc sách cho con ngƣời: thiết bị điện tử giá rẻ với đầu ra TV có thể chứa
một thƣ viện năm ngàn cuốn sách (ví dụ nhƣ các biên soạn offline Wikipedia) trên
một thẻ nhớ microSD
Ardupilot: software / hardware máy bay không ngƣời lái
ArduinoPhone
1.2. GIỚI THIỆU VỀ ARDUINO UNO R3
Hình 1.16. Arduino Uno R3
1.2.1. Thông số kỹ thuật
Vi điều khiển
ATmega328 họ 8bit
Điện áp hoạt động
5V DC (chỉ được cấp qua cổng USB)
Tần số hoạt động
16 MHz
Dòng tiêu thụ
khoảng 30mA
Điện áp vào khuyên dùng 7-12V DC
Điện áp vào giới hạn
6-20V DC
Số chân Digital I/O
14 (6 chân hardware PWM)
Số chân Analog
6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân 30 mA
I/O
Dòng ra tối đa (5V)
500 mA
Dòng ra tối đa (3.3V)
50 mA
Bộ nhớ flash
32 KB (ATmega328) với 0.5KB dùng bởi
bootloader
SRAM
2 KB (ATmega328)
EEPROM
1 KB (ATmega328)
1.2.2. Năng lượng
Arduino UNO có thể đƣợc cấp nguồn 5V thơng qua cổng USB hoặc cấp nguồn
ngoài với điện áp khuyên dùng là 7-12V DC và giới hạn là 6-20V. Thƣờng thì cấp
nguồn bằng pin vng 9V là hợp lí nhất nếu bạn khơng có sẵn nguồn từ cổng USB.
Nếu cấp nguồn vƣợt quá ngƣỡng giới hạn trên, bạn sẽ làm hỏng Arduino UNO.
1.2.3. Các chân nguồn
•
•
•
•
GND (Ground): cực âm của nguồn điện cấp cho Arduino UNO. Khi bạn dùng
các thiết bị sử dụng những nguồn điện riêng biệt thì những chân này phải đƣợc
nối với nhau.
5V: cấp điện áp 5V đầu ra. Dòng tối đa cho phép ở chân này là 500mA.
3.3V: cấp điện áp 3.3V đầu ra. Dòng tối đa cho phép ở chân này là 50mA.
Vin (Voltage Input): để cấp nguồn ngoài cho Arduino UNO, bạn nối cực dƣơng
của nguồn với chân này và cực âm của nguồn với chân GND.
•
•
IOREF: điện áp hoạt động của vi điều khiển trên Arduino UNO có thể đƣợc đo
ở chân này. Và dĩ nhiên nó ln là 5V. Mặc dù vậy bạn khơng đƣợc lấy nguồn
5V từ chân này để sử dụng bởi chức năng của nó khơng phải là cấp nguồn.
RESET: việc nhấn nút Reset trên board để reset vi điều khiển tƣơng đƣơng với
việc chân RESET đƣợc nối với GND qua 1 điện trở 10KΩ.
Lưu ý:
•
•
•
•
•
•
•
Arduino UNO khơng có bảo vệ cắm ngƣợc nguồn vào. Do đó bạn phải hết sức
cẩn thận, kiểm tra các cực âm – dƣơng của nguồn trƣớc khi cấp cho Arduino
UNO. Việc làm chập mạch nguồn vào của Arduino UNO sẽ biến nó thành một
miếng nhựa chặn giấy. mình khuyên bạn nên dùng nguồn từ cổng USB nếu có
thể.
Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các
thiết bị khác, không phải là các chân cấp nguồn vào. Việc cấp nguồn sai vị trí có
thể làm hỏng board. Điều này khơng đƣợc nhà sản xuất khuyến khích.
Cấp nguồn ngồi không qua cổng USB cho Arduino UNO với điện áp dƣới 6V
có thể làm hỏng board.
Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiển
ATmega328.
Cƣờng độ dòng điện vào/ra ở tất cả các chân Digital và Analog của Arduino
UNO nếu vƣợt quá 200mA sẽ làm hỏng vi điều khiển.
Cấp điệp áp trên 5.5V vào các chân Digital hoặc Analog của Arduino UNO sẽ
làm hỏng vi điều khiển.
Cƣờng độ dòng điện qua một chân Digital hoặc Analog bất kì của Arduino
UNO vƣợt quá 40mA sẽ làm hỏng vi điều khiển. Do đó nếu khơng dùng để
truyền nhận dữ liệu, bạn phải mắc một điện trở hạn dòng.
1.2.4. Bộ nhớ
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho ngƣời dùng:
•
•
32KB bộ nhớ Flash: những đoạn lệnh bạn lập trình sẽ đƣợc lƣu trữ trong bộ nhớ
Flash của vi điều khiển. Thƣờng thì sẽ có khoảng vài KB trong số này sẽ đƣợc
dùng cho bootloader nhƣng đừng lo, bạn hiếm khi nào cần quá 20KB bộ nhớ này
đâu.
2KB cho SRAM (Static Random Access Memory): giá trị các biến bạn khai báo khi
lập trình sẽ lƣu ở đây. Bạn khai báo càng nhiều biến thì càng cần nhiều bộ nhớ
RAM. Tuy vậy, thực sự thì cũng hiếm khi nào bộ nhớ RAM lại trở thành thứ mà
bạn phải bận tâm. Khi mất điện, dữ liệu trên SRAM sẽ bị mất.
•
1KB cho EEPROM (Electrically Eraseble Programmable Read Only Memory): đây
giống nhƣ một chiếc ổ cứng mini – nơi bạn có thể đọc và ghi dữ liệu của mình vào
đây mà không phải lo bị mất khi cúp điện giống nhƣ dữ liệu trên SRAM.
1 2 5 Các cổng vào ra
Hình 1.17. Cổng vào ra Arduino Uno R3
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu. Chúng chỉ có
2 mức điện áp là 0V và 5V với dòng vào/ra tối đa trên mỗi chân là 40mA. Ở mỗi
chân đều có các điện trở pull-up từ đƣợc cài đặt ngay trong vi điều khiển
ATmega328 (mặc định thì các điện trở này không đƣợc kết nối).
Một số chân digital có các chức năng đặc biệt nhƣ sau:
•
•
•
2 chân Serial: 0 (RX) và 1 (TX): dùng để gửi (transmit – TX) và nhận (receive –
RX) dữ liệu TTL Serial. Arduino Uno có thể giao tiếp với thiết bị khác thơng qua 2
chân này. Kết nối bluetooth thƣờng thấy nói nơm na chính là kết nối Serial khơng
dây. Nếu khơng cần giao tiếp Serial, bạn không nên sử dụng 2 chân này nếu không
cần thiết
Chân PWM (~): 3, 5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân
giải 8bit (giá trị từ 0 → 28-1 tƣơng ứng với 0V → 5V) bằng hàm analogWrite(). Nói
một cách đơn giản, bạn có thể điều chỉnh đƣợc điện áp ra ở chân này từ mức 0V
đến 5V thay vì chỉ cố định ở mức 0V và 5V nhƣ những chân khác.
Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngồi các chức
năng thơng thƣờng, 4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI
với các thiết bị khác.
•
LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L). Khi bấm nút
Reset, bạn sẽ thấy đèn này nhấp nháy để báo hiệu. Nó đƣợc nối với chân số 13. Khi
chân này đƣợc ngƣời dùng sử dụng, LED sẽ sáng.
Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu
10bit (0 → 210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với
chân AREF trên board, bạn có thể để đƣa vào điện áp tham chiếu khi sử dụng các
chân analog. Tức là nếu bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các
chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là
10bit.
1.2.5. Lập trình cho Arduinio Uno R3
Các thiết bị dựa trên nền tảng Arduino đƣợc lập trình bằng ngơn riêng. Ngơn
ngữ này dựa trên ngơn ngữ Wiring đƣợc viết cho phần cứng nói chung. Và Wiring
lại là một biến thể của C/C++. Một số ngƣời gọi nó là Wiring, một số khác thì gọi
là C hay C/C++. Riêng mình thì gọi nó là ―ngơn ngữ Arduino‖, và đội ngũ phát
triển Arduino cũng gọi nhƣ vậy. Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến
hiện nay do đó rất dễ học, dễ hiểu.
Để lập trình cũng nhƣ gửi lệnh và nhận tín hiệu từ mạch Arduino, nhóm phát
triển dự án này đã cũng cấp đến cho ngƣời dùng một mơi trƣờng lập trình Arduino
đƣợc gọi là Arduino IDE (Intergrated Development Environment) nhƣ hình dƣới
đây.
Hình 1.18. Phần mềm lập trình cho Arduino
1.3. GIỚI THIỆU VỀ MODULE BLUETOOTH HC05
Hình 1.19. Module Bluetooth HC05
1.3.1. Giới thiệu
Module thu phát bluetooth HC-05 dùng để thiết lập kết nối Serial giữa 2 thiết
bị bằng sóng bluetooth. Điểm đặc biệt của module bluetooth HC-05 là module có
thể hoạt động đƣợc ở 2 chế độ: MASTER hoặc SLAVE. Trong khi đó, bluetooth
module HC-06 chỉ hoạt động ở chế độ SLAVE.
+ Ở chê độ SLAVE: bạn cần thiết lập kết nối từ smartphone, laptop, usb bluetooth
để dị tìm module sau đó pair với mã PIN là 1234. Sau khi pair thành cơng, bạn đã
có 1 cổng serial từ xa hoạt động ở baud rate 9600.
+ Ở chế độ MASTER: module sẽ tự động dị tìm thiết bị bluetooth khác (1 module
bluetooth HC-06, usb bluetooth, bluetooth của laptop...) và tiến hành pair chủ động
mà khơng cần thiết lập gì từ máy tính hoặc smartphone.
Mạch thu phát Bluetooth HC-05 đã ra chân đƣợc thiết kế nhỏ gọn ra chân tín
hiệu giao tiếp cơ bản và nút bấm để vào chế độ AT COMMAND, mạch đƣợc thiết
kế để có thể cấp nguồn và giao tiếp qua 3.3VDC hoặc 5VDC, thích hợp cho nhiều
ứng dụng khác nhau: Robot Bluetooth, điều khiển thiết bị qua Bluetooth,....
Khi kết nối với máy tính, HC-05 sẽ nhận nhƣ 1 cổng COM ảo ở chế độ truyền
Haft Duplex tức trong 1 thời điểm chỉ có thể truyền hoặc nhận tín hiệu.
1.3.2. Sơ đồ chân
Hình 1 20. Sơ đồ chân Bluetooth HC05
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 có thể cấp nguồn từ 3.6V đến 6V bên trong module đã có một ic nguồn
chuyển về điện áp 3.3V và cấp cho IC BC417.
GND nối với chân nguồn GND
TXD,RND đây là hai chân UART để giao tiếp module hoạt động ở mức logic
3.3V
STATE các bạn chỉ cần thả nổi và không cần quan tâm đến chân này.
1.3.3. Các chế độ hoạt động
HC-05 có hai chế độ hoạt động là Command Mode và Data Mode. Ở chế độ
Command Mode ta có thể giao tiếp với module thơng qua cổng serial trên module
bằng tập lệnh AT quen thuộc. Ở chế độ Data Mode module có thể truyền nhận dữ
liệu tới module bluetooth khác. Chân KEY dùng để chuyển đổi qua lại giữa hai chế
độ này. Có hai cách để bạn có thể chuyển module hoạt động trong chế độ Data
Mode (đọc tài liệu Tiếng Việt trên một số Web thấy chỗ này thƣờng bị viết sai)
-
-
Nếu đƣa chân này lên mức logic cao trƣớc khi cấp nguồn module sẽ đƣa vào chế
độ Command Mode với baudrate mặc định 38400. Chế độ này khá hữu ích khi bạn
khơng biết baudrate trong module đƣợc thiết lập ở tốc độ bao nhiêu. Khi chuyển
sang chế độ này đèn led trên module sẽ nháy chậm (khoảng 2s) và ngƣợc lại khi
chân KEY nối với mức logic thấp trƣớc khi cấp nguồn module sẽ hoạt động chế độ
Data Mode.
Nếu module đang hoạt động ở chế Data Mode để có thể đƣa module vào hoạt động
ở chế độ Command Mode bạn đƣa chân KEY lên mức cao. Lúc này module sẽ vào
chế độ Command Mode nhƣng với tốc độ Baud Rate đƣợc bạn thiết lập lần cuối
cùng. Vì thế bạn phải biết baudrate hiện tại của thiết bị để có thể tƣơng tác đƣợc với
nó. Chú ý nếu module của bạn chƣa thiết lập lại lần nào thì mặc định của nó nhƣ
sau:
· Baudrate 9600, data 8 bits, stop bits 1, parity : none, handshake: none
· Passkey: 1234
· Device Name: HC-05
Ở chế độ Data Mode HC-05 có thể hoạt động nhƣ một master hoặc slave tùy vào
việc bạn cấu hình (riêng HC-06 bạn chỉ có thể cấu hình ở chế độ SLAVE)
1. Ở chế độ SLAVE: bạn cần thiết lập kết nối từ smartphone, laptop, usb bluetooth để
dò tìm module sau đó pair với mã PIN là 1234. Sau khi pair thành cơng, bạn đã có 1
cổng serial từ xa hoạt động ở baud rate 9600.
2. Ở chế độ MASTER: module sẽ tự động dị tìm thiết bị bluetooth khác (1 module
bluetooth HC-06, usb bluetooth, bluetooth của laptop...) và tiến hành pair chủ động
mà không cần thiết lập gì từ máy tính hoặc smartphone.
1.3.4. Tập lệnh AT
AT: Lệnh test, nó sẽ trả về OK nếu module đã hoạt động ở Command Mode
AT+VERSION? :trả về firmware hiện tại của module
AT+UART=9600,0,0 ( thiết lập baudrate 9600,1 bit stop, no parity)
- Các lệnh ở chế độ Master:
AT+RMAAD : ngắt kết nối với các thiết bị đã ghép
AT+ROLE=1 : đặt là module ở master
AT+RESET: reset lại thiết bị
AT+CMODE=0: Cho phép kết nối với bất kì địa chỉ nào
AT+INQM=0,5,5: Dừng tìm kiếm thiết bị khi đã tìm đƣợc 5 thiết bị hoặc sau 5s
AT+PSWD=1234 Set Pin cho thiết bị
AT+INQ: Bắt đầu tìm kiếm thiết bị để ghép nối
Sau lệnh này một loạt các thiết bị tìm thấy đƣợc hiện thị. Định ra kết quả sau lệnh
này nhƣ sau: INQ:address,type,signal
Phần địa chỉ (address) sẽ có định dạng nhƣ sau: 0123:4:567890. Để sử dụng địa chỉ
này trong các lệnh tiếp theo ta phải thay dấu ―:‖ thành ―,‖
0123:4:567890 -> 0123,4,5678
AT+PAIR=<address>,<timeout> : Đặt timeout(s) khi kết nối với 1 địa chỉ slave
AT+LINK=<address> Kết nối với slave
-
Các lệnh ở chế độ Slave:
AT+ORGL: Reset lại cài đặt mặc định
AT+RMAAD: Xóa mọi thiết bị đã ghép nối
AT+ROLE=0: Đặt là chế độ SLAVE
AT+ADDR: Hiển thị địa chỉ của SLAVE
Chƣơng 2:
THIẾT KẾ MẠCH
2.1. CHUẨN BỊ LINH KIỆN
-Arduino Uno R3
-Bluetooth HC05
-Mạch công suất MX1508
-Biến áp 12V – 1A
- IC 7812
-Led, điện trở 330 Ω
-Motor quạt
-Transitor 1805
-Octo c1815
-Diot 1004 , Relay 5v
2.2. SƠ ĐỒ MẠCH CƠNG SUẤT CHỈNH LƢU 12V-1A
Hình 2.1: Sơ đồ mạch công suất chỉnh lưu
Mạch công suất chỉnh lƣu 12v sử dụng IC ổn áp L7812CV để điều chỉnh điện áp cố
định, hiện nay đều có tích hợp bảo vệ quá nhiệt, bảo vệ ngắn mạch và giữ vùng hoạt
động an tồn các Transistor cơng suất trong mạch, để bảo vệ cho nó về cơ bản
khơng thể phá hủy.