Cov txheej txheem:

Xov Tooj Ruaj Ntseg Nrog Arduino: 5 Kauj Ruam
Xov Tooj Ruaj Ntseg Nrog Arduino: 5 Kauj Ruam

Video: Xov Tooj Ruaj Ntseg Nrog Arduino: 5 Kauj Ruam

Video: Xov Tooj Ruaj Ntseg Nrog Arduino: 5 Kauj Ruam
Video: 🤞8 YAM COV NEEG TXAWJ NTSE ZAM TSIS UA YOG DAB TSI?🚫 2024, Kaum ib hlis
Anonim
Xov Tooj Ruaj Ntseg Nrog Arduino
Xov Tooj Ruaj Ntseg Nrog Arduino

Koj lub tsev yuav tsis muaj kev tiv thaiv yog tias koj tsis ua txoj haujlwm no. Txoj haujlwm no yuav pab koj ua lub tswb nrov ntawm lub xov tooj ntawm tes thaum muaj kev nkag mus rau hauv koj lub tsev.

Txoj kev ntawd, yog tias koj siv txoj haujlwm no, koj yuav tau txais SMS ntawm lub xov tooj ntawm tes thiab yuav tuaj yeem tiv thaiv koj lub tsev thaum muaj kev cuam tshuam.

Txog qhov no, peb yuav siv Arduino Compatible Board nrog SIM800L Module thiab PIR Sensor. Lub PIR sensor yuav yog lub luag haujlwm txhawm rau txheeb xyuas pom muaj tus neeg nkag nkag thiab SIM800L yuav yog lub luag haujlwm xa SMS ceeb toom rau tus tswv tsev.

Khoom siv

  • Arduino Compatible Board
  • Sensor PIR Cov
  • Kev tiv thaiv 10kR
  • Cov neeg dhia
  • Protoboard
  • SIM800L Module

Kauj Ruam 1: Lub Plawv ntawm Txoj Haujlwm

Lub plawv ntawm txoj haujlwm yog SIM800L module. Tus qauv no yuav tuaj yeem tau txais Arduino cov lus txib thiab xa SMS mus rau tus neeg siv lub xov tooj ntawm tes. Txoj kev ntawd, thaum tus neeg siv tau txais kev ceeb toom, nws tuaj yeem hu rau tub ceev xwm lossis ua lwm yam kev nqis tes ua.

Arduino Compatible Board yuav muaj lub luag haujlwm los tshuaj xyuas lub xeev ntawm lub sensor thiab tom qab ntawv yuav xa xov ceeb toom rau tus neeg siv yog tias nws pom tias muaj tus neeg nkag mus.

Cov txheej txheem no tau ua tiav los ntawm kev tswj hwm cov lus txib ntawm Arduino thiab SIM800L Module. Yog li ntawd, los ntawm qhov ntawd, peb yuav qhia koj ib qib zuj zus rau koj los tsim cov kab ke no, tawm hauv koj lub tsev tiv thaiv thiab ceeb toom koj thaum twg muaj tus neeg nkag mus rau nws.

Yog tias koj xav rub tawm Arduino Compatible Board, koj tuaj yeem nkag mus rau qhov txuas no thiab tau txais cov ntaub ntawv los yuav koj cov laug cam ntawm JLCPCB.

Tam sim no, cia peb pib!

Kauj Ruam 2: Txoj Haujlwm Hluav Taws Xob Hluav Taws Xob thiab Kev Ua Haujlwm

Qhov Project Electronic Circuit thiab Programming
Qhov Project Electronic Circuit thiab Programming
Qhov Project Electronic Circuit thiab Programming
Qhov Project Electronic Circuit thiab Programming

Ua ntej, peb yuav ua kom muaj hluav taws xob siv hluav taws xob thiab tom qab ntawd peb yuav tham txog txoj haujlwm txoj cai ib kauj ruam rau koj.

#suav nrog SoftwareSerial nti (10, 11);

Txoj hlua SeuNumero = "+5585988004783";

#feem sensor 12

bool ValorAtual = 0, ValorAnterior = 0;

void teeb tsa ()

{Serial.begin (9600); Serial.println ("Txheej Txheem Txheej Txheem …"); ncua (5000); chip.begin (9600); ncua (1000);

pinMode (sensor, INPUT); // Configura o Pino ua Sensor como Entrada

}

void lub voj ()

{// Le o valor do pino do sensor ValorAtual = digitalRead (sensor);

yog (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert; ValorAnterior = 1; }

yog (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude (); ValorAnterior = 0; }

}

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa

{chip.println ("AT+CMGF = 1"); ncua (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); ncua (1000); Txoj hlua SMS = "Kev ceeb toom cuam tshuam!"; chip.println (SMS); ncua (100); chip.println ((char) 26); ncua (1000); }

tsis muaj dabtsis NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal

{chip.println ("AT+CMGF = 1"); ncua (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); ncua (1000); Txoj hlua SMS = "Tsis Muaj Kev Nkag Siab!"; chip.println (SMS); ncua (100); chip.println ((char) 26); ncua (1000); }

Hauv cov cai hauv qab no, peb tau tshaj tawm thawj lub tsev qiv ntawv sib txuas lus SoftwareSerial.h, raws li qhia hauv qab no.

#suav nrog

Tom qab txheeb xyuas lub tsev qiv ntawv, kev sib txuas pins Tx thiab Rx tau txhais. Cov pins no yog lwm tus pin thiab siv los tso cai sib txuas lus ntawm lwm tus Arduino pins. Lub tsev qiv ntawv SoftwareSerial tau tsim los tso cai rau koj siv lub software los hloov pauv kev ua haujlwm

SoftwareSerial nti (10, 11);

Tom qab qhov no, tus lej xov tooj ntawm tes tau tshaj tawm tau qhia hauv qab no.

Txoj hlua SeuNumero = "+5585988004783";

Cov txheej txheem tsim hluav taws xob tau yooj yim thiab yooj yim rau sib sau ua ke. Raws li koj tuaj yeem pom ntawm Circuit Court, Arduino Compatible Board yog lub luag haujlwm nyeem cov xwm txheej sensor thiab tom qab ntawd xa SMS mus rau tus tswv tsev.

Cov lus yuav xa yog tias pom tus neeg nkag sab hauv tsev. PIR (Passive Infra Red) Sensor yog lub ntsuas cua siv los ntsuas qhov txav ntawm lub teeb liab infrared. Los ntawm lub teeb liab xa mus rau Arduino, SIM800L tus qauv yuav xa lus mus rau tus neeg siv.

Lub Diode yuav raug siv los muab qhov ntsuas hluav taws xob tso rau SIM800L tus qauv. Txij li cov qauv tsis tuaj yeem siv nrog 5V. Txoj hauv kev no, qhov hluav taws xob ntawm 4.3V yuav los txog rau lub zog ntawm koj tus qauv thiab xyuas kom nws ua haujlwm nyab xeeb.

Kauj Ruam 3: Lub Void Setup () Function

Hauv qhov tsis muaj teeb meem teeb tsa kev ua haujlwm, peb yuav pib ua kev sib txuas lus txuas thiab teeb tsa tus pin tus pin raws li kev nkag. Cheeb tsam ntawm txoj cai tau nthuav tawm hauv qab no.

void teeb tsa ()

{

Serial.begin (9600); Serial.println ("Inicializando Sistema …"); ncua (5000); chip.begin (9600); ncua (1000); pinMode (sensor, INPUT); // Configura o Pino ua Sensor como Entrada}

Raws li tuaj yeem pom, ob txoj kev sib txuas lus tau pib ua ntej. Cov Serial.begin tau siv los pib ua ib txwm muaj npe ntawm Arduino thiab cov chip.begin yog cov lej ua los ntawm SoftwareSerial lub tsev qiv ntawv. Tom qab qhov no, peb yuav rau qhov tsis muaj dab tsi ua haujlwm voj.

Kauj Ruam 4: Txoj Haujlwm thiab Void Loop Function

Txoj Haujlwm thiab Void Loop Function
Txoj Haujlwm thiab Void Loop Function
Txoj Haujlwm thiab Void Loop Function
Txoj Haujlwm thiab Void Loop Function

Tam sim no, peb yuav nthuav tawm cov laj thawj tseem ceeb ntawm kev ua haujlwm hauv qhov tsis muaj dab tsi ua haujlwm.

void loop () {// Le o valor do pino do sensor ValorAtual = digitalRead (sensor);

yog (ValorAtual == 1 && ValorAnterior == 0)

{IntrudeAlert ();

ValorAnterior = 1;

}

yog (ValorAtual == 0 && ValorAnterior == 1)

{NoMoreIntrude ();

ValorAnterior = 0;

}

}

Ua ntej, lub teeb liab los ntawm PIR qhov ntsuas pom yuav raug nyeem raws li tau qhia hauv qab no.

ValorAtual = digitalRead (sensor);

Tom qab qhov no, nws yuav raug txheeb xyuas yog tias tus nqi sib txawv ValorAtual nws yog 1 lossis 0, raws li qhia hauv qab no.

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

ValorAnterior = 1;

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

ValorAnterior = 0;

}

Case qhov sib txawv ValorAtual nws yog 1 thiab qhov hloov pauv ValorAnterior nws yog 0, lub sensor tau ua kom raug thiab ua ntej nws tau deactivated (ValorAnterior == 0). Ua li no, txoj haujlwm yuav ua tiav thiab tus neeg siv yuav tau txais cov lus ntawm koj lub xov tooj ntawm tes. Tom qab qhov no, tus nqi ntawm qhov sib txawv ValorAnterior yuav sib npaug ntawm 1.

Txoj hauv kev no, qhov sib txawv ValorAnterior yuav raug qhia tias lub xeev tseeb ntawm lub ntsuas tau ua haujlwm.

Tam sim no, rooj plaub tus nqi ntawm qhov sib txawv ValorAtual yog 0 thiab tus nqi ntawm ValorAnterior sib txawv nws yog sib npaug ntawm 0, lub ntsuas tsis pom qhov nkag mus thiab tom qab ntawd nws tus nqi tau ua haujlwm.

Txoj hauv kev no, lub kaw lus yuav xa cov lus rau lub xov tooj ntawm tes ntawm tus neeg siv thiab yuav hloov kho tus nqi tseeb ntawm lub ntsuas rau 0. Tus nqi no yuav qhia tias lub sensor tsis ua haujlwm tam sim no.

Cov lus uas tau xa rau tus neeg siv tau nthuav tawm saum toj no.

Tam sim no, peb yuav kawm paub ua haujlwm li cas txhawm rau xa cov lus rau tus neeg siv lub xov tooj ntawm tes.

Kauj Ruam 5: Kev ua haujlwm xa lus

Hauv cov kab ke no, muaj ob txoj haujlwm. Lawv yog cov haujlwm nrog tib lub qauv. Qhov sib txawv ntawm lawv yog lub npe thiab cov lus xa tuaj, tab sis thaum peb txheeb xyuas nws, peb yuav pom tias lawv zoo ib yam nkaus.

Tom ntej no, peb yuav nthuav qhia tus qauv tiav ntawm cov haujlwm thiab tham txog txoj cai.

void IntrudeAlert () // Funcao para enviar mensagem de alerta Umidade Baixa {chip.println ("AT+CMGF = 1"); ncua (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); ncua (1000); Txoj hlua SMS = "Qhib Qhov Rooj!"; chip.println (SMS); ncua (100); chip.println ((char) 26); ncua (1000); }

tsis muaj dabtsis NoMoreIntrude () // Funcao para enviar mensagem de alerta Umidade Normal

{chip.println ("AT+CMGF = 1"); ncua (1000); chip.println ("AT + CMGS = \" " + SeuNumero +" / "\ r"); ncua (1000); Txoj hlua SMS = "Kaw Qhov Rooj!"; chip.println (SMS); ncua (100); chip.println ((char) 26); ncua (1000); }

SIM800L Module siv AT Command kom tswj nws cov haujlwm. Yog li ntawd, los ntawm cov lus txib no, peb yuav xa cov lus rau tus neeg siv lub xov tooj ntawm tes.

AT+CGMF = 1 yog siv los teeb tsa tus qauv ua haujlwm hauv SMS Text mode. Tom qab ncua sijhawm, lub kaw lus yuav xa cov lus rau tus neeg siv los ntawm cov lus txib hauv qab no.

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

Hauv qhov hais kom ua, SIM800L tus qauv yuav npaj los xa xov rau tus lej xov tooj ntawm tes uas sau npe hauv txoj hlua SeuNumero. Tom qab qhov no, lub kaw lus yuav thauj cov lus hauv kab ntawv thiab yuav xa rau tus neeg siv lub xov tooj ntawm tes, raws li qhia hauv qab no.

Txoj hlua SMS = "Kaw Qhov Rooj!"; chip.println (SMS); ncua (100); chip.println ((char) 26); ncua (1000);

Tus lej (26) yog siv los qhia qhov kawg ntawm cov lus. Cov txheej txheem ua haujlwm no zoo ib yam rau ob lub luag haujlwm xa xov rau tus neeg siv.

Kev lees paub

Tam sim no, peb txaus siab rau kev txhawb nqa ntawm JLCPCB los ua txoj haujlwm no thiab, yog tias koj xav tau, nkag mus rau qhov txuas hauv qab no thiab rub tawm Arduino Compatible Board.

Pom zoo: