Điều khiển thiết bị bằng cuộc gọi với SIM800L và Arduino
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é )
https://drive.google.com/open?id=1lerzu2THh-SPmpck7vFxNyTm376ehF1_
//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);
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);
}
}
}
}
}
}
}
}
}
}
}
}
Hình ảnh thực tế:
Chúc các bạn thành công!!!!
Bình luận(1)