Đồ án sẽ đi vào thực hiện các nội dung sau đây: • Tìm hiểu về module sim900a và phương thức giao tiếp của nó với vi điều khiển và điện thoại di động bằng tin nhắn sms • Xây dựng giao diện truyền nhận dữ liệu từ máy tính tới bảng led ma trận bằng visual studio. • Tìm hiểu cách sử dụng tính năng GPRS trên sim thông qua vi điều khiển, đồng thời xây dựng một web server làm nơi để truyền dữ liệu gửi xuống vi điều khiển ,tới bảng led ma trận. • Tìm hiểu cách hiển thị nội dung ra bảng led ma trận. 16x32 hiệu quả nhất. • Có kiến thức cơ bản trong lập trình arduino,window form và lập trình web
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM THÀNH PHỐ HỒ CHÍ MINH
KHÓA LUẬN TỐT NGHIỆP
THIẾT KẾ VÀ CHẾ TẠO MÔ HÌNH ĐIỀU KHIỂN QUANG
BÁO TỰ ĐỘNG TỪ XA
Họ và tên sinh viên: TẠ DUY LONG Ngành:CÔNG NGHỆ KỸ THUẬT CƠ ĐIỆN TỬ Niên khóa:2012-2016
TP HỒ CHÍ MINH – 06/2016
Trang 3THIẾT KẾ VÀ CHẾ TẠO MÔ HÌNH QUANG BÁO TỰ ĐỘNG TỪ XA
Tác giả
TẠ DUY LONG
Khóa luận được đệ trình để đáp ứng yêu cầu cấp bằng Kỹ sư ngành Cơ điện tử
Giáo viên hướng dẫn
Th.s.NGUYỄN LÊ TƯỜNG
Trang 4Ks.BÙI TƯỜNG HUY
Tháng 6 năm 2016
LỜI CẢM ƠN
Người thực hiện đề tài xin được gửi lời cảm ơn chân thành đến quý Thầy côtrong khoa Cơ Khí Công Nghệ, và nhất là quý Thầy cô thuộc bộ môn Cơ điện tử đãgiảng dạy và truyền đạt kiến thức chuyên ngành cho người thực hiện đồ án trong thờigian vừa qua
Đặc biệt người thực hiện xin gửi lời cảm ơn sâu sắc tới thầy Bùi Tường Huy và
cô Nguyễn Lê Tường vì sự tận tình hướng dẫn cũng như đã tạo những điều kiện thuậnlợi nhất cho người thực hiện đồ án để có thể thực hiện và hoàn thành tốt đề tài này
Người thực hiện đồ án cũng không quên cảm ơn các bạn trong lớp đã trao đổi,góp ý để người thực hiện hoàn thành đề tài này một cách tốt đẹp và đúng thời gian
Trang 5Mặc dù đã có nhiều cố gắng và nỗ lực thực hiện, nhưng do kiến thức cũng nhưkhả năng bản thân còn nhiều hạn chế nên trong quá trình thực hiện đề tài không thểtránh khỏi những sai phạm, thiếu sót…Rất mong nhận được sự góp ý, chỉ dẫn từ nơiquý thầy cô và các bạn sinh viên.
Người thực hiện đề tài
Tạ Duy Long
Trang 6MỤC LỤC
LỜI CẢM ƠN i
MỤC LỤC ii
DANH MỤC CÁC HÌNH iv
DANH MỤC CÁC BẢNG v
TÓM TẮT ĐỂ TÀI vi
Chương 1 1
MỞ ĐẦU 1
1.1 Mục tiêu đề tài 1
1.2 Nhiệm vụ và giới hạn đề tài 1
1.2.1 Nhiệm vụ 1
1.2.2 Giới hạn đề tài: 1
Chương 2 2
TỔNG QUAN 2
2.1 Tổng quan về tin nhắn (SMS) 2
2.2 Module sim900a là gì ? 2
2.2.1 Thông số kĩ thuật của module Sim900A 2
2.2.2 Tập lệnh AT(AT command) 4
2.3 Giới thiệu Board Aduino Uno 4
2.3.1 Arduino Uno là gì? 4
2.3.2 Vi điều khiển 5
2.3.3 Các cổng ra vào kết nối 6
2.3.4 Lập trình cho Arduino 8
2.4 Khái quát về led ma trận 9
2.4.1 Các thông số của một module led ma trận P10 9
2.4.2 Nguyên tắc hoạt động module P10 10
2.4.3 Phần mềm lập trình visual studio 2012 11
2.4.4 Khái niệm cơ bản về HTTP 12
Chương 3 14
NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU 14
3.1 Nội dung đề tài 14
3.1.1 Đối tượng nghiên cứu 14
3.1.2 Phương tiện 14
3.2 Phương pháp thực hiện 14
Trang 73.2.1 Nghiên cứu lí thuyết 14
Chương 4 16
KẾT QUẢ VÀ THẢO LUẬN 16
4.1 Sơ đồ khối 16
4.2 Khối vi điều khiển: 17
4.2.1 Phân tích chương trình cho vi điều khiển 17
4.3 Khối PC: 19
4.4 Khối Module Sim900A: 22
4.5 Khối hiển thị: 28
4.6 Khối nguồn: 31
4.7 Sơ đồ mạch in 33
Chương 5 35
KẾT LUÂN VÀ ĐỀ NGHỊ 35
5.1 Kết luận 35
5.2 Đề nghị 35
TÀI LIỆU THAM KHẢO 36
PHỤ LỤC 37
Trang 8DANH MỤC CÁC HÌNH
Trang
Hình 2.2: Mặt trước và mặt sau module sim900A 3
Hình 2.3: Board Aduino Uno R3 5
Hình 2.4: Các chân I/O trên board (phần màu đỏ) 7
Hình 2.6: Mặt trước module P10 9
Hình 2.7: Mặt sau module P10 9
Hình 2.8: Sơ đồ quét led ma trận 11
Hình 2.9 cửa sổ làm viêc trên visual studio 12
Hình 2.10 cấu trúc của URL 13
Hình 4.1: Sơ đồ khối 16
Hình 4.2: Arduino khi đang hoạt động kết nối với máy tính 17
Hình 4.3 Lưu đồ thuật toán 18
Hình 4.4 Giao diện đăng nhập 19
Hình 4.5: Giao diện khi chưa kết nối 20
Hình 4.6: Sau khi kết nối và gửi dữ liệu xuống 21
Hình 4.7: Chữ “NONG LAM” 21
Hình 4.8: trước khi gửi tin nhắn 22
Hình 4.11Trang đăng kí địa chỉ web và hosting 24
Hình 2.12 Up load file lên server 24
Hình 4.12 Cửa sổ làm việc và code HTML 25
Hình 4.11: Website điều khiển sau khi hoàn thành (chưa gửi nội dung) 25
Hình 4.12: Nội dung đã được lưu vào database server 26
Hình 4.13: Gửi xuống “hello word” và chữ đang chạy trên bảng led 27
Hình 4.14: Nội dung “hello word” được lưu lại trên database 27
Hình 4.15: Sơ đồ chân IC 74hc595 29
Hình 4.16: Chữ chạy “thong bao” 30
Hình 4.17: Chạy dãy số 1 đến 9 30
Hình 4.18: Mạch nguyên lí nguồn 5v 31
Hình 4.19: Shield cắm arduino tích hợp nguồn và module sim900a 31
Hình 4.20: Hình ảnh thực tế của nguồn xung (nguồn tổ ong) 32
Hình 4.21: Sơ đồ nguyên lí chính 32
Hình 4.22: Sơ đồ mạch in chính 33
Hình 4.23: mô hình hoàn thiện hoàn thiện 33
Trang 9DANH MỤC CÁC BẢNG
Bảng 2.1 Một số tập lệnh at cơ bản giao tiếp với module sim900a: 4
Bảng 2.2 Một vài thông số của Arduino UNO R3 6
Bảng 4.1 đánh giá các phương thức truyền dữ liệu 34
Trang 10TÓM TẮT ĐỂ TÀI
Đề tài: thiết kế và chế tạo mô hình quang tự đônh báo từ xa
Đồ án sẽ đi vào thực hiện các nội dung sau đây:
Tìm hiểu về module sim900a và phương thức giao tiếp của nó với vi điều khiển và điện thoại di động bằng tin nhắn sms
Xây dựng giao diện truyền nhận dữ liệu từ máy tính tới bảng led
ma trận bằng visual studio.
Tìm hiểu cách sử dụng tính năng GPRS trên sim thông qua vi điều khiển, đồng thời xây dựng một web server làm nơi để
truyền dữ liệu gửi xuống vi điều khiển ,tới bảng led ma trận.
Tìm hiểu cách hiển thị nội dung ra bảng led ma trận 16x32 hiệu quả nhất.
Có kiến thức cơ bản trong lập trình arduino,window form và lập trình web
Trang 11MỞ ĐẦU
1.1 Mục tiêu đề tài
Đứng trước nhu cầu thực tế trong lĩnh vực quang báo nói riêng và điều khiển tựđộng nói chung Nhằm đáp ứng nhu cầu và đòi hỏi ngày càng cao trong lĩnh vực quangbáo, quảng cáo để tăng tính cạnh tranh của nó trên thị trường Nhu cầu sử dụng mộtthiết bị quang báo có tính tự động thay đổi nội dung theo một thời điểm nhất địnhkhông phải là quá xa lạ trong thời điểm hiện nay, song nó cần có thể đáp ứng một cáchchủ động tức thời, và không bị hạn chế bởi không gian, thời gian Hơn thế nữa là một
thiết bị đơn giản gọn nhẹ giá thành cạnh tranh bởi thế đề tài “Thiết kế và chế tạo mô hình điều khiển quang báo từ xa” ra đời nhằm đáp ứng mục tiêu này trên một sản
phẩm mang tính đột phá của ngành điều khiển tự động đưa vào điều khiển quang báotruyền thống
1.2 Nhiệm vụ và giới hạn đề tài
Qua internet không dây
Điều khiển thủ công qua PC (trường hợp dự phòng)
Trang 12Ch ươ ng 2
TỔNG QUAN
2.1 Tổng quan về tin nhắn (SMS)
SMS là từ viết tắt của Short Message Service Đó là một công nghệ cho phépgửi và nhận các tín nhắn giữa các điện thoại với nhau Dữ liệu có thể được lưu giữ bởimột tin nhắn SMS là rất giới hạn Một tin nhắn SMS có thể chứa tối đa là 140 byte(1120 bit) dữ liệu.Vì vậy, một tin nhắn SMS chỉ có thể chứa:
160 kí tự nếu như mã hóa kí tự 7 bit được sử dụng
70 kí tự nếu như mã hóa kí tự 16 bit Unicode UCS2 được sử dụng
Tin nhắn SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau Nó có thể hoạt động tốt vớinhiều ngôn ngữ mà có hỗ trợ mã Unicode, bao gồm cả Arabic, Trung Quốc, Nhật bản và Hàn Quốc.
2.2 Module sim900a là gì ?
SIMCom giới thiệu Sim900A là một module GSM/GPRS cực kỳ nhỏ gọn, được
thiết kế cho thị trường toàn cầu Sim900A hoạt động được ở 2 băng tần EGSM
(Global System for Mobile Communications ) 900MHz, DCS 1800MHz như là
một loại thiết bị đầu cuối với một chip xử lý đơn nhân đầy sức mạnh, tăngcường các tính năng quan trọng dựa trên nền vi xử lý ARM926EJ-S, cho bạnnhiều lợi ích từ kích thước nhỏ gọn (24x24 mm), đáp ứng những yêu cầu vềkhông gian trong các ứng dụng có tính truyền tải với khoảng cách lớn
2.2.1 Thông số kĩ thuật của module Sim900A
- Nguồn cung cấp: 3.4V – 4.5V DC
o Điện năng tiêu thụ trong chế độ “ngủ”: 1.5mA
o Tương thích với GSM phase 2/2+
Trang 13o Tự động tìm băng tần phù hợp trong 2 băng tần EGSM 900MHz, DCS1800MHz
- Lưu trữ trên Sim card
- FAX: Group 3 Class 1
Lập trình bằng tập lệnh AT thông qua chuẩn giao tiếp RS232
Tích hợp SIM socket, SMA edge PCB connector và led trạng thái làm việc
Đồng hồ thời gian thực:
Đặc tính vật lí:
Kích thước 24mmx24mmx24mm ,nặng 3.4g
Giao tiếp nối tiếp và sự ghép nối :
Cổng nối tiếp : 8 cổng nối tiếp (ghép nối)
Cổng kết nối có thể có Sd với CSD fax, GPRS và gửi lệnh AT command tớimoudule điều khiển
Cổng nối tiếp có thể Sd chức năng giao tiếp
Hỗ trợ tốc độ truyền 1200 BPS tới 115200 BPS
Cổng hiệu chỉnh lỗi: 2 cổng nối tiếp TXD và RXD
Cổng hiệu chỉnh lỗi chỉ sử dụng sửa lỗi
Trang 142.2.2 T p l nh AT(AT command) ậ ệ
Bảng 2.1 Một số tập lệnh at cơ bản giao tiếp với module sim900a:
ATD+”so dien thoai” Gọi đến một số điện thọai
AT+CMGS=”\so dien thoai\” Gửi tin nhắn tới số điện thoại
AT+CMNI=2,2,0,0 Cài đặt vùng nhớ khi nhận tin nhắn mới
AT+SABPR=3,1,\”CONTPPE”\,”\GPRS”\ Lựa chọn kết nối GPRS
2.3 Giới thiệu Board Aduino Uno
2.3.1 Arduino Uno là gì?
Nhắc tới dòng mạch Arduino dùng để lập trình, cái đầu tiên mà người tathường nói tới chính là dòng Arduino UNO Hiện dòng mạch này đã phát triểntới thế hệ thứ 3 (R3) Được giới thiệu vào năm 2005, đi cùng với nó là một môitrườ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ặcC++
Hình 2.3: Board Aduino Uno R3
2.3.2 Vi điều khiển
Một mạch Arduino bao gồm một vi điều khiển AVR với nhiềulinh kiện bổ sung giúp dễ dàng lập trình và có thể mở rộng với các mạchkhá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ó
Trang 15thể dễ dàng chuyển đổi, được gọi là shield 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
Trang 16Bảng 2.2 Một vài thông số của Arduino UNO R3
Vi điều khiển ATmega328 (họ 8bit)
Điện áp hoạt động 5V – DC (chỉ được cấp qua cổng USB)
Đ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 PWM)
Số chân Analog 6 (độ phân giải 10bit)
Dòng tối đa trên mỗi chân I/O 30 mA
Trang 17Hình 2.4: Các chân I/O trên board (phần màu đỏ)
Các I/O này 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ỗichâ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ôngqua 2 chân này
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 giaothức SPI với các thiết bị khác
Trang 18 Hình 2.5: Giao diện làm việc trình IDE
Các chương trình Arduino được viết bằng C hoặc C++ Arduino IDE đikè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
Trang 192.4 Khái quát về led ma trận.
Thực ra led module ma trận hay led ma trận là một Đó là các bóng đènled của biển quảng cáo, khi đi ngoài đường hoặc thì chúng ta bắt gặp rất nhiềunhững dòng thông tin hay hình ảnh chạy đi chạy lại đặt ngay trước của hàng Vàđó cũng chính là loại biển quảng cáo led ma trận Khi bạn để ý kĩ trên các
bảng LED QUẢNG CÁO có các cụm bóng được xếp thành từng cột hay từng
hàng xen kẽ nhau như ma trận Chính vì thế mà người ta gọi dạng bố trí này làled ma trận hay ma trận điểm ảnh
2.4.1 Các thông số của một module led ma trận P10
Hình 2.6: Mặt trước module P10
Hình 2.7: Mặt sau module P10
Trang 20 Các ma trận led được sản xuất thành các module Ví dụ loại led đơn sắcP10, mỗi modul có 16 hàng và 32 cột Khoảng cách điểm ảnh của MODULEMÀN HÌNH LED P10 là 10mm Do vậy MODULE MÀN HÌNH LED P10 cókích thước là 16x32cm
Cách sử dụng:
- Bảng ngoài trời độ phân giải (mm) 10mm
- Module dày 30,5mm
- Kích thước (mm) 320 * 160 Pixel Density (pexel / m) 10.000
- Hiển thị một màu: Màu đỏ Độ phân giải (pixel) 32 * 16
- Độ ẩm hoạt động 10 ~ 95% Công suất Trung bình (W / m²) 100 ~ 300
- Công suất tiêu thụ tối đa (W / m²) ≤ 500 Chế độ kiểm soát Không đồng bộ
- Chế độ quét 1/4 quét bởi áp Constant Cân bằng trắng Độ sáng (cd / m²) ≥ 2000
- Lớp chống thấm nước IP51 MTTF ≥ 10.000 Tuổi thọ (giờ) ≥ 100,000
- Nguồn điện sử dụng 5V/10A chuyên dụng
2.4.2 Nguyên tắc hoạt động module P10
Các đường điều khiển gồm :
- Tín hiệu OE : tích cực mức logic cao (5V) cho phép chốt hàng ( hàng tương ứng với
2 tín hiệu A,B được nối đất ) - Tín hiệu chọn hàng : A,B là 2 đường tín hiệu cho phép chọn hàng hiển thị
- Tín hiệu CLK: Tín hiệu cho phép chốt dữ liệu ra cột - Tín hiệu SCK : xung đưa dữ liệu ra IC ghi dịch - Tín hiệu DATA: đưa dữ liệu cần hiển thị ra bảng led - Sơ đồ quétcủa mudule : + Quét theo tỉ lệ ¼ + Tất cả module có 16 dòng,32 cột Tại 1 thời điểm nhất định sẽ có 4 dòng đồng thời được nối với nguồn Vcc (được cho phép sáng )
Hình 2.8: Sơ đồ quét led ma trận
Trang 212.4.3 Phần mềm lập trình visual studio 2012
Visual Studio là (IDE – Integrated Development Environment) một bộ công cụ phát
triển phần mềm do Microsoft phát triển Visual Studio cũng là một phần mềm được sử dụng bởi các lập trình viên để xây dựng nêncác sản phẩm phần mềm.Một trong các
tính năng được sử dụng đó là Windows Forms Designer.
Windows Forms Designer: được sử dụng để xây dựng GUI sử dụng Windows Forms;
bố trí có thể được xây dựng bằng các nút điều khiển bên trong hoặc khóa chúng vào bên cạnh mẫu Điều khiển trình bày dữ liệu (như hộp văn bản, hộp danh sách, vv) có thể được liên kết với các nguồn dữ liệu như cơ sở dữ liệu hoặc truy vấn Các điều khiển dữ liệu ràng buộc có thể được tạo ra bằng cách rê các mục từ cửa sổ nguồn dữ liệu lên bề mặt thiết kế Các giao diện người dùng được liên kết với mã sử dụng một
mô hình lập trình hướng sự kiện Nhà thiết kế tạo ra bằng C# hay VB.NET cho ứng dụng
Hình 2.9 cửa sổ làm viêc trên visual studio
Những vùng làm việc được mô tả cụ thể dưới đây:
Vùng 1: (ToolBox) đây là vùng chứa tất cả các control mà chúng ta có thể sử
dụng cho project, có thể kéo thả những control này sang vùng 2 và vùng 3
Vùng 2: Đây là vùng hiển thị kết quả (giao diện) mà chúng ta đã viết mã giao diện Có những loại project không có vùng làm việc này như project Console Application.
Trang 22 Vùng 3: Đây là nơi mà chúng ta sẽ làm việc khá nhiều, là vùng mà chúng ta sẽ
viết mã nguồn
Vùng 4: Nơi xuất ra những thông báo trong quá trình biên dịch, các lỗi cú pháp
phát sinh trong quá trình viết mã nguồn (source code)
Vùng 5: (Solution Explorer) đây là vùng quản lý các file trong project mà
chúng ta đang làm việc
2.4.4 Khái ni m c b n v HTTP ệ ơ ả ề
HTTP ( HyperText Transfer Protocol) cho phép giao tiếp giữa nhiều máy chủ vàkhách, và hỗ trợ một hỗn hợp của cấu hình mạng
Điều này trở thành stateless protocol Giao tiếp thường diễn ra qua giao thức TCP /
IP, như bất kỳ giao thức vận tải đáng tin cậy có thể được sử dụng Cổng mặc định cho giao thức TCP / IP là 80, nhưng các cổng khác cũng có thể được sử dụng.Gửi yêu cầu /Thực hiện yêu cầu
Giao tiếp giữa một máy chủ và máy khách xảy ra, thông qua một yêu cầu / cặp phản hồi Các máy khách khởi tạo một thông báo yêu cầu HTTP, đó là dịch vụ thông qua một tin nhắn phản hồi HTTP trong trở lại Ta sẽ xem xét điều này cơ bản thông điệp đôi trong phần tiếp theo
Phiên bản hiện tại của giao thức HTTP/1.1, có thêm một vài tính năng bổ sung cho các1,0 phiên bản trước Điều quan trọng nhất trong số này, bao gồm kết nối liên tục, chunked chuyển-mã hóa và các tiêu đề bộ nhớ đệm hạt mịn
URLs
Trọng tâm của truyền thông web là thông báo yêu cầu, được gửi qua UniformResource Locators (URL) Chúng ta đã quen thuộc với các URL để cụ thể hay xemminh chứng dưới đây Các URL có một cấu trúc đơn giản mà bao gồm của các thànhphần sau:
Hình 2.10 cấu trúc của URL
+ Phương thức gửi dữ liệu server gồm có:
Trang 23GET: lấy một nguồn tài nguyên hiện có URL chứa tất cả các thông tin cần thiết các
máy chủ cần phải xác định vị trí và trả lại tài nguyên
POST: tạo ra một nguồn tài nguyên mới POST yêu cầu thường mang một tải trọng
mà xác định các dữ liệu về tài nguyên mới
Trang 24Ch ươ ng 3
NỘI DUNG VÀ PHƯƠNG PHÁP NGHIÊN CỨU
3.1 Nội dung đề tài
Tiến hành: thiết kế và chế tạo mô hình điều khiển quang báo từ xa sử dụng module sim900a thông qua board arduino uno giao tiếp với bảng led ma trận
Khảo sát và thực hiện đề tài:
-Địa điểm thực hiện : nghiên cứu và thực hiện tại Phòng thực tập ở Bộ Môn CơĐiện Tử
-Thời gian thực hiện: Tháng 2/2016- 6/2016
3.1.1 Đối tượng nghiên cứu.
Tìm hiểu về tính năng gửi, nhận sms trên Module sim900a
Tìm hiểu giao tiếp nối tiếp Uart của arduino với máy tính
Tìm hiều cách kết nối giưa sim900a, module led ma trận với arduino
Tìm hiểu về giao thức truyền nhận dữ liệu server, và tính năng GPRS trên sim900a
- Phần mêm lập trình arduino IDE 168
- Sim điện thoại, điện thoại di đông
- Module led ma trận 16x32
3.2 Phương pháp thực hiện
3.2.1 Nghiên cứu lí thuyết
Viết chương trình cho vi điều khiển thực hiện chức năng truyền nhận dữ liệu từ các thiết bị module sim900a, PC
Cách thức kết nối moudule sim900a và bảng led ma trận với vi điều khiển
Cách thức xây dựng một giao diện điều khiển giao tiếp vi điều khiển bằng ngônngữ C# trong visual studio 2012
Trang 25 Cách thức truyền nhận dữ liệu qua phương thức HTTP, tập lệnh AT để sử dụng HTTP và xây dựng một giao diện web để điều khiển bảng led từ internet không giây.
Tìm hiểu cách thức để điều khiển bảng led ma trận.với vi điều khiển
Trang 26 Khối vi điều khiển: tiếp nhận các tín hiệu gửi lên, phân tích và xử lí để
lấy ra chuỗi nội dụng mà ta cần hiển thị đưa lên bảng led ma trận, ngoài ra nó cònthực hiện việc điều khiển hiển thị các chuỗi kí tự xuất ra bảng led 1 cách hợp línhất, nhằm đảm bảo về mặt thẩm mĩ và hiệu quả khi hoạt động của bảng led Ngoài
ra vi điều khiển cũng trả lại các nội dung phản hồi cho người sử dụng biết khi nộidung đã được hiển thị trên bảng led ma trận
Khối PC: nhằm đưa nội dung hiển thị lên bảng led với 1 khoảng cách địa
lí hẹp mà mức độ, tần suất thay đổi liên tục Đây cũng là phần để bù đắp nếu nhưcác phương thức truyền khác gặp sự cố, hoặc mục đích sử dụng không cần đến độ
xa về khoảng cách địa lí
Trang 27 Khối module Sim900a: Nhằm thực hiện đưa nội dung mà bạn cần thông
báo ra bảng led ma trận thông qua hai phương thức truyền : tin nhắn SMS vàtruyền qua internet với phương thức kết nối GPRS trên sim
Khối hiển thị: là 1 bảng module led ma trận P10(16x32) để hiển thị tất cả
các nội dung mà chúng ta muốn thông báo tới người tiếp nhận thông tin Là giaiđoạn cuối cùng của quá trình xử lí
Khối nguồn: cấp điện áp phù hợp cho từng khối trong mạch để hệ thống
hoạt động ổn định và liên tục
4.2 Kh i vi đi u khi n ố ề ể :
Sử dụng board mạch Arduino Uno R3 sử dung dòng chíp avrAtmega328rất mạnh mẽ và có tốc độ xử lí cực kì cao
Hình 4.2: Arduino khi đang hoạt động kết nối với máy tính
4.2.1 Phân tích chương trình cho vi điều khiển.
Yêu cầu chương trình với vi điều khiển:
- Nhận tín hiệu từ PC và Module sim900a
- Nhận tín hiệu từ điện thoại di đông qua tin nhắn SMS
- Xử lý tín hiệu nhận được xuất ra bảng led ma trận qua mạng internet bằng cáchthực hiện quét dữ liệu server
Trang 28- Gửi tin hiệu phản hồi, thông báo tới PC và điện thoại di động của người dùng sau khi quá trình gửi đã nhận được
Giải quyết lưu đồ thuật toán:
Hình 4.3 Lưu đồ thuật toán
Giải thích lưu đồ:
Đầu tiên vào đầu chương trình ta khởi động module sim900a
- Xét tín hiệu từ người dùng nếu có cuộc gọi đến thì quét dữ liệu từ sever,gán vàobiến rồi xuất ra bảng led
- Nếu không thực hiển kiểm tra các tín hiệu từ PC, nếu có lấy dữ liệu lưu vào biến rồi xuất ra bảng led., gửi tín hiệu tới PC thông báo dữ liễu đã nhận được
Trang 29- Nếu không tiếp tục kiểm tra tín hiệu từ tin nhắn điện thoại , nếu có thức hiện xử
lí lấy nội dung từ tin nhắn, kiểm tra cú pháp tin nhắn đến, đúng cú pháp thi lọc nội dung và hiển thị ra bảng led, sai thì nhắn tin phản hồi lại người dùng kiểm tra cú pháp tin nhắn
4.3 Khối PC:
Ta xây dựng một giao diện điều khiển trên ngôn ngữ C#, tạo form ngườidùng, trong đó người dùng có thể thao tác nhập xuất dữ liệu cơ bản rồi sau đó gửi lêncho vi điều khiển xử lí Để thực hiện được kết nối này ta cần chỉ một sợi cáp usb đểkết nối UART giữa máy tính và vi điều khiển, thông qua cổng usb gắn trên máy tính
Phần giao diện:
Nhằm tăng tính bảo mật cho người dùng, nên cần đăng nhập vào hệ thống từ giaodiện này, chỉ có thể nhập sai thông tin đăng nhập này tối đa 2 lần, nếu sau 3 lầnnhập sai, hệ thống sẽ cảnh báo và không thể đăng nhập nữa và phải thoát
Hình 4.4 Giao diện đăng nhập
Tên đăng nhập: admin và mật khẩu: 1
Sau khi đăng nhập thành công ta sẽ có được giao diện điều khiển như bêndưới, người sử dụng chỉ cần nhập nội dung sau đó nhấn nào nút gửi hoặc enter thìnội dung đó lập tức sẽ được gửi tới bảng led hiển thị , nếu lỡ nhập sai thì sửa hoặcxóa và nhập lại Nhưng trước tiên ta cần chọn cổng kết nối cho phù hợp, rồi nhấnconnect để kết nối với vi điều khiển, nếu chưa chọn cổng kết nối phù hợp mà nhấnconnect sẽ bị báolỗi
Trang 30Hình 4.5: Giao diện khi chưa kết nối
Ta chọn cổng com (ở đây là com5) sau đó phần nhập nội dung đang ẩn đi sẽ hiện ra cho phép bạn nhập vào, phần hiển thị nội dung đang chạy, sẽ cho ta biết những gì đangxảy ra trên bảng led ma trận Phần dấu sao là phần nhận dữ liệu trả về từ arduino Với cách gửi này chỉ có thể gửi tối đa 60 kí tự xuống để vi xử lí có thể xử lí và tất nhiên là thời gian đáp ứng từ khi gửi tới khi hiển thị trên bản led là khoảng 2s Thời gian đáp ứng này còn phụ thuộc vào độ dài kết nối tới PC, hay trang thái làm viêc của vi điều khiển.Nếu đang có nội dung được hiển thị thì sau khi nội dung này chạy xong một lần thì dữ liệu mới, mới được tải xuống để hiển thị
Trang 31Hình 4.6: Sau khi kết nối và gửi dữ liệu xuống
Sau khi gửi xong nếu không thực hiện kết nối ta chỉ cần nhấn vào nút disconnect sau đó nhấn thoát và đóng chương trình
Chữ chạy trên bảng led
Hình 4.7: Chữ “NONG LAM”
Trang 324.4 Kh i Module Sim900A ố :
Thông qua tập lệnh AT để điều khiển truyền nhận và giao tiếp giữa Modulesim900A với vi điều khiển, ở đây phương thức giao tiếp được sử dụng cũng là giaotiếp nối tiếp (uart), ta cần tạo ra một cổng giao tiếp uart ảo trên arduino tương ứng cácchân TX- RX đấu nối với chân RX-TX tương ứng trên Module sim900a Với phươngthức truyền nhận này ta có thể truyền các nội dung cần hiển thị lên led ma trận qua 2cách không giới hạn về không gian khoảng cách địa lí:
Gửi tin nhắn SMS: là việc sử dụng điện thoại di động (Mobile phone) dùng tính năng
nhắn tin SMS thông thường của các sim mà nhà mạng cung cấp để gửi nội dung đếnsim được gắn trên module sim900a, từ đó vi điều khiển sẽ xử lí và lấy ra nội dung màngười gửi muốn thông báo trên led ma trận
Hình 4.8 Ttrước khi gửi tin nhắn
Trang 33Hình 4.9 Tin nhắn phản hồi khi gửi tin nhắn hoàn tất
Hình 4.10 Chạy ổn định sau khi nhắn tin
Gửi dữ liệu qua internet:đó là việc dùng tính năng GPRS của sim để truy
cập internet Ta cần phải tao ra một trang web, ở đó ta dùng nó để viết các nộidung cần thông báo trên led ma trận , ta cần sử dụng phương thức “POST”trong ngôn ngữ lâp trình web php để đưa nội dung ra web Từ đó sim sẽ đượcchỉ định truy cập vào 1 địa chỉ mà web mà ta đã tạo (dongtroi.tk)
Trang 34Hình 4.11 Trang đăng kí địa chỉ web và hosting
Sau khí có tên miền và hosting tiến hành xây dựng web trên ngôn ngữ lập trình cơ bảnHTML 5 sử dụng công cụ lập trình web PhpStrom 2016 Sau khi hoàn thành việc tạogiao diện ta chỉ viêc upload toàn bộ dữ liệu lên server mà ta đã tạo
Hình 2.12 Up load file lên server