Агуулгын хүснэгт:

Arduino -той утасны аюулгүй байдлын систем: 5 алхам
Arduino -той утасны аюулгүй байдлын систем: 5 алхам

Видео: Arduino -той утасны аюулгүй байдлын систем: 5 алхам

Видео: Arduino -той утасны аюулгүй байдлын систем: 5 алхам
Видео: Factory Hard Reset Nokia 6110 - Chameleon 2024, Арваннэгдүгээр
Anonim
Arduino -той утасны аюулгүй байдлын систем
Arduino -той утасны аюулгүй байдлын систем

Хэрэв та энэ төслийг хэрэгжүүлэхгүй бол таны байшин хамгаалалтгүй болно. Энэхүү төсөл нь танай гэрт халдагч орж ирэхэд гар утсаараа дохиолол өгөхөд туслах болно.

Ингэснээр хэрэв та энэ төслийг ашиглавал гар утсаараа SMS хүлээн авах бөгөөд халдлага гарсан тохиолдолд байшингаа хамгаалах боломжтой болно.

Үүний тулд бид SIM800L модуль болон PIR мэдрэгч бүхий Arduino -тэй нийцтэй самбарыг ашиглах болно. PIR мэдрэгч нь халдагч байгаа эсэхийг илрүүлэх үүрэгтэй бөгөөд SIM800L нь гэрийн эзэнд анхааруулах SMS илгээх үүрэгтэй.

Хангамж

  • Arduino -тэй нийцтэй самбар
  • PIR мэдрэгч
  • 10 кР эсэргүүцэл
  • Үсрэгчид
  • Protoboard
  • SIM800L модуль

Алхам 1: Төслийн зүрх

Төслийн зүрх нь SIM800L модуль юм. Энэ модуль нь Arduino командыг хүлээн авч хэрэглэгчийн гар утас руу SMS илгээх боломжтой болно. Ийм байдлаар хэрэглэгч сэрэмжлүүлгийг хүлээн авахдаа цагдаа дуудах эсвэл өөр төрлийн үйлдэл хийх боломжтой болно.

Arduino Compatible Board нь мэдрэгчийн төлөв байдлыг шалгах үүрэгтэй бөгөөд дараа нь халдагч байгаа эсэхийг анзаарсан тохиолдолд хэрэглэгчдэд анхааруулах мессеж илгээх болно.

Энэ процесс нь Arduino болон SIM800L модулийн хоорондох хяналтын командын ачаар хийгддэг. Тиймээс үүнээс эхлэн бид танд энэхүү системийг бүтээх, танай гэрийг хамгаалалттай үлдээх, ямар ч халдагч халдлагад өртөх бүрт танд анхааруулах алхам алхмаар танилцуулах болно.

Хэрэв та Arduino Compatible Board -ийг татаж авахыг хүсвэл энэ линкээр орж, JLCPCB дээрээс өөрийн самбарыг худалдаж авах файлуудыг авах боломжтой.

Одоо эхэлцгээе!

Алхам 2: Төслийн электрон хэлхээ ба програмчлал

Төслийн электрон хэлхээ ба програмчлал
Төслийн электрон хэлхээ ба програмчлал
Төслийн электрон хэлхээ ба програмчлал
Төслийн электрон хэлхээ ба програмчлал

Нэгдүгээрт, бид цахим хэлхээг ашиглах боломжтой болгож, төслийн кодыг алхам алхамаар танд зориулан хэлэлцэх болно.

#Include SoftwareSerial chip (10, 11);

Мөр SeuNumero = "+5585988004783";

#мэдрэгчийг тодорхойлох 12

bool ValorAtual = 0, ValorAnterior = 0;

хүчингүй тохиргоо ()

{Serial.begin (9600); Serial.println ("Inicializando Systema …"); саатал (5000); chip.begin (9600); саатал (1000);

pinMode (мэдрэгч, оролт); // Entrada -ийн мэдрэгчийг тохируулах

}

хоосон давталт ()

{// Le o valor do pino do sensor ValorAtual = digitalRead (мэдрэгч);

хэрэв (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert; ValorAnterior = 1; }

хэрэв (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude (); ValorAnterior = 0; }

}

