- 29a Bùi Xuân Phái, P.Tây Thạnh, Quận Tân Phú, TPHCM
- linhkienduchuy2018@gmail.com
- 0942954739 - 0919900767
Giao miễn phí trong nội thành TPHCM đối với đơn hàng trên 1 triệu đồng
Tặng ngay 50.000đ cho đơn hàng trên 2 triệu đồng
Module sim800C dùng điều khiển thiết bị hoặc cảnh báo từ xa thông qua mạng di động như gọi điện, nhắn tin, GPRS.
Dễ giao tiếp với các họ vi điều khiển như Pic, 8051, AVR, Arduino…
Module Sim 800C được ứng dụng rộng rãi ngoài thực thế,các phòng thông minh, ngôi nhà thông minh, IOT…
Điều khiển module sử dụng bộ tập lệnh AT dễ dàng và tiêu thụ điện năng nhỏ phù hợp cho các đồ án hoặc dư án cần dùng Pin hoặc Acquy
THÔNG SỐ KĨ THUẬT:
- Điện áp cung cấp : 3.8 – 4.2VDC.
- Dòng điện hoạt động: 2A để đảm bảo trong quá trình khởi động cũng như thực hiện gọi điện hay gửi SMS.
- Điện năng tiêu thụ ở chế độ chờ: 10mA – rất tiết kiệm.
- Hỗ trợ 4 băng tần phổ biến ở Việt Nam,GSM850, EGSM900, DCS1800 và PCS1900, sim mạng nào dùng cũng được.
- Khe cắm sim: chuẩn Micro sim ( sim IP4)
- THỰC HIỆN GỌI VÀ NHẬN CUỘC GỌI (KHI GẮN VỚI LOA VÀ MICRO).
- GỬI VÀ NHẬN TIN NHẮN SMS
+ GỬI VÀ NHẬN DỮ LIỆU GPRS
+ SỬ DỤNG TẬP LỆNH AT COMMAND
+ SỬ DỤNG THẺ MICRO SIM
- Chân VCC: cấp nguồn dương 3.8 - 4.2VDC
- Chân GND: chân âm GND
- RST: chân reset sử dụng khi cần khởi động lại module sim .
- RXD – TXD : giao tiếp chuẩn serial đặc trưng của module sim.
- RING: đổ chuông khi có cuộc gọi đến
- DTR: Chân UART DTR
- SPKP, SPKN: ngõ ra âm thanh, nối với loa để phát âm thanh.
- MICP, MICN: ngõ vao âm thanh, phải gắn thêm Micro để thu âm thanh.
SƠ ĐỒ KẾT NỐI ARDUINO VỚI SIM800
NHẬP CÁC LỆNH TRÊN SERIAL MONITOR
#include <SoftwareSerial.h>
#define SIM800_TX 2
#define SIM800_RX 3
SoftwareSerial sim800l(SIM800_TX, SIM800_RX);
void setup() {
Serial.begin(9600); // Serial Monitor
sim800l.begin(9600); // Module SIM800L
Serial.println("SIM800L Serial Command Test");
Serial.println("Commands: CALL <number>, END, SMS <number> <message>");
delay(1000);
sim800l.println("AT");
delay(1000);
if (sim800l.available()) {
String response = sim800l.readString();
Serial.println("Module Response: " + response);
} else {
Serial.println("No response from SIM800L");
}
}
void loop() {
if (Serial.available()) {
String input = Serial.readStringUntil('\n'); // Đọc lệnh từ Serial Monitor
input.trim(); // Xóa khoảng trắng đầu/cuối
processCommand(input); // Xử lý lệnh
}
}
// Hàm xử lý lệnh từ Serial Monitor
void processCommand(String command) {
if (command.startsWith("CALL ")) {
String number = command.substring(5);
makeCall(number);
} else if (command == "END") {
hangUp();
} else if (command.startsWith("SMS ")) {
int firstSpace = command.indexOf(' ', 4);
if (firstSpace != -1) {
String number = command.substring(4, firstSpace);
String message = command.substring(firstSpace + 1);
sendSMS(number, message);
} else {
Serial.println("Invalid SMS command. Format: SMS <number> <message>");
}
} else {
Serial.println("Unknown command. Use: CALL, END, or SMS.");
}
}
// Hàm gửi tin nhắn SMS
void sendSMS(String phoneNumber, String message) {
Serial.println("Sending SMS...");
sim800l.println("AT+CMGF=1"); // Chuyển sang chế độ text
delay(1000);
sim800l.print("AT+CMGS=\""); // Bắt đầu gửi tin nhắn
sim800l.print(phoneNumber); // Số điện thoại
sim800l.println("\"");
delay(1000);
sim800l.print(message); // Nội dung tin nhắn
delay(1000);
sim800l.write(26); // Gửi mã CTRL+Z để kết thúc
delay(5000);
if (sim800l.available()) {
String response = sim800l.readString();
Serial.println("Response: " + response);
}
}
// Hàm thực hiện cuộc gọi
void makeCall(String phoneNumber) {
Serial.println("Making call...");
sim800l.print("ATD");
sim800l.print(phoneNumber);
sim800l.println(";");
delay(1000);
}
// Hàm kết thúc cuộc gọi
void hangUp() {
Serial.println("Hanging up...");
sim800l.println("ATH");
delay(1000);
}
Bình luận