Mạch GSM GPRS Sim800A được phát triển từ module sim 900A tích hợp nguồn xung và ic đệm được thiết kế cho các ứng dụng cần độ bền và độ ổn định cao.
Mạch GSM GPRS Sim800A được phát triển từ module sim 900A tích hợp nguồn xung và ic đệm được thiết kế cho các ứng dụng cần độ bền và độ ổn định cao.
Module GSM GPRS Sim800A
THÔNG SỐ KỸ THUẬT MẠCH GSM GPRS Sim800A
Thứ tự các chân:
Header 1:
Header 2:
Dụng cụ:
Phần mềm:
Link cài driver cp2102: https://drive.google.com/file/d/1GzW76cb2FZScGXKhsuXWyVeR4uZwlvy_/view
Link tải phần mềm tập lệnh: https://www.hw-group.com/software/hercules-setup-utility
Sơ đồ kết nối:
kết nối máy tính với module sim
Tập lệnh: Tập lệnh đầy đủ: https://cdn-shop.adafruit.com/datasheets/sim800_series_at_command_manual_v1.01.pdf
Tập lệnh cơ bản:
Lệnh: AT<CR><LF>
Trả lời: OK
Mô tả : Kiểm tra đáp ứng , nếu trả về OK thì Module hoạt động
Lệnh: AT+IPR=[baud rate]<CR><LF>
Trả lời: OK
Mô tả : cài đặt tốc độ giao tiếp dữ liệu với module Sim800A, chỉ cài được các tốc độ sau
baud rate : 0 (auto), 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200
Test tập lệnh cơ bản với module sim
2. Lệnh thực hiện cuộc gọi:
Lệnh: ATD[Số_điện_thoại];<CR><LF>
Trả lời: OK
Mô tả : Lệnh thực hiện cuộc gọi
Lệnh: ATH<CR><LF>
Trả lời: OK
Mô tả : Lệnh cúp máy
Lệnh: ATA<CR><LF>
Trả lời: OK
Mô tả : Lệnh thực hiện chấp nhận cuộc gọi
Test tập lệnh thực hiện cuộc gọi
Nếu muốn hiển thị thông tin người gọi đến các bạn thực hiên thêm lệnh sau
Lệnh: AT+CLIP=1<CR><LF>
Trả lời: OK
3. Lệnh điều khiển tin nhắn
Lệnh: AT+CMGF=1<CR><LF>
Trả lời: OK
Mô tả : Lệnh đưa SMS về chế độ Text , phải có lệnh này mới gửi nhận tin nhắn dạng Text
Cấu trúc gửi tin nhắn
Lệnh: AT+CMGS=”Số_điện _thoại”<CR><LF>
Đợi đến khi có ký tự ‘>’ được gửi về
Gửi nội dụng tin nhắn : “NSHOP”
Gửi mã Ctrl+Z hay 0x1A để kết thúc nội dung và gửi tin nhắn
Trả lời : OK
test tập lệnh nhắn tin
Chú ý: sau mỗi lệnh các bạn thường thấy thực chất nó là hai mã điều khiển
tương ứng 0x0D(hexa)
tương ứng 0x0A(hexa)
Các bạn chỉ cần nhấn enter là có thể gửi
Sơ đồ đấu
Kết nối module sim với arduino để test
Code test
#include "SIM900.h"#include <SoftwareSerial.h>SoftwareSerial SIM900(10, 11);String number1 = "0332177764";// nhap sdt vào đâyvoid setup(){Serial.begin(9600);SIM900.begin(9600);//19200delay(2000); // give time to log on to network. SIM900.print("AT+CLIP=1\r"); // test delay(1000); SIM900.println("AT"); }void loop() { // nhấn 1 để gọi, nhấn 2 để gửi tin nhắn if(Serial.available() >0) switch (Serial.read()) { case '1': Serial.println("dang goi"); call(); break; case '2': Serial.println("dang nhan tin"); message(); break;} }//////////////////////////////////////////////////////void call(){ //cú pháp gọi: ATD 0332177764 ;\r\n SIM900.print (F("ATD")); SIM900.print (number1); SIM900.print (F(";\r\n")); }//////////////////////////////////////////////////////void message(){ // cách gửi tin nhắn B1: AT+CMGF=1 >>> OK /////////////////////B2: AT+CMGS="0332177764" >>> TRA VE > >>> NHAP TIN NHAN >>> CTRL + Z de gui SIM900.println("AT+CMGF=1"); delay(1000); //Serial.println ("Set SMS Number"); SIM900.println("AT+CMGS=\"" + number1 + "\"\r"); delay(1000); String SMS = "NSHOP"; SIM900.println(SMS); delay(100); SIM900.println((char)26);// ASCII code of CTRL+Z delay(1000); }
– Ứng dụng điều khiển từ xa 4 trong 1 bao gồm
Trong đó 2 ứng dụng đầu dành cho những người ko rành về công nghệ, ứng dụng 3 nhanh gọn phạm vi thấp
ứng dụng 4 tiện lợi giành cho những người biết xài smartphone
Phần cứng cần thiết:
1 x Công tắc thông minh wifi Tuya 16A điều khiển từ xa
1 x Mạch GSM GPRS Sim800A (SIM900A Update)
1 x Arduino Nano V3.0 ATmega328P
1 x Module nguồn 5V 2A Loại 2A
1 x Mạch thu sóng RF 433Mhz học lệnh
1 x Module 1 Relay Với Opto Cách Ly Kích H/L (5VDC)
1 x Contactor
1 x Relay nhiệt https://nshopvn.com/product/relay-nhiet-chint-nxr-25-cho-contactor-nxc/?variant=74448
1 x Mạch chống nhiễu điện từ, bảo vệ tiếp điểm LC Technology
Nguyên lý hoạt động
Sơ đồ mạch điều khiển
Sơ đồ mạch điều khiển phần 1Sơ đồ mạch điều khiển phần 2
Sơ đồ mạch Động lực
Sơ đồ mạch động lực
Code nạp vào arduino nano
#include "SIM900.h"#include <SoftwareSerial.h>char incomingByte; String inputString; char inchar;SoftwareSerial SIM900(3, 4);// 3-Tx, 4-Rx 11 12int relay = 12;String number1 = "0378078760";// nhap sdt vào đâyString number2 = "0909951121";void setup(){Serial.begin(9600);SIM900.begin(9600);//19200pinMode(relay, OUTPUT); // relaypinMode(8, OUTPUT); // den báo kết nối sim + arduinodigitalWrite(relay, LOW);digitalWrite(8, LOW);delay(2000); // give time to log on to network. SIM900.print("AT+CLIP=1\r"); delay(1000); SIM900.println("AT"); delay(1000); Serial.println("Connecting..."); // kết nối //} Serial.println("Connected!"); SIM900.println("AT+CMGF=1"); // khởi động chức năng SMS delay(1000); SIM900.println("AT+CNMI=1,2,0,0,0"); delay(1000); SIM900.println("AT+CMGL=\"REC UNREAD\""); if(SIM900.available() >0)// kiểm tra xem đã kết nối với arduino chưa { if (inputString.indexOf("OK") == -1){ digitalWrite(8,HIGH); } else{ digitalWrite(8,LOW); } inputString = ""; } }void loop() {if(SIM900.available() >0){delay(100); // Serial Buffer while(SIM900.available()){ incomingByte = SIM900.read(); inchar = incomingByte; inputString += incomingByte; } delay(10); Serial.println(inputString); inputString.toUpperCase(); if ((inputString.indexOf("OFF") > -1) ){ //thay tin nhắn tắt chỗ indexOf("ON")// nhan tin digitalWrite(relay,HIGH); delay(5000); digitalWrite(relay, LOW); } if ((inputString.indexOf("ON") > -1)){// thay tin nhắn bật chỗ indexOf("OFF") // nhan tin digitalWrite(relay,HIGH); delay(5000); digitalWrite(relay, LOW); } if ( (inputString.indexOf(number1) > -1)||(inputString.indexOf(number2) > -1)) // Goi dien { doSomething(); } //Delete Messages if (inputString.indexOf("OK") == -1){ SIM900.println("AT+CMGDA=\"DEL ALL\""); delay(1000);} inputString = ""; delay(1000); }//while(SIM900.available()){ }///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void doSomething(){ delay(2000); SIM900.println("ATH"); // thực hiện lệnh cúp máy digitalWrite(relay,HIGH); delay(5000); digitalWrite(relay, LOW); }///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////void message(){ // cách gửi tin nhắn B1: AT+CMGF=1 >>> OK /////////////////////B2: AT+CMGS="0332177764" >>> TRA VE > >>> NHAP TIN NHAN >>> CTRL + Z de gui SIM900.println("AT+CMGF=1"); delay(1000); //Serial.println ("Set SMS Number"); SIM900.println("AT+CMGS=\"" + number1 + "\"\r"); delay(1000); String SMS = "da bat may bom"; SIM900.println(SMS); delay(100); SIM900.println((char)26);// ASCII code of CTRL+Z delay(1000); }
Video test thực tế
đang cập nhật