Học Arduino phần 20 _Truyền thông tin trên mạng di động

No Comments

TRONG CHƯƠNG NÀY BẠN SẼ

  • Arduino của bạn sẽ gọi đến điện thoại di động khi có một sự kiện xảy ra
  • Gửi một tin nhăn đến điện thoại di động bằng Arduino
  • Điều khiển các thiết bị đã kết nối với Arduino thông qua tin nhắn từ điện thoại di động

Bạn có thể kết nối các dự án Arduino của bạn với các mạng di động tại Việt Nam như: MobiPhone – Vinaphone – Viettel… để cho phép truyền dẫn thông tin giữa Arduino của bạn và điện thoại di động hoặc điện thoại bàn. Với một ít trí tưởng tượng bạn có thể tạo nên nhiều điều từ loại hình truyền thông tin này, kể cả các dự án được thêm vào trong chương này.

Đê chắc chắn khi thực hiện các dự án trong chương này trước khi mua bất khì phần cứng nào bạn cần phải xem các thông số bởi vì thành công của các dự án sẽ tùy theo các thông số của nhà cung cấp mạng di dộng. Các nhà cung cấp mạng di động cần phải có các thông số sau:

  • Vận hành ở GSM 850 MHz, GSM 900 MHz, DSC 1800 MHz hoặc PCS 1900 MHz
  • Cho phép dùng các thiết bị không được cung cấp bởi các nhà mạng.

