Điều khiển thiết bị bằng cuộc gọi với SIM800L và Arduino

Bởi nguyenthanhphi (18/04/2019) 0 Bình luận

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!!!!

Đóng góp ý kiến