хүчин төгөлдөр бус IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa

{chip.println ("AT+CMGF = 1"); саатал (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); саатал (1000); String SMS = "Оруулах дохио!"; chip.println (SMS); саатал (100); chip.println ((char) 26); саатал (1000); }

хүчингүй NoMoreIntrude () // Funcao enviar mensagem de alerta Umidade Normal

{chip.println ("AT+CMGF = 1"); саатал (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); саатал (1000); String SMS = "Дахин нэвтрэх шаардлагагүй!"; chip.println (SMS); саатал (100); chip.println ((char) 26); саатал (1000); }

Доор үзүүлсэн кодонд бид доор харуулсны дагуу SoftwareSerial.h цуваа холбооны номын санг анх зарласан.

#оруулах

Номын санг тодорхойлсны дараа Tx ба Rx холбооны зүүг тодорхойлов. Эдгээр тээглүүрүүд нь өөр зүү бөгөөд бусад Arduino зүү дээр цуваа холболт хийх боломжийг олгодог. SoftwareSerial номын санг програм хангамжийг ашиглан функцийг хуулбарлах зорилгоор боловсруулсан болно

SoftwareSerial chip (10, 11);

Үүний дараа зарласан гар утасны дугаарыг доор харуулав.

Мөр SeuNumero = "+5585988004783";

Цахим дизайны схем нь энгийн бөгөөд угсрахад хялбар байдаг. Таны харж байгаагаар Arduino Compatible Board нь мэдрэгчийн статусыг уншиж, дараа нь гэрийн эзэнд SMS илгээх үүрэгтэй.

Байшин дотор халдагч илэрсэн тохиолдолд мессеж илгээх болно. PIR (Passive Infra Red) мэдрэгч нь хэт улаан туяаны дохиогоос хөдөлгөөнийг илрүүлэх зориулалттай мэдрэгч юм. Arduino руу илгээсэн дохионоос SIM800L модуль нь хэрэглэгч рүү мессеж илгээх болно.

SIM800L модулийг нийлүүлэх хүчдэлийн уналтыг хангахын тулд диодыг ашиглах болно. Учир нь модулийг 5В хүчээр тэжээх боломжгүй. Ийнхүү 4.3V хүчдэл таны модулийг тэжээж, найдвартай ажиллаж байгааг баталгаажуулах болно.

Алхам 3: Void Setup () функц

Хоосон тохиргооны функц дээр бид цуваа холболтыг эхлүүлж, мэдрэгчийн зүүг оролт болгон тохируулна. Кодын бүсийг доор харуулав.

хүчингүй тохиргоо ()

{

Цуваа эхлэх (9600); Serial.println ("Inicializando Sistema …"); саатал (5000); chip.begin (9600); саатал (1000); pinMode (мэдрэгч, оролт); // Entrada командын мэдрэгчийг тохируулах

Эндээс харахад хоёр цуваа холболтыг эхлүүлсэн. Serial.begin нь Arduino -ийн уугуул цувралыг эхлүүлэхэд хэрэглэгддэг бөгөөд chip.begin нь SoftwareSerial номын сангаар дууриасан цуваа юм. Үүний дараа бид void loop функцийг хийх болно.

Алхам 4: Төсөл ба хоосон давталтын функц

Төсөл ба хоосон давталтын функц
Төсөл ба хоосон давталтын функц
Төсөл ба хоосон давталтын функц
Төсөл ба хоосон давталтын функц

Одоо бид void loop функцын програмчлалын үндсэн логикийг танилцуулах болно.

void loop () {// Le o valor do pino do sensor ValorAtual = digitalRead (мэдрэгч);

хэрэв (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert ();

ValorAnterior = 1;

}

хэрэв (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Нэгдүгээрт, PIR орших мэдрэгчийн дохиог доор үзүүлсэн шиг унших болно.

ValorAtual = digitalRead (мэдрэгч);

Үүний дараа доор үзүүлсэн шиг ValorAtual хувьсагчийн утга 1 эсвэл 0 байвал үүнийг шалгах болно.

if (ValorAtual == 1 && ValorAnterior == 0) {IntrudeAlert ();

ValorAnterior = 1;

} if (ValorAtual == 0 && ValorAnterior == 0) {NoMoreIntrude ();

ValorAnterior = 0;

}

ValorAtual хувьсагчийг 1 гэж, ValorAnterior хувьсагчийг 0 гэж үзвэл мэдрэгчийг идэвхжүүлж, урдаас нь идэвхгүй болгоно (ValorAnterior == 0). Ийм байдлаар функцийг гүйцэтгэх бөгөөд хэрэглэгч таны гар утсанд мессеж хүлээн авах болно. Үүний дараа ValorAnterior хувьсагчийн утга 1 -тэй тэнцүү болно.

Ийм байдлаар ValorAnterior хувьсагч нь мэдрэгчийн бодит төлөвийг ажиллуулах дохио өгөх болно.

Одоо ValorAtual хувьсагчийн утга 0, ValorAnterior хувьсагчийн утга 0 -тэй тэнцүү байвал мэдрэгч нь халдлагыг илрүүлээгүй бөгөөд дараа нь түүний утгыг идэвхжүүлнэ.

Ийм байдлаар систем нь хэрэглэгчийн гар утсанд мессеж илгээх бөгөөд мэдрэгчийн бодит утгыг 0 болгож шинэчлэх болно. Энэ утга нь мэдрэгч одоогоор асахгүй байгааг илтгэнэ.

Хэрэглэгчид илгээсэн мессежүүдийг дээр харуулав.

Одоо бид хэрэглэгчийн гар утсанд мессеж илгээх функцийг хэрхэн яаж хийхийг сурах болно.

Алхам 5: Мессеж илгээх функцууд

Энэ системд хоёр функц байдаг. Эдгээр нь ижил бүтэцтэй функцууд юм. Тэдний хоорондох ялгаа нь нэр, илгээсэн мессеж хоёрт байгаа боловч үүнийг шинжлэхэд тэдгээр нь яг адилхан болохыг бид харах болно.

Дараа нь бид функцын бүрэн бүтцийг танилцуулж, кодыг хэлэлцэх болно.

хүчин төгөлдөр бус IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); саатал (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); саатал (1000); String SMS = "Нээгдсэн хаалга!"; chip.println (SMS); саатал (100); chip.println ((char) 26); саатал (1000); }

хүчингүй NoMoreIntrude () // Funcao enviar mensagem de alerta Umidade Normal

{chip.println ("AT+CMGF = 1"); саатал (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); саатал (1000); String SMS = "Хаалттай хаалга!"; chip.println (SMS); саатал (100); chip.println ((char) 26); саатал (1000); }

SIM800L модуль нь AT командыг ашиглан өөрийн үйл ажиллагааг хянадаг. Тиймээс эдгээр тушаалуудыг ашиглан бид хэрэглэгчийн гар утсанд мессеж илгээх болно.

AT+CGMF = 1 нь SMS Текст горимд ажиллах модулийг тохируулахад хэрэглэгддэг. Хойшлуулсны дараа систем дараах тушаалыг ашиглан хэрэглэгчдэд мессеж илгээх болно.

chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r");

SIM800L модулийг SeuNumero мөрөнд бүртгэгдсэн гар утасны дугаар руу мессеж илгээхэд бэлэн болно. Үүний дараа систем нь зурвасыг мөрөнд ачаалж, доор үзүүлсэн шиг хэрэглэгчийн гар утсыг илгээх болно.

String SMS = "Хаалттай хаалга!"; chip.println (SMS); саатал (100); chip.println ((char) 26); саатал (1000);

Char (26) нь мессежийн төгсгөлд дохио өгөхөд ашиглагддаг. Энэхүү ажлын процесс нь хэрэглэгчдэд мессеж илгээх хоёр функцтэй төстэй юм.

Талархал

Одоо бид энэ ажлыг гүйцэтгэхэд JLCPCB -ийн дэмжлэг үзүүлж байгаад талархаж байгаа бөгөөд хэрэв та сонирхож байвал дараах линкээр орж Arduino -той нийцтэй самбарыг татаж аваарай.

Зөвлөмж болгож буй: