You are on page 1of 37

Thực hành điện tử nâng cao GVHD:TS.

Phù Trần Tín

TRƯỜNG ĐH CÔNG NGHIỆP TP.HCM


KHOA CÔNG NGHỆ ĐIỆN TỬ VIỄN THÔNG

BÁO CÁO THỰC HÀNH ĐIỆN TỬ NÂNG CAO

ĐỀ TÀI
Kết nối module SIM(900) với Arduino, nhắn tin điều khiển chăm sóc hồ cá
thủy sinh
Giảng viên hướng dẫn: Phù Trần Tín
Nhóm sinh viên thực hiện:
STT Họ và tên MSSV
1 Trần Thanh Tường 17077381
2 Phạm Ngọc Thịnh 17070941
3 Nguyễn Hữu Thắng 17055561
4 Đặng Gia Bảo 17025451
5 Vũ Chí Tiến 17030831

1
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN


………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………
………………………………………………………………………………………

2
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

I. Đặt vấn đề
Bạn có sở thích nuôi cá và chăm sóc thủy sinh nhưng không thường xuyên ở nhà
vì phải đi học, đi làm,...
 Vì thế bạn không thể cho cá ăn đúng giờ,cây thủy sinh thiếu ánh sáng,không
bật tắt đèn,oxi đúng giờ nhằm tiết kiệm điện
 Để giải quyết các vấn đề trên, nhóm đã quyết định thực hiện đề tài là “Kết nối module
SIM(900) với Arduino, nhắn tin điều khiển chăm sóc hồ cá thủy sinh”

II. Tổng quan mục tiêu và kế hoạch tiến độ


Tổng quan Hướng IOT
Kết nối Module SIM(900) với Arduino
Điều khiển: Hồ cá thủy sinh
Mục tiêu Điều khiển đèn(Led) cho hồ cá
Điều khiển Servo gạt thức ăn tự động cho cá
Điều khiển bơm nước tạo lọc,oxi cho hồ cá
Kế hoạch Tuần 1: Tìm hiểu đề tài báo cáo đề cương
Tuần 2: Tham khảo các linh kiện, vẽ sơ đồ khối, chi tiết
Tuần 3: Mô phỏng mạch trên proteus
Tuần 4: Thảo luận mô phỏng
Tuần 5: Vẽ mạch trên Altium
Tuần 6: Lắp mạch trên Test Board
Tuần 7: Làm mạch (in,khoan,hàn mạch)
Tuần 8: Kiểm tra mạch và khắc phục
Tuần 9: Hoàn thiện,phát triển sản phẩm
Tuần 10: Báo cáo sản phẩm

Kinh phí Arduino: 100k


Modul SIM(900): 250k
Motor: 50k
Nguồn DC: 70k
Động cơ servo: 30k
Một số linh kiện khác: 50k
TỔNG: 550k

Bảng 1. 1: Tổng quan mục tiêu và kế hoạch tến độ

3
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

III. Phân công thực hiện


Tên
Thịnh Tường Thắng Tiến Bảo
Tuần
Tuần 1 Thảo luận đề Thảo luận Thảo luận đề tài Thảo luận đề tài Thảo luận đề
tài .Tổng hợp ý đề tài tài
kiến
Tuần 2 Tìm hiểu linh Tìm hiểu linh Tìm hiểu linh Vẽ sơ đồ Vẽ sơ đồ chi
kiện, thống kê kiện kiện khối,nguyên lý tiết,nguyên lý
linh kiện. hoạt động. hoạt động.
Tuần 3 Viết code cho Viết code Viết code cho Đánh giá,ghi Đánh giá,ghi
chức năng điều cho chức chức năng điều nhận lại tiến độ nhận lại tiến độ
khiển Servo năng điều khiển Motor bằng thực hiện,hỗ trợ thực hiện, hỗ
bằng Arduino. khiển Led Arduino. viết code. trợ viết code.
bằng
Arduino.

Tuần 4 Tổng hợp các Đánh giá,ghi Đánh giá,ghi Mô phỏng mạch Mô phỏng
code thành 1 nhận lại tiến nhận lại tiến độ trên Proteus mạch trên
phần hoàn độ thực hiện thực hiện Proteus
chỉnh.
Tuần 5 Thiết kế, bổ Lên danh Lên danh sách Thiết kế, bổ Thiết kế, bổ
sung thêm các sách các vật các vật dụng,linh sung thêm các sung thêm các
chức năng,linh dụng,linh kiện cần mua. chức năng,linh chức năng,linh
kiện (nếu cần) kiện cần kiện (nếu cần) kiện (nếu cần)
mua.

Tuần 6 Cắm Cắm Cắm Cắm TestBoard, Cắm


TestBoard, TestBoard, TestBoard,kiểm kiểm tra và sửa TestBoard,kiể
kiểm tra và sửa kiểm tra và tra và sửa lỗi. lỗi. m tra và sửa
lỗi. sửa lỗi. lỗi.

Tuần 7 Vẽ Altium Vẽ Altium In,khoan,hàn In,khoan,hàn In,khoan,hàn


mạch. mạch. mạch.
Tuần 8 Kiểm tra và Kiểm tra và Kiểm tra và sửa Đánh giá,ghi Đánh giá,ghi
sửa lỗi sửa lỗi lỗi nhận lại tiến độ nhận lại tiến độ
thực hiện thực hiện

4
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Tuần 9 Tổng hợp báo Tổng hợp Tổng hợp báo cáo Tổng hợp báo Tổng hợp báo
cáo từng báo cáo từng từng tuần(PP và cáo từng tuần(PP cáo từng
tuần(PP và tuần(PP và 1. 2: Word)
Bảng Phân công thực hiện và Word) tuần(PP và
Word) Word) Phát triển sản Phát triển sản Word)
Phát triển sản Phát triển sản phẩm phẩm Phát triển sản
phẩm phẩm phẩm
Tuần 10 Báo cáo sản Báo cáo sản Báo cáo sản Báo cáo sản Báo cáo sản
phẩm, thuyết phẩm, thuyết phẩm, thuyết phẩm, thuyết phẩm, thuyết
trình trình trình trình trình

5
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Mục lục

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN.............................................................2


I. Đặt vấn đề..............................................................................................................3
II. Tổng quan mục tiêu và kế hoạch tiến độ................................................................3
III. Phân công thực hiện...........................................................................................4
Chương 1: GIỚI THIỆU CÁC LINH KIỆN..........................................................10
1.1 MODULE ARDUINO UNO R3....................................................................10
1.1.1 Năng lượng...........................................................................................11
1.1.2 Bộ nhớ...................................................................................................11
1.1.3 Các cổng vào/ra.....................................................................................12
1.2 MỘT SỐ LINH KIỆN QUAN TRỌNG KHÁC.............................................12
1.2.1 Module Sim900A..................................................................................13
1.2.2 Relay.....................................................................................................15
1.2.3 Động Cơ Servo SG90............................................................................16
1.2.4 Máy bơm nước mini DC Motor 12V.....................................................17
Chương 2: KỸ THUẬT / CÔNG NGHỆ...............................................................17
2.1 TỔNG QUAN VỀ ARDUINO IDE...............................................................17
2.1.1 Arduino IDE là gì?................................................................................17
2.1.2 Giới thiệu giao diện Arduino IDE........................................................18
2.1.3 Cấu trúc một chương trình Arduino:.....................................................18
Chương 3: THIẾT KẾ............................................................................................19
3.1 THIẾT KẾ......................................................................................................19
3.1.1 Mục đích:..............................................................................................19
3.1.2 Sơ đồ khối.............................................................................................20
3.1.3 NGUYÊN LÝ HOẠT ĐỘNG...............................................................21
3.2 TÍNH TOÁN CHI TIẾT.................................................................................22
6
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

3.2.1 Khối nguồn............................................................................................22


3.2.2 Khối xử lý.............................................................................................22
3.2.3 Khối điều khiển thiết bị (Khối Relay)...................................................23
3.2.4 Khối thu phát tín hiệu...........................................................................24
Chương 4: KẾT QUẢ THỰC NGHIỆM...............................................................26
4.1 Mô hình sản phẩm thực tế.............................................................................26
Chương 5: KẾT LUẬN VÀ PHÁT TRIỂN ĐỀ TÀI.............................................27
Chương 6: PHỤ LỤC............................................................................................28
Code Arduino.......................................................................................................28
Chương 7: Tài liệu tham khảo................................................................................33

Mục lục bảng


Bảng 1. 1: Tổng quan mục tiêu và kế hoạch tến độ............................................................3
Bảng 1. 2: Phân công thực hiện..........................................................................................5
Bảng 1. 3:Thông số Arduino uno.....................................................................................10
Bảng 1. 4: Một số tác vụ trong Arduino IDE...................................................................18

7
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Mục lục hình ảnh


Hình 1. 1: Arduino UNO R3..............................................................................................9
Hình 1. 2: Module SIM 900A..........................................................................................12
Hình 1. 3: Relay 5V10A 5 chân SRD-05VDC-SL-C.......................................................13
Hình 1. 4: Sơ đồ cấu trúc của Relay.................................................................................13
Hình 1. 5: Động cơ servo.................................................................................................16
Hình 1. 6: Máy bơm nước mini DC Motor 12V...............................................................16
Hình 1. 7:Giao diện của Arduino IDE..............................................................................17
Hình 1. 8: Sơ đồ kết nối các khối chính...........................................................................19
Hình 1. 9: Thiết kế trên phần mềm Fritzing.....................................................................21
Hình 1. 10: Sơ đồ nguyên lý mạch giảm áp LM2596.......................................................22
Hình 1. 11:Sơ đồ chân Arduino UNO R3.........................................................................22
Hình 1. 12: Khối điều khiển thiết bị.................................................................................23
Hình 1. 13: Sơ đồ chức năng Sim900A............................................................................24
Hình 1. 14: Mạch điều khiểu thực tế................................................................................26
Hình 1. 15: Giao diện điều khiển bằng SMS....................................................................28

8
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Chương 1: GIỚI THIỆU CÁC LINH KIỆN

1.1 MODULE ARDUINO UNO R3

Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người ta thường nói tới
chính là dòng Arduino UNO. Hiện dòng mạch này đã phát triển tới thế hệ thứ 3 (R3).
Vì giá thành rẻ và số chân digital(14 chân)vừa đủ để thực hiện đề tài nên nhóm chọn
Arduino UNO R3

Hình 1. 1: Arduino UNO R3

9
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Thông số Arduino UNO R3

1.1.1 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
vuông 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.
- Các chân năng lượng

10
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tí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ó luôn 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Ω.
1.1.2 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.1.3 Các cổng vào/ra


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:

11
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

- 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 TX-RX của Adruino nối với chân RX-TX của module sim900 để khi module
sim900 nhận được cái lệnh từ tin nhắn sẽ truyền cho arduino để điều khiển các thiết
bị led, servo motor
- 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 9 (PWM~) được
nói với động cơ servo điều khiển servo làm cần gạt cho thức ăn xuống hồ cá .
- Chân giao tiếp SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoà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 được nói với chân 12 để cho adruino điều khiển bật tắt led khi
tiếp nhận thông tin từ module sim900
- 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. Chân số 13 được sử dụng để điều khiển
mortor hoạt động tạo oxi trong hồ cá

1.2 MỘT SỐ LINH KIỆN QUAN TRỌNG KHÁC

1.2.1 Module Sim900A


Module Sim900A được ra đời trước Sim 800A, tính năng Sim800A được nâng cấp nhiều
hơn Sim900A như thêm Bluetooth,..Giá thành Sim900A rẻ hơn nhiều so với Sim800A
Với những tính năng cơ bản phù hợp với đề tài của Module Sim900A và giá thành rẻ nên
nhóm chọn Module Sim900A
Module GSM GPRS này được xây dựng dựa trên SIM900A GSM/GPRS của SIMCOM.
Hoạt động trên các tần số 900/ 1800 MHz. SIM900A có thể tự động tìm kiếm hai băng
tần này. Ngoài ra cũng có thể thiết lập các dải tần số thông qua tập lệnh AT. Tốc độ
truyền có thể được cấu hình từ 1200-115200 thông qua lệnh AT. Modem GSM / GPRS
có ngăn xếp TCP / IP nội bộ để cho phép bạn kết nối với internet qua GPRS. SIM900A là
một mô-đun không dây nhỏ gọn và đáng tin cậy.

12
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

a) Đặc điểm của module SIM 900A


 Điện áp hoạt động: 4.7-5V
 Điện năng tiêu thụ thấp: 1.5mA (ở chế độ
ngủ)
 Nhiệt độ hoạt động: -40 - 85 °C
 Điều khiển qua tập lệnh AT
 Băng tần kép 900/ 1800 MHz
 GPRS multi-slot class 10/8
 GPRS mobile station class B
 Phù hợp với GSM giai đoạn 2/2+
 Kích thước: 24 x 24 x 3 mm
 Trọng lượng: 3.4g
b) Tập lệnh AT
- Các lệnh chung:
+ AT : Kiểm tra module có hoạt động không Hình 1. 2: Module SIM 900A
Trả về: OK nếu hoạt động bình thường, báo lỗi
hoặc không trả về nếu có lỗi xảy ra
+ ATEx : Bật (x=1) hoặc tắt (x=0) chế độ phản hồi lệnh vừa gửi (nên tắt đi)
+ AT+CPIN? : Kiểm tra Simcard
Trả về: +CPIN: READY OK (nếu tìm thấy simcard)
+ AT+CSQ : Kiểm tra chất lượng sóng
Trả về: +CSQ: xx,0 OK (xx là chất lượng sóng, tối đa là 31)
+ AT+COPS? : Kiểm tra tên nhà mạng
Trả về: +COPS: 0,0,”Viettel Mobile” OK (nhận dạng được nhà mạng là Viettel
Mobile)
Trả về: +COPS: 0 (không thấy nhà mạng)
- Các lệnh gọi điện:
+ ATD0123456789; : Gọi điện cho số điện thoại 0123456789
+ ATA : Chấp nhận cuộc gọi đến
+ ATH : Hủy cuộc gọi
- Các lệnh nhắn tin:
+ AT+CMGF=x : Cấu hình tin nhắn (x=0: DPU, x=1:dạng ký tự)
+ AT+CNMI=2,x,0,0 : Chọn x=1 (chỉ báo vị trí lưu tin nhắn) hoặc x=2 (hiển thị ra
ngay nội dung tin nhắn)
Trả về: +CMTI: “SM”,3 (x=1)
Trả về: +CMT: “+84938380171″,””,”17/07/30,14:48:09+28″ noidungtinnhan
13
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

+ AT+CMGR=x : Đọc tin nhắn tại vị trí lưu x


Trả về: nội dung tin nhắn
+ AT+CMGD=x : Xóa tin nhắn được lưu ở vị trí x
+ AT+CMGS=”sodienthoai” : Gửi tin nhắn cho sodienthoai

1.2.2 Relay

Hình 1. 3: Relay 5V10A 5 chân SRD-05VDC-SL-C


a) Giới thiệu chung
- 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 phụ thuộc vào có dòng điện
chạy qua rơ le hay không.

Hình 1. 4: Sơ đồ cấu trúc của Relay

b) Nguyên lý hoạt động


- Khi có dòng điện chạy qua rơ le, dòng điệ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ặc mở các tiếp điểm điện và 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ế.

14
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

- Rơ le có 2 mạch độc lập nhau hoạt động. Một mạch là để điều khiển cuộn dây của rơ le:
Cho dòng chạy qua cuộn dây hay không, hay có nghĩa là điều khiển rơ le ở trạng thái ON
hay OFF. Một mạch điều khiển dòng điện ta cần kiểm soát có qua được rơ le hay không
dựa vào trạng thái ON hay OFF của rơ le.
- Dòng chạy qua cuộn dây để điều khiển rơ le ON hay OFF thường vào khoảng 30mA
với điện áp 12V hoặc có thể lên tới 100mA. Và bạn thấy đó, 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 có một BJT để khuếch đại dòng nhỏ ở ngõ
ra IC thành dòng lớn hơn phục vụ cho rơ le.
c) Thông số kỹ thuật:
- Điện trở tiếp xúc: <= 100m (ohm)
- Tuổi thọ điện: 100.000
- Cuộn dây điện áp định mức: 3-48VDC
- Công suất cuộn: 0,36W, 0,45W
- Nhiệt độ môi trường: -25 độ C đến +70 độ C
1.2.3 Modul relay 1 kênh 5V

Hình 1. 5 : Module Relay

a. Giới thiệu chung


 Module sử dụng Relay tốt, đảm bảo hoạt động ổn định, lâu dài.
 Trên module có opto để cách ly dòng ngược về, hiệu suất ổn định.
 Có thể set các mức cao thấp bằng cách thiết lập jumper trên module
 Có Led báo nguồn màu xanh, Led báo trạng thái Relay màu đỏ.
 Kết nối module với mạch điều khiển đơn giản.

b. Thông số kỹ thuật

Thông số Giá trị


Điện áp tải tối đa AC 250V-10A / DC 30V-10A
Điện áp điều
5 VDC
khiển

15
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Thông số Giá trị


Dòng kích Relay 5mA
Trạng thái kích Mức thấp (0V)
Đường kính Lỗ ốc 3.1 mm
Kích thước 50 * 26 * 18.5 mm

1.2.4 Mạch giảm áp DC LM2596


a. Giới thiệu chung
 Module Hạ Áp DC-DC 3A LM2596 là
module chuyển đổi điện áp DC-DC với
điện áp đầu vào 3-40V thành đầu ra 1.5-
35V-3A
 Module Hạ Áp DC-DC 3A LM2596 có
kích thước cực nhỏ, thích hợp với các mạch cần nguồn nhỏ gọn.
Hình 1. 6: Giảm áp LM2596
b. Thông số kỹ thuật
 Điện áp đầu vào 3 - 40V DC (khuyến cáo sử dụng điện áp đầu vào < 30V
DC để có thể sử dụng được lâu dài)
 Điện áp đầu ra 1.5 - 35V DC
 Dòng ra max 3A (khuyến cáo sử dụng 2/3 công suất của sản phẩm để đảm
bảo được độ bền của sản phẩm)
 Sử dụng IC LM2596
 Điều chỉnh điện áp đầu ra bằng biến trở
c. Nguyên lý hoạt động
 Chỉ cần cấp nguồn thô vào chân INPUT+, INPUT- rồi nhận nguồn ra từ
chân OUTPUT+, OUTPUT-
 Chỉnh điện áp đầu ra bằng cách vặn cái biến trở trên module...rồi lấy đồng
hồ đo điện áp đầu ra, hiệu chỉnh sao cho phù hợp 

1.2.5 Động Cơ Servo SG90


a) Giới thiệu chung
Động cơ RC Servo 9G là động phổ biến
dùng trong các mô hình điều khiển nhỏ và đơn
giản như cánh tay robot. Động cơ có tốc độ

16
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

phản ứng nhanh, được tích hợp sẵn Driver điều khiển động cơ, dễ dàng điều khiển góc
quay bằng phương pháp điều độ rộng xung PWM.
b) Thông số kỹ thuật
Kích thước: 23mmX12.2mmX29mm
Trọng lượng: 9 gram
Điện áp hoạt động: 4.2-6V
Nhiệt độ: 0 ℃ --55 ℃
Tốc độ: 0.3 giây / 60 độ
c) Nguyên lý hoạt động
 Kết nối dây màu đỏ với 5V, dây màu nâu với mass, dây màu cam với chân
phát xung của vi điều khiển.
 Ở chân xung cấp một xung từ 1ms-2ms theo để điều khiển góc quay theo ý
muốn
1.2.6  Máy bơm nước mini DC Motor 12V
a) Giới thiệu chung
    Máy bơm nước mini DC sử dụng động cơ Motor 12V là máy bơm nước loại mini
motor DC12V được sử dụng phổ biến trong ứng dụng gia dụng, Y tế, thiết bị bể cá, hệ
thống cấp và tuần hoàn nước,...
    Máy bơm nước mini DC sử dụng động cơ 12V có công suất tốt, hoạt động bền bỉ, liên
lục.
b) Thông số kỹ thuật
 Điện áp làm việc:12VDC
 Dòng điện không tải: 0.23
 Lưu lượng tối đa: 2-3 lít / phút 
 Áp suất tối đa: 1-2,5 kg 
 Giờ làm việc bình thường: 2-3 năm. 
 Lực hút tối đa: 2 mét 
 Chiều dài động cơ: 32MM
 Đường kính động cơ: 28MM
 Đường kính bơm:40MM * 35MM 
Hình 1. 8: Máy bơm nước mini DC Motor
 Trọng lượng: 111g
12V

Chương 2: KỸ THUẬT / CÔNG NGHỆ

2.1 TỔNG QUAN VỀ ARDUINO IDE


17
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

2.1.1 Arduino IDE là gì?


Môi trường phát triển tích hợp chính quy - Arduino IDE(Arduino Integrated
Development Environment). Arduino IDE là phần mềm nguồn mở được viết bằng Java
và sẽ làm việc được trên các nền tảng khác nhau: Windows, Mac, và Linux. IDE cho
phép bạn viết mã trong môi trường đặc biệt với sự nhấn mạnh cú pháp và các tính năng
khác sẽ làm cho việc lập trình dễ dàng hơn, và sau đó dễ dàng tải mã của bạn vào thiết bị
với việc đơn giản nháy vào một cái núm. Mã cho Arduino thường được viết bằng Wiring,
nó dựa vào ngôn ngữ lập trình Processing.
2.1.2 Giới thiệu giao diện Arduino IDE

Bảng 1. 3: Một số tác vụ trong Arduino IDE


Hình 1. 9:Giao diện của Arduino IDE

2.1.3 Cấu trúc một chương trình Arduino:


Trong một chương trình Arduino, bạn cần có tối thiểu 2 hàm hệ thống chính
setup() và loop()
Các lệnh trong setup() sẽ được chạy khi chương trình của bạn khởi động. Bạn có thể sử
dụng nó để khai báo giá trị của biến, khai báo thư viện, thiết lập các thông số,…
Sau khi setup() chạy xong, những lệnh trong loop() sẽ được chạy. Chúng sẽ lặp đi lặp lại
liên tục cho tới khi nào bạn ngắt nguồn của board Arduino mới thôi.

