Tổng quan mục tiêu và kế hoạch tiến độ
Bảng 1 1: Tổng quan mục tiêu và kế hoạch tến độ
Phân công thực hiện
Tuần 1 Thảo luận đề tài Tổng hợp ý kiến
Tuần 2 Tìm hiểu linh kiện, thống kê linh kiện.
Tuần 3 Viết code cho chức năng điều khiển Servo bằng Arduino.
Tuần 4 Tổng hợp các code thành 1 phần hoàn chỉnh.
Tuần 5 Thiết kế, bổ sung thêm các chức năng,linh kiện (nếu cần)
TestBoard, kiểm tra và sửa lỗi.
Tuần 8 Kiểm tra và sửa lỗi
Tuần 9 Tổng hợp báo cáo từng tuầ n(PP và
Word) Phát triển sản phẩm
Tuần 10 Báo cáo sản phẩm, thuyết trình
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN 2
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.2 MỘT SỐ LINH KIỆN QUAN TRỌNG KHÁC 12
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.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
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 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
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 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
GIỚI THIỆU CÁC LINH KIỆN
MODULE ARDUINO UNO R3
Arduino UNO là dòng mạch phổ biến nhất trong lập trình Arduino, hiện đã phát triển đến 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
Arduino UNO có thể được cấp nguồn 5V qua cổng USB hoặc từ nguồn ngoài với điện áp khuyên dùng từ 7-12V DC, trong khi giới hạn tối đa là 20V Sử dụng pin vuông 9V là lựa chọn hợp lý khi không có nguồn từ cổng USB Lưu ý rằng việc cấp nguồn vượt quá giới hạn có thể gây hỏng Arduino UNO.
GND (Ground) là cực âm của nguồn điện cấp cho Arduino UNO Khi sử dụng các thiết bị có nguồn điện riêng biệt, cần phải nối các chân GND này với nhau để đảm bảo hoạt động ổn định.
+ 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.
Chân IOREF trên Arduino UNO cho phép đo điện áp hoạt động của vi điều khiển, luôn duy trì ở mức 5V Tuy nhiên, cần lưu ý rằng chân này không được sử dụng để cấp nguồn 5V cho các thiết bị khác.
+ 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Ω.
Vi điều khiển Atmega328 tiêu chuẩn cung cấp cho người dùng:
Vi điều khiển có 32KB bộ nhớ Flash, nơi lưu trữ các đoạn lệnh lập trình Thông thường, một phần nhỏ khoảng vài KB sẽ được dành cho bootloader, nhưng bạn có thể yên tâm vì hiếm khi cần vượt quá 20KB bộ nhớ này.
SRAM (Static Random Access Memory) có dung lượng 2KB, nơi lưu trữ giá trị các biến được khai báo trong lập trình Số lượng biến bạn khai báo càng lớn thì càng cần nhiều bộ nhớ RAM Tuy nhiên, bộ nhớ RAM thường không phải là mối bận tâm lớn, vì dữ liệu trên SRAM sẽ bị mất khi mất điện.
- 1KB cho EEPROM (Electrically Eraseble Programmable Read Only
Bộ nhớ giống như một ổ cứng mini, cho phép bạn đọc và ghi dữ liệu mà không lo mất mát khi mất điện, khác với dữ liệu trên SRAM.
Arduino UNO được trang bị 14 chân digital, cho phép đọc và xuất tín hiệu với hai mức điện áp là 0V và 5V Mỗi chân có khả năng chịu dòng vào/ra tối đa 40mA Các điện trở pull-up từ được tích hợp sẵn trong vi điều khiển ATmega328, nhưng mặc định 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:
Arduino Uno có hai chân Serial, chân 0 (RX) và chân 1 (TX), được sử dụng để gửi (TX) và nhận (RX) dữ liệu TTL Serial Qua hai chân này, Arduino Uno có khả năng giao tiếp với các thiết bị khác, trong đó kết nối Bluetooth thường được coi là một dạng kết nối Serial không dây Nếu không cần thiết phải giao tiếp Serial, bạn nên tránh sử dụng hai chân này.
Chân TX-RX của Arduino được kết nối với chân RX-TX của module SIM900, cho phép module SIM900 nhận lệnh từ tin nhắn và truyền lại cho Arduino để điều khiển các thiết bị như đèn LED và servo motor.
Chân PWM (~) 3, 5, 6, 9, 10 và 11 cho phép xuất xung PWM với độ phân giải 8bit, tương ứng với giá trị từ 0 đến 255, điều chỉnh điện áp từ 0V đến 5V bằng hàm analogWrite() Điều này giúp bạn linh hoạt trong việc điều chỉnh điện áp ra, khác với các chân khác chỉ có mức điện áp cố định 0V và 5V Đặc biệt, chân 9 (PWM~) được sử dụng để điều khiển động cơ servo, giúp điều chỉnh cần gạt thức ăn xuống hồ cá.
Chân giao tiếp SPI trên Arduino bao gồm 10 (SS), 11 (MOSI), 12 (MISO) và 13 (SCK) Ngoài chức năng thông thường, các chân này còn hỗ trợ truyền dữ liệu qua giao thức SPI với các thiết bị khác Đặc biệt, LED được kết nối với chân 12, cho phép Arduino điều khiển việc bật tắt LED khi nhận thông tin từ module sim900.
Trên board Arduino UNO, chân số 13 kết nối với một đèn LED màu cam (ký hiệu chữ L), sẽ nhấp nháy khi nhấn nút Reset để báo hiệu Khi người dùng điều khiển chân này, LED sẽ sáng lên, đồng thời chân số 13 cũng được sử dụng để điều khiển motor tạo oxy trong hồ cá.
MỘT SỐ LINH KIỆN QUAN TRỌNG KHÁC
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 SIM900A của SIMCOM hoạt động trên các tần số 900/1800 MHz và có khả năng tự động tìm kiếm hai băng tần này Người dùng có thể thiết lập các dải tần số thông qua lệnh AT, với tốc độ truyền dữ liệu có thể cấu hình từ 1200 đến 115200 bps Mô-đun này tích hợp ngăn xếp TCP/IP nội bộ, cho phép kết nối internet qua GPRS SIM900A được thiết kế nhỏ gọn, đáng tin cậy, với điện áp hoạt động từ 4.7-5V và mức tiêu thụ điện năng thấp chỉ 1.5mA khi ở chế độ ngủ.
Nhiệt độ hoạt động: -40 - 85 °C Điều khiển qua tập lệnh AT
Phù hợp với GSM giai đoạn 2/2+
Trọng lượng: 3.4g b) Tập lệnh AT
+ 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)
+ ATD0123456789; : Gọi điện cho số điện thoại 0123456789
+ ATA : Chấp nhận cuộc gọi đến
+ 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)
+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
Hình 1 3: Relay 5V10A 5 chân SRD-05VDC-SL-C a) Giới thiệu chung
Rơ le là một công tắc điện có khả năng chuyển đổi giữa hai trạng thái ON và OFF Trạng thái hoạt động của rơ le phụ thuộc vào sự có mặt của dòng điện, khi có dòng điện chạy qua, rơ le sẽ ở trạng thái ON, và khi không có, nó sẽ chuyển sang trạng thái OFF.
Hình 1 4: Sơ đồ cấu trúc của Relay b) Nguyên lý hoạt động
Khi dòng điện đi qua rơ le, nó kích hoạt cuộn dây bên trong, tạo ra một từ trường hút Từ trường này tác động lên đòn bẩy nội bộ, dẫn đến việc đóng hoặc mở các tiếp điểm điện Sự thay đổi trạng thái của rơ le có thể ảnh hưởng đến một hoặc nhiều tiếp điểm, tùy thuộc vào thiết kế của rơ le.
Rơ le hoạt động với hai mạch độc lập Mạch đầu tiên điều khiển cuộn dây của rơ le, quyết định trạng thái ON hoặc OFF của nó Mạch thứ hai kiểm soát dòng điện, cho phép xác định liệu dòng điện có đi qua rơ le hay không, dựa vào trạng thái của mạch đầu tiên.
Dòng chạy qua cuộn dây để điều khiển rơ le ON hay OFF thường khoảng 30mA với điện áp 12V, có thể lên tới 100mA Hầu hết các con chip không cung cấp đủ dòng này, vì vậy cần sử dụng 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.
- Điện trở tiếp xúc: 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
Module Sim tích hợp nguồn xung và IC đệm có thiết kế nhỏ gọn, nhưng vẫn đảm bảo các yếu tố quan trọng như mạch chuyển mức tín hiệu logic bằng Mosfet, IC giao tiếp RS232 MAX232, mạch nguồn xung dòng cao, khe SIM chuẩn, đèn LED báo hiệu và đi kèm với ăng-ten 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 cho phần băng tần cơ sở, chỉ còn lại nguồn điện cho RTC Phần mềm hiện không hoạt động và các cổng nối tiếp không thể truy cập Tuy nhiên, nguồn điện kết nối với VBAT vẫn đang được áp dụng.
Lệnh AT "AT + CFUN" cho phép đặt mô-đun vào chế độ chức năng tối thiểu, trong đó chức năng RF và thẻ SIM có thể bị tắt, trong khi cổng nối tiếp vẫn hoạt động Chế độ này giúp giảm mức tiêu thụ điện năng so với chế độ bình thường.