Để thực hành dự án này bạn phải cân nhắc chọn lựa gói trả trước cho các ứng dụng gọi điện hoặc đăng ký gói tin nhắn cho các ứng dụng gửi tin nhắn để đề phòng các trường hợp phát sinh chi phí không kiểm soát. Để chắc chắn tùy chọn nhập mã PIN phải được tắt. (Bạn có thể làm việc này dễ dàng bằng cách gắn SIM vào điện thoại di động của bạn và thực hiện tắt thiết lập này trong menu cài đặt.

PHẦN CỨNG

Vì có sự hạn chế về phần cứng, Các dự án trong chương này sẽ làm việc với Arduino Uno hoặc các mạch được hỗ trợ (điều đó có nghĩa rằng có thẻ không hỗ trợ mạch Arduino Mega). Tất cả dự án dùng chung thiết lập phần cứng vì vậy chúng ta sẽ cài đặt chúng trước tiên.

Bạn sẽ cần các phần cứng đặc biệt để hoàn thành các dự án trong chương này, bắt đầu với SM5100 GSM shield và Anttena, xem hình 20-1.

SM5100 GSM shield có sẵn tại SparkFun và các nhà phân phối khác. (Nhìn trên mạch và chú ý các thông số sau “part number CEL-09607, stackable header set PRT-10007 (có thể xếp chồng với Arduino) và Anttena có số hiệu CEL-00675”.

Ảnh 20-1: GSM shield với Antenna đi kèm

Bạn cũng cần một shield nguồn và nguồn nuôi mạch. Shield GMS tiêu thụ dòng đến 2A (lớn hơn dòng Arduino có thể cung cấp gây ra hỏng mạch hoặc hoạt động không được hay không ổn định nếu không được cung cấp bằng nguồn ngoài). Power shiled được Arduino hỗ trợ bạn có thể mua tại DFRobot: http://dfrobot.com/, số hiệu sản phẩm DFR0105. Hình ảnh sản phẩm ở phía dưới.

Hình 20-2: DFRobot power shield

Cuối cùng, bạn cần nguồn nuôi mạch. Chúng có thể là bộ chuyển đổi nguồn điện(Adapter) có hiệu điện thế phải lớn 7.2V, nguồn từ tấm pin mặt trời , Pin 12v, Acquy nhưng chúng không được vượt quá 35VDC và phải có dòng điên >=2Ampe

Thiết lập ban đầu cho Power shield

Thiết lập power shield (việc này rất quan trọng) đặt lại điện áp ra để sử dụng trước khi gắn lên bất kỳ thành phần nào. Để làm việc này, đầu tiên gỡ bỏ các đầu nối chân jump ở phiá trên – bên phải và phía dưới – bên phải trên mạch (Các vòng tròn đánh dấu bên tay phải trong hình. Kế tiếp chắc chắn rằng hai đầu nối chân jump phải được đặt song song và dọc theo ký hiệu PWRIN ở phía dưới – bên trái mạch (Vòng tròn phía dưới hình 20-2).

Bây giờ kết nối nguồn ngoài với PWRIN là khối phía dưới – bên trái góc của shield . Hãy chắc rằng đấu đúng chân dương nguồn với nhau và chân âm nguồn với nhau. Mở nguồn và dùng đồng hồ vạn năng  kiểm tra hiệu điện thế tại khối PWROUT ở phía trên – bên trái của shield. Dùng tua vích điều chỉnh chiết áp màu xanh. Xem hình 20-3.

Hình 20-3: Điều chỉnh hiệu điện thế Power shield

Tiếp tục điều chỉnh cho đến khi hiệu điện thế đo được bằng đồng hồ vạn năng là 5VDC. Khi bạn kết thúc quá trình điều chỉnh ngưng cấp nguồn cho power shield.

Bây giờ bạn có thể đặt các thành phần lại với nhau:

  1. Gắn SIM vào GSM shield
  2. Cắm GSM shield vào mạch Arduino Uno
  3. Thêm power shield phía trên cùng.

Nối dây dương nguồn từ khối PWROUT trên power shield đến chân 5V trên power shield và nối chân âm nguồn  từ khối PWROUT đến chân GND trên power shield. Hai dây này sẽ cấp nguồn 5V có hệ số dòng cao vào arduino

CẢNH BÁO: Luôn đảm bảo nguồn điện trên power shield phải được thêm vào trước khi kết nối cáp USB giữa Arduino và máy tính. Và luôn gỡ cáp USB trước khi tắt nguồn trên power shield.

Cấu hình phần cứng và kiểm tra

Bây giờ để cấu hình và kiểm tra phần cứng hãy chắc rằng module GSM có thể truyền dẫn thông tin giữa mạng di động và Arduino. Sau khi lắp ráp phần cứng và lắp SIM hãy upload sketch được trình bày (Sketch 20-1)phía dưới vào Arduino của bạn.

// Listing 20-1

// Written by Ryan Owens – SparkFun CC by v3.0 3/8/10

#include <SoftwareSerial.h> // Virtual serial port

SoftwareSerial cell(2,3);

char incoming_char = 0;

Cellular Communications 353

void setup()

{

//Initialize serial ports for communication.

Serial.begin(9600);

cell.begin(9600);

Serial.println(“Starting SM5100B    Communication…”);

}

void loop()

{

//If a character comes in from the cellular     module…

if( cell.available() > 0 )

{

//Get the character from the cellular serial port.

incoming_char = cell.read();

//Print the incoming character to the terminal.

Serial.print(incoming_char);

}

//If a character is coming from the terminal to the Arduino…

if( Serial.available() > 0 )

{

incoming_char = Serial.read();//Get the character coming from the terminal

cell.print(incoming_char); //Send the character to the cellular module.

}

}

 

Đoạn mã này chỉ là sự chuyển tiếp thông tin từ GSM shield đến Serial monitor. GSM shield kết nối serial với Arduino ở chân số 2 và chân số 3 việc này sẽ không ảnh hưởng đến cổng serial giữa Arduino và máy tính được mở trên chân số 0 và chân số 1. Chúng tôi thêm thư viện SoftwareSerial.h và mở cổng ảo trên chân 2 và 3 thông qua các dòng lệnh Œ và

Khi tải mã lên Arduino thành công hãy mở cửa sổ Serial monitor và chờ khoảng 30 giây. Bạn sẽ thấy dữ liệu như hình 20-4

Hình 20-4: Ví dụ minh họa tín hiệu xuất ra serial monitor

Bạn hãy chú ý các thông tin được bắt đầu với +SIND vì chúng sẽ nói cho bạn về trạng thái của module GSM và trạng thái kết nối mạng. Nếu thông tin bạn nhận được có dòng +SIND: 4, GSM shield đã hoạt động và kết nối với mạng di động, ngay bây giờ bạn có thể đi đến thực hiện dự án số 63. Tuy nhiên, nếu thông tin bạn nhận được kết thúc với +SIND: 8 tức là module GSM chưa sẵn sàng bạn cần thay đổi tần số sử dụng được mô tả ở phần sau.

THAY ĐỔI TẦN SỐ HOẠT ĐỘNG

Để thay dổi tần số sử dụng của module làm theo các bước sau:

  1. Đóng Arduino IDE và cửa sổ Serial monitor. Sau đó mở phần mềm được dùng ở dự án 48
  2. Chọn cổng COM đã sử dụng trên mạch Arduino lúc nãy và nhấn connect.
  3. Tìm tần số sử dụng của nhà mạng di động được hiển thị trong bảng 20-1 và ghi chú lại số dải tần

Bảng 20-1: dải tần của các module GSM

Frequency Band
GSM 900 MHz 0
DCS 1800 MHz 1
PCS 1900 MHz 2
GSM 850 MHz 3
GSM 900 MHz and DCS 1800 MHz 4
GSM 850 MHz and GSM 900 MHz 5
GSM 850 MHz and DCS 1800 MHz 6
GSM 850 MHz and PCS 1900 MHz 7
GSM 900 MHz and PCS 1900 MHz 8
GSM 850 MHz, GSM 900 MHz, and DCS 1800 MHz 9
GSM 850 MHz, GSM 900 MHz, and PCS 1900 MHz 10

4: Nhập lệnh AT+SBAND? Và nhấn ENTER module sẽ trả lại số dải tần hiện tại. Xem hình 20-5

Hình 20-5: ví dụ về hiển thị dải tần hiện tại

5: Để thiết đặt dải tần được khuyến cáo nhập dòng lệnh AT+SBAND x với x là số dải tần đã chọn từ bảng 20-1. GSM shield sẽ trả lai OK. Xem hình 20-6.

Hình 20-6: Thay đổi dải tần thành công

6: Cuối cùng khởi động lại Arduino và chắc rằng module của bạn đã kết nối được mạng di động và giá trị hiển thị trên serial monitor là SIND: 4, kết nối dây giữa GND và RST pin trên Arduino chờ một lát cho module khởi động lại mã trạng thái phải xuất hiện trên terminal như hình 20-7

Hình 20-7: Module đã hoạt động và kết nối mạng di động

Bạn chỉ cần thay đổi giá trị SBAND một lần vì cài đặt này được lưu trữ trên EEPROM của GSM shield. Tuy nhiên nếu bạn thay đổi nhà mạng di động bạn cần thay đổi lại giá trị SBAND một lần nữa.

Một kiểm tra cuối cùng để chắc chắn: dùng điện thoại di động gọi đến module GSM shield nếu cuộc gọi được thực hiện thì số điện thoại của bạn xuất hiện trong GSM shield output, xem hình 20-8.

Đến đây bạn có thể tự tin rằng mọi thứ hoạt động đúng như mong đợi. Chúng ta cùng đi đến  thực hiện các dự án!

 

Sản phẩm được quan tâm

Nhận bài viết mới

Các bài viết chia sẻ đến cộng đồng rất chât lượng, mang lại rất nhiều kiến thức mới. Đừng bỏ lỡ bất kỳ bài viết nào của chung tối, hãy đăng ký để nhận bài viết mới qua Mail của bạn

Đăng ký để không bỏ lỡ bài viết nào!

Fields marked with an * are required

Danh mục




More from our blog

See all posts
No Comments
 

Leave a Comment