18
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Bất cứ khi nào bạn nhất nút Reset, chương trình của bạn sẽ trở về lại trạng thái như khi
Arduino mới được cấp nguồn.
--Để cho dễ hiểu hơn thì ta đi vào ví dụ đơn giản trước đó là làm sáng tắt đèn led 13 trên
board arduino với chu kỳ 1 giây.
Chương trình như sau:
int led = 13;
void setup() {               
                   pinMode(led, OUTPUT);    
                   }
void loop() {
                 digitalWrite(led, HIGH); 
                 delay(1000);           
                 digitalWrite(led, LOW);
                 delay(1000);
        }
Khi bạn cấp nguồn cho Arduino, lệnh “pinMode(led, OUTPUT);” sẽ được chạy 1 lần để
khai báo.
Sau khi chạy xong lệnh ở setup(), lệnh ở loop() sẽ được chạy và được lặp đi lặp lại liên
tục, tạo thành một chuỗi

Chương 3: THIẾT KẾ

3.1 THIẾT KẾ

19
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

3.1.1 Mục đích:


Tạo ra một mô hình bể cá thủy sinh tích hợp với điện thoại để gửi tin nhắn SMS và điều
khiển thiết bị qua tin nhắn SMS:
- Điều khiển Servo,Motor,Led thông qua tin nhắn.
-Phản hồi lại trạng thái của từng thiết bị khi điện thoại nhắn tin yêu cầu.

3.1.2 Sơ đồ khối

Hình 1. 10: Sơ đồ kết nối các khối chính

 Khối nguồn: cung cấp nguồn cho toàn mạch, sử dụng nguồn 12v và 5v.
 Khối xử lý trung tâm: Arduino thực hiện và xử lý mọi lệnh, tín hiệu nhận
được; kết nối tất cả các khối với nhau.
 Khối thu phát tín hiệu: Module SIM900A nơi gửi và nhận thông tin điều
khiển.
 Khối điều khiển: gồm các relay điều khiển thiết bị.
 Khối thiết bị: bao gồm Servo, Motor và đèn Led.

20
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

3.1.3 Lưu đồ giải thuật

Hình 1. 11:Lưu đồ giải thuật kết nối Module SIM900A

21
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

3.1.4 Thiết kế trên phần mềm Fritzing

Hình 1. 12: Thiết kế trên phần mềm Fritzing

22
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

3.2 TÍNH TOÁN CHI TIẾT

3.2.1 Khối nguồn

Hình 1. 13: Sơ đồ nguyên lý mạch giảm áp LM2596



Điện áp đầu vào 3 - 40V DC
 Điện áp đầu ra 1.5 - 35V DC
 Dòng ra max 3A
3.2.2 Khối xử lý

Hình 1. 14:Sơ đồ chân Arduino UNO R3

23
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Uno có 14 chân đầu vào / đầu ra digital (trong đó 6 chân có thể được sử dụng làm đầu ra
PWM), 6 đầu vào analog, kết nối USB, giắc cắm nguồn, nút reset và nhiều thứ khác nữa.
Nó chứa mọi thứ cần thiết để hỗ trợ vi điều khiển. Arduino UNO có thể sử dụng 3 vi điều
khiển họ 8bit AVR là ATmega8, ATmega168, ATmega328
3.2.3 Khối điều khiển thiết bị (Khối Relay)

Hình 1. 15: Khối điều khiển thiết bị


a) Nguyên lý hoạt động
- Khi “Tín hiệu” đưa vào là mức 0 (0V) thì Q1, Q2, Q3 không dẫn do không có dòng
IBE >> Role không làm việc.
- Khi “Tín hiệu” đưa vào là mức 1 (5V) thì sẽ qua R2, R3, R6 hạn dòng làm cho Q1 dẫn
thông lúc này ta có dòng Ice là dòng điện chạy qua cuộn dây >> Q1,Q2,Q3 >> Max, Role
đóng tiếp điểm thường mở (ĐK thiết bị nào đó).
- Diot D1, D2, D3 trong mạch có tác dụng chống lại dòng điện cảm ứng do cuộn đây sinh
ra làm hỏng transistor.

24
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

- Mục đích của R2, R3, R6 là tạo dòng vào cực B của trans tới ngưỡng bão hòa để trans
hoạt động như 1 chiếc khóa có điều kiện.
- Lưu ý:  Dòng vào của Tín hiệu là rất nhỏ không thể chạy thẳng Role được nên ta mới sử
dụng transistor để kích dòng cho role.
b) Ưu điểm
- Có thể cách li hoàn toàn phần tín hiệu điều khiển với phần nguồn cấp cho Relay.
- Nhờ cách li tốt qua Opto nên hạn chế nhiễu khi hoạt động.
c) Phù hợp ứng dụng cho Bật/Tắt các loại tải cảm như động cơ, máy
bơm…
d) Nhược điểm
- Tốn nhiều linh kiện hơn –> Chi phí sản xuất, chế tạo cao hơn.
- Phức tạp với người mới tiếp cận.
3.2.4 Khối thu phát tín hiệu

Hình 1. 16: Sơ đồ chức năng Sim900A

Tích hợp nguồn xung và ic đệm được thiết kế nhỏ gọn nhưng vẫn giữ được các yếu tố cần
thiết của thiết kế Module Sim như: Mạch chuyển mức tín hiệu logic sử dụng Mosfet, IC

25
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

giao tiếp RS232 MAX232, mạch nguồn xung dòng cao, khe sim chuẩn và các đèn led báo
hiệu, mạch còn đi kèm với Anten GSM.
Tắt nguồn bình thường bằng cách gửi lệnh AT “AT + CPOWD = 1”.
Bộ quản lý nguồn tắt nguồn cung cấp năng lượng cho phần băng tần cơ sở và chỉ còn lại
nguồn cung cấp điện cho RTC. Phần mềm không hoạt động. Các cổng nối tiếp không thể
truy cập được. Nguồn điện (kết nối với VBAT) vẫn được áp dụng.
Lệnh AT “AT + CFUN” có thể được sử dụng để đặt mô-đun ở chế độ chức năng tối
thiểu. Trong chế độ này, chức năng RF và chức năng thẻ SIM có thể bị vô hiệu hóa,
nhưng cổng nối tiếp thì vẫn có thể truy cập được. Mức tiêu thụ điện ở chế độ này thấp
hơn chế độ bình thường.

26
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Chương 4: KẾT QUẢ THỰC NGHIỆM

27
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

4.1 MẠCH IN

Hình 1. 17:Mạch đi dây Hình 1. 18:Mạch 3D

Hình 1. 19: Mạch điều khiểu thực tế

28
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

4.2 Mô hình sản phẩm thực tế

Hình 1. 20: Hình toàn bộ sản phẩm

29
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Hình 1. 21: Giao diện điều khiển bằng SMS

Các lệnh tin nhắn trong đề tài cho Module Sim900A để điều khiển Arduino :
#A.led on * : tất cả các led bật
#A.led off * : tất cả các led tắt
#A.90* :servo xoay 90 độ
#A.150* :servo xoay 150 độ
#A.motor on* : động cơ motor hoạt động
#A.motor off* : tắt động cơ motor
#A.all.on* : tất cả đều hoạt động
# A.all.off* :tất cả ngưng hoạt động
# A.state* :báo trạng thái đang hoạt động (nhận phản hồi từ module
sim900)

30
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Chương 5: KẾT LUẬN VÀ PHÁT TRIỂN ĐỀ TÀI


Xã hội càng ngày càng phát triển không ngừng. Song song với đó là những chiếc điện
thoại thông minh có thể tích hợp được với nhiều ứng dụng để cho cuộc sống con người
được trở lên dễ dàng hơn, họ dùng những chiếc điện thoại thông minh đó để nghe, gọi và
nhắn tin,… Bằng sự nắm bắt thực tiễn cũng như được sự tư vấn của GVHD, nhóm đã
thống nhất thực hiện đề tài điều khiển thiết bị bằng Module SIM900A qua tin nhắn sms
sử dụng arduino làm bộ xử lí trung tâm.Nhằm tiện lợi và tiết kiệm thời gian cho người sử
dụng, chỉ cần biết nhắn tin sms cơ bản để điều khiển hầu hết mọi thứ. Sau khi nghiên cứu
và thực hiện đã có những lần thất bại nhưng với nhiều nỗ lực cố gắng của nhóm thực hiện
đề tài, nhóm đã tìm hiểu và học hỏi được các kiến thức sau:
- Đầu tiên nhóm đã học được cách làm việc nhóm và giải quyết các vấn đề cùng nhau.
- Nghiên cứu cách sử dụng Arduino UNO R3, Module Sim 900A và nhiều linh kiện khác
có trong đồ án.
- Thiết kế và thi công mạch PCB, mô hình hoàn chỉnh.
- Hiểu được giao thức truyền nhận SMS.
- Giải quyết các vấn đề và đơn giản hóa cách thức sử dụng.
Bên cạnh đó sản phẩm còn nhiều hạn chế: Thời gian nghiên cứu và thi công không
nhiều nên phần thiết kế vẫn chưa tối ưu về chương trình, về tính thẩm mỹ và hiệu quả
kinh tế nhưng vẫn đảm bảo hoạt động tốt,
Về phần nguồn: vì sử dụng 1 nguồn chung 12V để điều khiển nhiều thiết bị 1 lúc nên đôi
lúc bị chập chờn
Hướng phát triển của nhóm :
- Hoàn thiện hơn vẻ ngoài: nhỏ gọn, tối ưu.
- Tăng mạnh tính an toàn.
- Điều khiển được nhiều thiết bị hơn.-Dùng cảm biến chuyển động HC-SR501 để bật
tắt đèn tự động.(đã thực hiện hoàn thành)

31

Hình 1. 22: Cảm biến


chuyển động HC-SR501
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Chương 6: PHỤ LỤC

Code Arduino

#include <Servo.h>
#define Motor 13
#define Light 12
#define SERVO_PIN 9
#define LightPIR 8
int PIR =7;
int val = 0;

String lightState = "HIGH";


String motorState = "HIGH";
Servo gServo;

int temp=0,i=0;
int led=2;
char str[15];
void setup()
{
pinMode (PIR,INPUT);/////////////////////////////
pinMode (LightPIR,OUTPUT);

Serial.begin(9600);
pinMode(Motor, OUTPUT);
digitalWrite(Motor, HIGH);
pinMode(Light, OUTPUT);

32
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

digitalWrite(Light, HIGH);

gServo.attach(SERVO_PIN);
gServo.write(0);
delay(100);
gServo.write(90);
delay(100);
gServo.write(0);
delay(100);
pinMode(led, OUTPUT);
Serial.println("AT+CNMI=2,2,0,0,0\r");
delay(500);
Serial.println("AT+CMGF=1\r");
delay(1000);
}
void loop()
{
val = digitalRead(PIR); /////////////
digitalWrite (LightPIR, val);
if(temp==1)
{
check();
temp=0;
i=0;
delay(1000);
}}
void serialEvent()

33
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

{ while(Serial.available())
{
if(Serial.find("#A."))
{ digitalWrite(led, HIGH);
delay(1000);
digitalWrite(led, LOW);
while (Serial.available())
{
char inChar=Serial.read();
str[i++]=inChar;
if(inChar=='*')
{
temp=1;
return;
}}}}}
void check()
{
if(!(strncmp(str,"90",2)))
{
gServo.write(0);
delay(100);
gServo.write(90);
delay(100);
gServo.write(0);
delay(100); }
if(!(strncmp(str,"150",3)))
{

34
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

gServo.write(0);
delay(100);
gServo.write(150);
delay(200);
gServo.write(0);
delay(100); }
if(!(strncmp(str,"motor on",8)))
{
digitalWrite(Motor, HIGH);
motorState = "ON"; }
if(!(strncmp(str,"motor off",9)))
{
digitalWrite(Motor, LOW);
motorState = "OFF"; }
if(!(strncmp(str,"led on",6)))
{
digitalWrite(Light, HIGH);
lightState = "ON"; }
if(!(strncmp(str,"led off",7)))
{
digitalWrite(Light, LOW);
lightState = "OFF"; }
if(!(strncmp(str,"all on",6)))
{
digitalWrite(Light, HIGH);
lightState = "ON";
digitalWrite(Motor, HIGH);

35
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

motorState = "ON"; }
if(!(strncmp(str,"all off",7)))
{
digitalWrite(Light, LOW);
lightState = "OFF";
digitalWrite(Motor, LOW);
motorState = "OFF"; }
if(!(strncmp(str,"state",5)))
{
String message ="Light is "+ lightState +" and "+"Motor is "+ motorState ;
sendSMS(message); }}
void sendSMS(String message){
Serial.println("AT+CMGF=1\r");
delay(1000);
Serial.println("AT+CMGS=\"+84968781077\"\r");
delay(1000);

// Send the SMS


Serial.println(message);
delay(1000);

// End AT command with a ^Z, ASCII code 26


Serial.print((char)26);
}

36
Thực hành điện tử nâng cao GVHD:TS. Phù Trần Tín

Chương 7: Tài liệu tham khảo

https://mlab.vn/index.php?_route_=huong-dan-su-dung-module-sim900.html
http://arduino.vn/
https://iotmaker.vn/relay-1-kenh-5v.html
https://arduinokit.vn/dong-co-servo-la-gi

37

You might also like