Tag Archives: EKMC1601111

ربط حساس الحركة EKMC1601111 بشريحة ESP8266

أردت استخدام حساس يساعدني إلى التعرف فيما إذا كان هناك حركة أم لا. هناك العديد من الحساسات التي قد تفي بالغرض. لكنها تختلف (1) مسافة النطاق التي من خلالها يمكنها التحسس (2) وبما يعرف بـ rest time وقت إعادة الضبط أو بمعنى الوقت الذي تحتاجه لتصبح جاهزة للتحسس لحركة جديدة

إشتريت بضعة حساسات EKMC1601111 لشركة بناسونيك Panasonic. وقمت بربط الحساس إلى شريحة ESP8266.

Untitled1

مخطط توضيحي للتوصيلات للحساس EKMC1601111 مع شريحة ESP8266

 

تم استخدام الشيفرة التالية لقراءة قيمة الحساس وطباعتها إلى نافذة الخرج.  لاحظ السطر 6 ، تم ضبط موخر لمدة 30 ثانية لتهيئة الحساس

1
2
3
4
5

6
7
8

9
10
11
12
13
14

15
16
17
18
19
20
21

const int PPR = D2;

int bState = 0;
float State =
0;

void setup() {
pinMode(PPR, INPUT
);

delay(30000);//wait for 30s until the sensor voltage becomes stable

 Serial.begin (9600);
}

void loop() {

 int State = digitalRead (PPR);

 if (bState != State) {
bState =
State;
Serial.println (“”
);
}

 if (State == HIGH) {
Serial.print
(State);
} else
{
Serial.print
(State);
}

 delay(100);
}

 

 

بعد تحميل البرنامج إلى شريحة ESP8266 قم بفتح نافذة الخرج لمشاهدة نتائج تعليمات الطباعة المستخدمة

Untitled2

 

لاحظ قيمة 1 تدل على أن هناك جسم متحرك ضمن نطاق الحساس

Untitled

 

 

لم أستخدم الباعث الضوئي إلى الآن ، سأقوم بإضافة تعليمات الآن لإضاءة الباعث الضوئي إشعارا بأن هناك حركة

const int PPR = D2;

const int LED = D1;

float State = 0;

void setup() {

pinMode(LED, OUTPUT);

pinMode(PPR, INPUT);
digitalWrite(LED, LOW
);

 delay(30000);//wait for 30s until the sensor voltage becomes stable
}

void loop() {

int readState = 0;

 for(int i = 0; i < 10; i++){
readState += digitalRead
(PPR);
}

State = readState/10;

if(State >= 0.5){
digitalWrite(LED, HIGH
);
}else
{
digitalWrite(LED, LOW
);
}

 delay(500);
}

 المراجع:

  1. https://qiita.com/FireFoxCorp/items/0b56d672bc9abcbd5ef6
  2. https://titanwolf.org/Network/Articles/Article?AID=f89c3796-bbc6-4548-9c3b-bf5832b04bcf#gsc.tab=0
  3. https://randomnerdtutorials.com/esp8266-nodemcu-digital-inputs-outputs-arduino/
%d مدونون معجبون بهذه: