ربط حساس الحركة 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/
Post a comment or leave a trackback: Trackback URL.

اترك تعليقًا

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

شعار ووردبريس.كوم

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google photo

أنت تعلق بإستخدام حساب Google. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

Connecting to %s

هذا الموقع يستخدم خدمة Akismet للتقليل من البريد المزعجة. اعرف المزيد عن كيفية التعامل مع بيانات التعليقات الخاصة بك processed.

<span>%d</span> مدونون معجبون بهذه: