అంతరాయాలు మరియు టైమర్‌లను ఉపయోగించి PIR మోషన్ సెన్సార్‌తో ESP32 - Arduino IDE

Antarayalu Mariyu Taimar Lanu Upayoginci Pir Mosan Sensar To Esp32 Arduino Ide



ESP32 అనేది IoT ఆధారిత మైక్రోకంట్రోలర్ బోర్డ్, ఇది వివిధ సెన్సార్‌లను ఇంటర్‌ఫేస్ చేయడానికి, నియంత్రించడానికి మరియు చదవడానికి ఉపయోగించవచ్చు. PIR లేదా మోషన్ సెన్సార్ అనేది ESP32ని ఉపయోగించి మోషన్ సెన్సార్ పరిధిలో ఒక వస్తువు యొక్క కదలికను గుర్తించడానికి ESP32తో మనం ఇంటర్‌ఫేస్ చేయగల పరికరాలలో ఒకటి.

మేము PIR సెన్సార్‌తో ESP32ని ఇంటర్‌ఫేస్ చేయడం ప్రారంభించే ముందు, అంతరాయాలు ఎలా పని చేస్తాయి మరియు వాటిని ESP32లో ఎలా చదవాలి మరియు ఎలా నిర్వహించాలి అనే విషయాలను మనం తప్పక తెలుసుకోవాలి. తరువాత మనం ESP32 ప్రోగ్రామింగ్‌లో ఆలస్యం() మరియు మిల్లీస్() ఫంక్షన్ యొక్క ప్రధాన భావనను అర్థం చేసుకోవాలి.







PIR యొక్క పనిని ESP32తో వివరంగా చర్చిద్దాం.



ఈ కథనం యొక్క కంటెంట్ ఇక్కడ ఉంది:



  1. అంతరాయాలు ఏమిటి
  • ESP32 ప్రోగ్రామింగ్‌లో టైమర్‌లు
  • ESP32తో ఇంటర్‌ఫేసింగ్ PIR సెన్సార్

    1: అంతరాయాలు అంటే ఏమిటి

    ESP32 ప్రోగ్రామింగ్‌లో జరిగే చాలా ఈవెంట్‌లు వరుసగా రన్ అవుతాయి అంటే లైన్ బై లైన్ ఎగ్జిక్యూషన్ కోడ్. కోడ్ యొక్క సీక్వెన్షియల్ ఎగ్జిక్యూషన్ సమయంలో అమలు చేయాల్సిన అవసరం లేని ఈవెంట్‌లను నిర్వహించడానికి మరియు నియంత్రించడానికి అంతరాయాలు ఉపయోగిస్తారు.





    ఉదాహరణకు, ఏదైనా ప్రత్యేక సంఘటన జరిగినప్పుడు మనం నిర్దిష్ట పనిని అమలు చేయాలనుకుంటే లేదా మేము అంతరాయాన్ని ఉపయోగించే మైక్రోకంట్రోలర్ యొక్క డిజిటల్ పిన్‌లకు ట్రిగ్గర్ సిగ్నల్ ఇవ్వబడుతుంది.


    అంతరాయంతో మేము ESP32 ఇన్‌పుట్ పిన్ యొక్క డిజిటల్ స్థితిని నిరంతరం తనిఖీ చేయవలసిన అవసరం లేదు. అంతరాయం ఏర్పడినప్పుడు ప్రాసెసర్ ప్రధాన ప్రోగ్రామ్‌ను నిలిపివేస్తుంది మరియు కొత్త ఫంక్షన్‌ను ISR అని పిలుస్తారు ( సేవా దినచర్యకు అంతరాయం కలిగించండి ) ఈ ISR ఫంక్షన్ ప్రధాన ప్రోగ్రామ్‌కు తిరిగి వచ్చిన తర్వాత ఏర్పడిన అంతరాయాన్ని నిర్వహిస్తుంది మరియు దానిని అమలు చేయడం ప్రారంభించండి. ISR యొక్క ఉదాహరణలలో ఒకటి PIR మోషన్ సెన్సార్ ఏది కదలికను గుర్తించిన తర్వాత అంతరాయాన్ని సృష్టిస్తుంది .



    1.1: ESP32లో పిన్‌లను అంతరాయం కలిగిస్తుంది

    టచ్ సెన్సార్ లేదా పుష్ బటన్ వంటి ఏదైనా హార్డ్‌వేర్ మాడ్యూల్ వల్ల బాహ్య లేదా హార్డ్‌వేర్ అంతరాయం ఏర్పడవచ్చు. ESP32 పిన్స్‌లో టచ్ గుర్తించబడినప్పుడు టచ్ అంతరాయాలు సంభవిస్తాయి లేదా కీ లేదా పుష్ బటన్ నొక్కినప్పుడు GPIO అంతరాయాన్ని కూడా ఉపయోగించవచ్చు.

    ఈ కథనంలో ESP32తో PIR సెన్సార్‌ని ఉపయోగించి చలనం గుర్తించబడినప్పుడు మేము అంతరాయాన్ని ప్రేరేపిస్తాము.

    సాధారణంగా వచ్చే 6 SPI ఇంటిగ్రేటెడ్ పిన్‌లు మినహా దాదాపు అన్ని GPIO పిన్‌లు 36 ESP32 బోర్డు యొక్క -పిన్ వెర్షన్ అంతరాయం కాలింగ్ ప్రయోజనం కోసం ఉపయోగించబడదు. కాబట్టి, బాహ్య అంతరాయాన్ని స్వీకరించడానికి, ESP32లో పర్పుల్ రంగులో హైలైట్ చేయబడిన పిన్‌లు క్రింది విధంగా ఉన్నాయి:

    ఈ చిత్రం 30 పిన్ ESP32.

    1.2: ESP32లో అంతరాయాన్ని కాల్ చేస్తోంది

    ESP32లో అంతరాయాన్ని ఉపయోగించడం కోసం మేము కాల్ చేయవచ్చు అటాచ్ ఇంటరప్ట్() ఫంక్షన్.

    ఈ ఫంక్షన్ క్రింది మూడు వాదనలను అంగీకరిస్తుంది:

      • GPIO పిన్
      • విధిని అమలు చేయాలి
      • మోడ్
    అటాచ్ అంతరాయం ( డిజిటల్‌పిన్‌టోఇంటరప్ట్ ( GPIO ) , ఫంక్షన్ , మోడ్ ) ;


    1: GPIO పిన్ అనేది లోపల పిలువబడే మొదటి వాదన అటాచ్ ఇంటరప్ట్() ఫంక్షన్. ఉదాహరణకు, డిజిటల్ పిన్ 12ను అంతరాయ మూలంగా ఉపయోగించడానికి మనం దీనిని ఉపయోగించి కాల్ చేయవచ్చు డిజిటల్‌పిన్‌టుఇంటరప్ట్(12) ఫంక్షన్.

    2: ఫంక్షన్ ఎగ్జిక్యూట్ చేయడం అనేది బాహ్య లేదా అంతర్గత మూలం ద్వారా అంతరాయాన్ని చేరుకున్నప్పుడు లేదా ట్రిగ్గర్ చేయబడిన ప్రతిసారీ అమలు చేయబడిన ప్రోగ్రామ్. ఇది LEDని బ్లింక్ చేయడం లేదా ఫైర్ అలారంను తిప్పడం కావచ్చు.

    3: మోడ్ అంతరాయ ఫంక్షన్‌కు అవసరమైన మూడవ మరియు చివరి వాదన. అంతరాయాన్ని ఎప్పుడు ప్రేరేపించాలో ఇది వివరిస్తుంది. కింది మోడ్‌లను ఉపయోగించవచ్చు:

      • తక్కువ: నిర్వచించిన GPIO పిన్ తక్కువగా ఉన్న ప్రతిసారీ అంతరాయాన్ని ట్రిగ్గర్ చేయండి.
      • అధిక: నిర్వచించిన GPIO పిన్ ఎక్కువగా ఉన్న ప్రతిసారీ అంతరాయాన్ని ట్రిగ్గర్ చేయండి.
      • మార్చు: GPIO పిన్ దాని విలువను ఎక్కువ నుండి తక్కువకు లేదా వైస్ వెర్సాకి మార్చిన ప్రతిసారీ అంతరాయాన్ని ట్రిగ్గర్ చేయండి.
      • పడిపోవడం: ఇది ఒక నిర్దిష్ట పిన్ అధిక స్థితి నుండి దిగువకు పడిపోవడం ప్రారంభించినప్పుడు అంతరాయాన్ని ప్రేరేపించే మోడ్.
      • పెరుగుతున్న: ఇది ఒక నిర్దిష్ట పిన్ తక్కువ స్థితి నుండి అధిక స్థాయికి పెరగడం ప్రారంభించినప్పుడు అంతరాయాన్ని ప్రేరేపించే మోడ్.

    ఈ రోజు మనం ఉపయోగిస్తాము రైజింగ్ PIR సెన్సార్ అంతరాయాన్ని గుర్తించినప్పుడల్లా అంతరాయ ఫంక్షన్‌కు మూడవ ఆర్గ్యుమెంట్‌గా మోడ్ లేదా సెన్సార్ వెలిగిస్తుంది ఎందుకంటే ఇది తక్కువ స్థితి నుండి అధిక స్థాయికి వెళుతుంది.

    2: ESP32 ప్రోగ్రామింగ్‌లో టైమర్‌లు

    మైక్రోకంట్రోలర్ ప్రోగ్రామింగ్‌లోని టైమర్‌లు నిర్దిష్ట టైమర్ వ్యవధికి లేదా నిర్దిష్ట సమయానికి సూచనలను అమలు చేయడంలో ముఖ్యమైన పాత్ర పోషిస్తాయి.

    అవుట్‌పుట్‌ను ట్రిగ్గర్ చేయడానికి సాధారణంగా ఉపయోగించే రెండు ప్రధాన విధులు ఆలస్యం () మరియు మిల్లీస్() . డిలే() ఫంక్షన్‌గా రెండింటి మధ్య వ్యత్యాసం అది అమలు చేయడం ప్రారంభించిన తర్వాత మిగిలిన ప్రోగ్రామ్‌ను ఆపివేస్తుంది, అయితే millis() నిర్వచించబడిన వ్యవధిలో అమలు చేయబడుతుంది, ఆపై ప్రోగ్రామ్ తిరిగి ప్రధాన ఫంక్షన్‌లకు వెళుతుంది.

    ఇక్కడ మేము PIR సెన్సార్‌తో LEDని ఉపయోగిస్తాము మరియు అంతరాయ ట్రిగ్గర్‌ల తర్వాత మేము దానిని నిరంతరం మెరుస్తూ ఉండకూడదు. మేము మిల్లీస్() ఫంక్షన్‌ని ఉపయోగిస్తాము, అది కొంత నిర్వచించబడిన సమయం వరకు దానిని గ్లో చేయడానికి అనుమతిస్తుంది మరియు ఆ టైమ్ స్టాంప్ పాస్ అయిన తర్వాత మళ్లీ అసలు ప్రోగ్రామ్‌కి తిరిగి వెళ్తుంది.

    2.1: ఆలస్యం() ఫంక్షన్

    ఆలస్యం () ఫంక్షన్ చాలా సులభం, ఇది ఒక వాదనను మాత్రమే తీసుకుంటుంది కుమారి సంతకం చేయని పొడవైన డేటా రకం. ఈ ఆర్గ్యుమెంట్ మేము ప్రోగ్రామ్‌ను తదుపరి పంక్తికి తరలించే వరకు పాజ్ చేయాలనుకుంటున్న మిల్లీసెకన్లలో సమయాన్ని సూచిస్తుంది.

    ఉదాహరణకు, కింది ఫంక్షన్ ప్రోగ్రామ్‌ను ఆపివేస్తుంది 1 సెక .

    ఆలస్యం ( 1000 )


    ఆలస్యం() అనేది మైక్రోకంట్రోలర్స్ ప్రోగ్రామింగ్ కోసం ఒక రకమైన బ్లాకింగ్ ఫంక్షన్. ఆలస్యం() ఈ నిర్దిష్ట ఫంక్షన్ సమయాలు పూర్తికాని వరకు అమలు చేయడానికి మిగిలిన కోడ్‌ను బ్లాక్ చేస్తుంది. మేము బహుళ సూచనలను అమలు చేయాలనుకుంటే, మేము ఆలస్యం ఫంక్షన్‌లను ఉపయోగించకుండా ఉండాలి బదులుగా మేము మిల్లీస్ లేదా బాహ్య టైమర్ RTC మాడ్యూల్‌లను ఉపయోగించవచ్చు.

    2.2: మిల్లీస్() ఫంక్షన్

    millis() ఫంక్షన్ ESP32 బోర్డు ప్రస్తుత ప్రోగ్రామ్‌ను అమలు చేయడం ప్రారంభించినప్పటి నుండి గడిచిన మిల్లీసెకన్ల సంఖ్యను అందిస్తుంది. కోడ్ యొక్క కొన్ని పంక్తులను వ్రాయడం ద్వారా ESP32 కోడ్‌ని అమలు చేస్తున్నప్పుడు మనం ఏ సందర్భంలోనైనా ప్రస్తుత సమయాన్ని సులభంగా లెక్కించవచ్చు.

    మిల్లీస్ విస్తృతంగా ఉపయోగించబడుతుంది, అక్కడ మనం మిగిలిన కోడ్‌ను నిరోధించకుండా బహుళ టాస్క్‌లను అమలు చేయాలి. ఎంత సమయం గడిచిందో లెక్కించడానికి ఉపయోగించే మిల్లీస్ ఫంక్షన్ యొక్క సింటాక్స్ ఇక్కడ ఉంది కాబట్టి మనం నిర్దిష్ట సూచనను అమలు చేయవచ్చు.

    ఉంటే ( ప్రస్తుతమిల్లిస్ - మునుపటిమిల్లిస్ > = విరామం ) {
    మునుపటిమిల్లిస్ = ప్రస్తుతమిల్లిస్;
    }


    ఈ కోడ్ మునుపటి మిల్లీస్()ని ప్రస్తుత మిల్లీస్() నుండి తీసివేస్తుంది, ఒకవేళ తీసివేసిన సమయం విరామాన్ని నిర్వచించడానికి ఒక నిర్దిష్ట సూచన అమలు చేయబడుతుంది. మేము 10 సెకన్ల పాటు LEDని బ్లింక్ చేయాలనుకుంటున్నాము. ప్రతి 5 నిమిషాల తర్వాత మనం సమయ విరామాన్ని 5 నిమిషాలకు (300000ms) సెట్ చేయవచ్చు. కోడ్ అమలు చేయబడిన ప్రతిసారీ విరామం కోసం కోడ్ తనిఖీ చేస్తుంది, అది చేరుకున్న తర్వాత 10 సెకన్ల పాటు LEDని బ్లింక్ చేస్తుంది.

    గమనిక: PIR సెన్సార్‌తో ESP32ని ఇంటర్‌ఫేసింగ్ చేయడానికి ఇక్కడ మేము మిల్లీస్() ఫంక్షన్‌ని ఉపయోగిస్తాము. మిల్లీని ఉపయోగించడం మరియు ఆలస్యం చేయకపోవడం వెనుక ప్రధాన కారణం ఏమిటంటే, ఆలస్యం() ఫంక్షన్ చేసినట్లుగా మిల్లీస్() ఫంక్షన్ కోడ్‌ని నిరోధించదు. కాబట్టి PIR చలనాన్ని గుర్తించిన తర్వాత అంతరాయం ఏర్పడుతుంది. అంతరాయ మిల్లీస్() ఫంక్షన్‌ని ఉపయోగించడం వలన నిర్ణీత సమయానికి LED ట్రిగ్గర్ చేయబడుతుంది, ఆ తర్వాత మోషన్ ఆపివేయబడితే millis() ఫంక్షన్ రీసెట్ చేయబడుతుంది మరియు తదుపరి అంతరాయానికి వేచి ఉంటుంది.

    ఒకవేళ మేము ఆలస్యం() ఫంక్షన్‌ని ఉపయోగించినట్లయితే అది కోడ్‌ను పూర్తిగా బ్లాక్ చేస్తుంది మరియు ఏదైనా అంతరాయాన్ని ESP32 చదవదు, ఫలితంగా ప్రాజెక్ట్ విఫలమవుతుంది.

    3: ESP32తో ఇంటర్‌ఫేసింగ్ PIR సెన్సార్

    ఇక్కడ మేము Arduino IDE కోడ్‌లో మిల్లీస్ () ఫంక్షన్‌ని ఉపయోగిస్తాము ఎందుకంటే PIR సెన్సార్ కొంత కదలికను గుర్తించిన ప్రతిసారీ LED ని ట్రిగ్గర్ చేయాలనుకుంటున్నాము. ఈ LED నిర్ణీత సమయానికి ప్రకాశిస్తుంది, ఆ తర్వాత అది సాధారణ స్థితికి తిరిగి వస్తుంది.

    మాకు అవసరమైన భాగాల జాబితా ఇక్కడ ఉంది:

      • ESP32 అభివృద్ధి బోర్డు
      • PIR మోషన్ సెన్సార్ (HC-SR501)
      • LED
      • 330 ఓం రెసిస్టర్
      • కనెక్ట్ వైర్లు
      • బ్రెడ్‌బోర్డ్

    స్కీమాటిక్ ESP32తో PIR సెన్సార్ కోసం:


    PIR సెన్సార్‌తో ESP32 యొక్క పిన్ కనెక్షన్‌లు:

    ESP32 PIR సెన్సార్
    రండి Vcc
    GPIO13 బయటకు
    GND GND

    3.1: PIR మోషన్ సెన్సార్ (HC-SR501)

    PIR అనేది సంక్షిప్త రూపం నిష్క్రియ పరారుణ సెన్సార్ . ఇది దాని పరిసరాల చుట్టూ వేడిని గుర్తించే ఒక జత పైరోఎలెక్ట్రిక్ సెన్సార్లను ఉపయోగిస్తుంది. ఈ రెండు పైరోఎలెక్ట్రిక్ సెన్సార్లు ఒకదాని తర్వాత ఒకటి ఉంటాయి మరియు ఒక వస్తువు వాటి పరిధిలోకి వచ్చినప్పుడు ఉష్ణ శక్తిలో మార్పు లేదా ఈ రెండు సెన్సార్ల మధ్య సిగ్నల్ వ్యత్యాసం PIR సెన్సార్ అవుట్‌పుట్ తక్కువగా ఉంటుంది. PIR అవుట్ పిన్ తక్కువగా ఉన్న తర్వాత, మేము అమలు చేయడానికి నిర్దిష్ట సూచనను సెట్ చేయవచ్చు.


    PIR సెన్సార్ యొక్క లక్షణాలు క్రింది విధంగా ఉన్నాయి:

      • ప్రాజెక్ట్ యొక్క స్థానాన్ని (సెన్సింగ్ మౌస్ లేదా లీఫ్ మూవ్‌మెంట్ వంటివి) బట్టి సెన్సిటివిటీని సెట్ చేయవచ్చు.
      • PIR సెన్సార్ ఒక వస్తువును ఎంతకాలం గుర్తించాలో సెట్ చేయవచ్చు.
      • గృహ భద్రతా అలారాలు మరియు ఇతర ఉష్ణ ఆధారిత కదలిక గుర్తింపు అప్లికేషన్‌లలో విస్తృతంగా ఉపయోగించబడుతుంది.

    3.2: పిన్అవుట్ HC-SR501

    PIR HC-SR501 మూడు పిన్‌లతో వస్తుంది. వాటిలో రెండు Vcc మరియు GND కోసం పవర్ పిన్‌లు మరియు ఒకటి ట్రిగ్గర్ సిగ్నల్ కోసం అవుట్‌పుట్ పిన్.


    PIR సెన్సార్ పిన్‌ల వివరణ క్రింది విధంగా ఉంది:

    పిన్ చేయండి పేరు వివరణ
    1 Vcc సెన్సార్ కోసం ఇన్‌పుట్ పిన్ ESP32 Vin పిన్‌కి కనెక్ట్ చేయండి
    రెండు బయటకు సెన్సార్ అవుట్‌పుట్
    3 GND సెన్సార్ GND

    3.3: కోడ్

    ఇప్పుడు ESP32 ప్రోగ్రామ్ చేయడానికి, ఇచ్చిన కోడ్‌ను Arduino IDE ఎడిటర్‌లో వ్రాసి ESP32కి అప్‌లోడ్ చేయండి.

    #సమయాన్ని నిర్వచించండి సెకన్లు 10
    const int led = 4 ; /* GPIO పిన్ 4 నిర్వచించబడింది కోసం LED */
    const int PIR_Out = 13 ; /* GPIO పిన్ 13 కోసం PIR అవుట్ */
    సంతకం చేయని పొడవు Current_Time = మిల్లీస్ ( ) ; /* వేరియబుల్ నిర్వచించబడింది కోసం మిల్లీస్ విలువలను నిల్వ చేస్తుంది */
    సంతకం చేయని దీర్ఘ Previous_Trig = 0 ;
    boolean Starting_Time = తప్పుడు ;
    శూన్యం IRAM_ATTR కదలికను గుర్తిస్తుంది ( ) { /* తనిఖీ కోసం చలనం */
    Serial.println ( 'మోషన్ కనుగొనబడింది' ) ;
    డిజిటల్ రైట్ ( దారితీసింది, అధిక ) ; /* LED ఆన్ చేయండి ఉంటే పరిస్థితి ఉంది నిజం */
    ప్రారంభ_సమయం = నిజం ;
    Previous_Trig = మిల్లీస్ ( ) ;
    }
    శూన్యమైన సెటప్ ( ) {
    సీరియల్.ప్రారంభం ( 115200 ) ; /* బాడ్ రేటు కోసం సీరియల్ కమ్యూనికేషన్ */
     పిన్‌మోడ్ ( PIR_Out, INPUT_PULLUP ) ; /* PIR మోషన్ సెన్సార్ మోడ్ నిర్వచించబడింది */
    /* PIR కాన్ఫిగర్ చేయబడింది లో రైజింగ్ మోడ్, సెట్ మోషన్ సెన్సార్ పిన్ వంటి అవుట్పుట్ */
    అటాచ్ అంతరాయం ( డిజిటల్‌పిన్‌టోఇంటరప్ట్ ( PIR_ఔట్ ) , కదలికను గుర్తిస్తుంది, పెరుగుతుంది ) ;
     పిన్‌మోడ్ ( దారితీసింది, అవుట్పుట్ ) ; /* సెట్ LED నుండి తక్కువ */
    డిజిటల్ రైట్ ( దారితీసింది, తక్కువ ) ;
    }
    శూన్య లూప్ ( ) {
    కరెంట్_టైమ్ = మిల్లీస్ ( ) ; /* కరెంట్ నిల్వ చేయండి సమయం */
    ఉంటే ( ప్రారంభ_సమయం && ( ప్రస్తుత_సమయం - మునుపటి_ట్రిగ్ > ( సమయం సెకన్లు * 1000 ) ) ) { /* సమయం విరామం తర్వాత ఏది LED ఆఫ్ అవుతుంది */
    Serial.println ( 'చలనం ఆగిపోయింది' ) ; /* ప్రింట్‌ల కదలిక ఆగిపోయింది ఉంటే చలనం కనుగొనబడలేదు */
    డిజిటల్ రైట్ ( దారితీసింది, తక్కువ ) ; /* LEDని తక్కువకు సెట్ చేయండి ఉంటే పరిస్థితి ఉంది తప్పుడు */
    ప్రారంభ_సమయం = తప్పుడు ;
    }
    }


    LED మరియు PIR అవుట్‌పుట్ కోసం GPIO పిన్‌లను నిర్వచించడం ద్వారా కోడ్ ప్రారంభించబడింది. తర్వాత, చలనం గుర్తించబడినప్పుడు LEDని ఆన్ చేయడంలో సహాయపడే మూడు వేర్వేరు వేరియబుల్‌లను మేము సృష్టించాము.

    ఈ మూడు వేరియబుల్స్ ప్రస్తుత_సమయం, మునుపటి_ట్రిగ్, మరియు ప్రారంభ_సమయం. ఈ వేరియబుల్స్ ప్రస్తుత సమయం, చలనం గుర్తించబడిన సమయం మరియు చలనం గుర్తించిన తర్వాత టైమర్‌ను నిల్వ చేస్తాయి.

    సెటప్ భాగంలో మొదట, మేము కమ్యూనికేషన్ కోసం సీరియల్ బాడ్ రేట్‌ని నిర్వచించాము. తదుపరి ఉపయోగించడం పిన్‌మోడ్() PIR మోషన్ సెన్సార్‌ను INPUT PULLUPగా సెట్ చేయండి. PIR అంతరాయాన్ని సెట్ చేయడానికి అటాచ్ ఇంటరప్ట్() వివరించబడింది. GPIO 13 రైజింగ్ మోడ్‌లో కదలికను గుర్తించడానికి వివరించబడింది.

    కోడ్‌లోని లూప్() భాగంలో తదుపరి, మిల్లీస్() ఫంక్షన్‌ని ఉపయోగించి ట్రిగ్గర్ సాధించినప్పుడు LEDని ఆన్ చేసి ఆఫ్ చేస్తాము.

    3.4: అవుట్‌పుట్

    అవుట్‌పుట్ విభాగంలో ఆబ్జెక్ట్ PIR సెన్సార్ పరిధికి మించి ఉందని మనం చూడవచ్చు LED తిరిగింది ఆఫ్ .


    ఇప్పుడు PIR సెన్సార్ LED ద్వారా గుర్తించబడిన చలనం మారుతుంది పై కోసం 10 సెకను ఆ తర్వాత చలనం కనుగొనబడకపోతే అది అలాగే ఉంటుంది ఆఫ్ తదుపరి ట్రిగ్గర్ స్వీకరించే వరకు.


    Arduino IDEలోని సీరియల్ మానిటర్ ద్వారా క్రింది అవుట్‌పుట్ చూపబడుతుంది.

    ముగింపు

    ESP32తో కూడిన PIR సెన్సార్ దాని పరిధి గుండా వెళుతున్న వస్తువుల కదలికను గుర్తించడంలో సహాయపడుతుంది. ESP32 ప్రోగ్రామింగ్‌లో అంతరాయ ఫంక్షన్‌ని ఉపయోగించి మనం కొన్ని నిర్దిష్ట GPIO పిన్ వద్ద ప్రతిస్పందనను ట్రిగ్గర్ చేయవచ్చు. మార్పు గుర్తించబడినప్పుడు అంతరాయ ఫంక్షన్ ట్రిగ్గర్ చేయబడుతుంది మరియు LED ఆన్ అవుతుంది.