Điều khiển thiết bị bằng cuộc gọi với SIM800L và Arduino
vào
29 Apr, 2020
Chuẩn bị phần cứng:
- 1 x Arduino Uno Or Nano
- 1 led.
- 1 Module Sim800l.
- Dây cắm test board.
- 1 Mạch ổn áp L596.
- Nguồn adapter or pin (9 - 12)Vdc, 2A.
- 1 thẻ Sim đã đăng kí.
Lắp mạch:
Lập trình:
Trước hết ta phải tải thư viện sim900 về để cài vào IDE ( thư viện này dùng được cho sim800l)
Dowload thư viện theo link sau ( các bạn copy link dưới nhé )
Khi nhấn nút "Tải Về Máy", bạn sẽ vào trang quảng cáo, vui lòng chờ 5 giây. Nút hiện ra ở góc phải phía trên, nhấn vào để đến trang download
//CODE
#include "SIM900.h"
#include <SoftwareSerial.h>
char inchar;
SoftwareSerial SIM900(3, 2);// 3 -Tx, 2-Rx 11 12
int onoff=1; // 0 = off, 1 = on
void setup()
{
Serial.begin(9600);//19200
// set up the digital pins to control
pinMode(9, OUTPUT);
pinMode(13, OUTPUT); // LEDs - off = red, on = green
digitalWrite(9, HIGH);
digitalWrite(13, LOW);
#include <SoftwareSerial.h>
char inchar;
SoftwareSerial SIM900(3, 2);// 3 -Tx, 2-Rx 11 12
int onoff=1; // 0 = off, 1 = on
void setup()
{
Serial.begin(9600);//19200
// set up the digital pins to control
pinMode(9, OUTPUT);
pinMode(13, OUTPUT); // LEDs - off = red, on = green
digitalWrite(9, HIGH);
digitalWrite(13, LOW);
SIM900.begin(9600);//19200
delay(2000); // give time to log on to network.
SIM900.print("AT+CLIP=1\r");
delay(100);
}
void doSomething()
{
if (onoff==0)
{
onoff=1;
digitalWrite(9, HIGH);
digitalWrite(13, LOW);
Serial.println("D12 high D13 low");
}
else
if (onoff==1)
{
onoff=0;
digitalWrite(9, LOW);
digitalWrite(13, HIGH);
Serial.println("D12 low D13 high");
}
}
void loop()
{
if(SIM900.available() >0)
{
inchar=SIM900.read(); // Ví dụ với số điện thoại 0902121212
if (inchar=='0')
{
delay(10);
inchar=SIM900.read();
if (inchar=='9')
{
delay(10);
inchar=SIM900.read();
if (inchar=='0')
{
delay(10);
inchar=SIM900.read();
if (inchar=='2')
{
delay(10);
inchar=SIM900.read();
if (inchar=='1')
{
delay(10);
inchar=SIM900.read();
if (inchar=='2')
{
delay(10);
inchar=SIM900.read();
if (inchar=='1')
{
delay(10);
inchar=SIM900.read();
if (inchar=='2')
{
delay(10);
inchar=SIM900.read();
if (inchar=='1')
{
delay(10);
inchar=SIM900.read();
if (inchar=='2')
{
Serial.println("do sometehing");
delay(10);
doSomething();
delay(6000);
}
}
}
}
}
}
}
}
}
}
}
}
delay(2000); // give time to log on to network.
SIM900.print("AT+CLIP=1\r");
delay(100);
}
void doSomething()
{
if (onoff==0)
{
onoff=1;
digitalWrite(9, HIGH);
digitalWrite(13, LOW);
Serial.println("D12 high D13 low");
}
else
if (onoff==1)
{
onoff=0;
digitalWrite(9, LOW);
digitalWrite(13, HIGH);
Serial.println("D12 low D13 high");
}
}
void loop()
{
if(SIM900.available() >0)
{
inchar=SIM900.read(); // Ví dụ với số điện thoại 0902121212
if (inchar=='0')
{
delay(10);
inchar=SIM900.read();
if (inchar=='9')
{
delay(10);
inchar=SIM900.read();
if (inchar=='0')
{
delay(10);
inchar=SIM900.read();
if (inchar=='2')
{
delay(10);
inchar=SIM900.read();
if (inchar=='1')
{
delay(10);
inchar=SIM900.read();
if (inchar=='2')
{
delay(10);
inchar=SIM900.read();
if (inchar=='1')
{
delay(10);
inchar=SIM900.read();
if (inchar=='2')
{
delay(10);
inchar=SIM900.read();
if (inchar=='1')
{
delay(10);
inchar=SIM900.read();
if (inchar=='2')
{
Serial.println("do sometehing");
delay(10);
doSomething();
delay(6000);
}
}
}
}
}
}
}
}
}
}
}
}
Hình ảnh thực tế:
Chúc các bạn thành công!!!!
Download miễn phí file code đừng quên Subcribed bên dưới ủng hộ nhé:Link code chương trình: Hãy nhấn LIKE, SUBCRIBED theo dõi kênh rồi hãy download code nhé mọi người!
------------------------------------------------------------------------------------
DV1 - Nhận vẽ mạch thuê ONLINE Altium Designer/ Orcad 9.2/ Protues nhanh trong ngày
DV2 - Kênh youtube chia sẻ kiến thức điện tử thực hành ngay
DV3 - Kênh cộng đồng Facebook Điện Tử ChipKool