أنت هنا:إصنعها»أردوينو»مشاريع أردوينو»كاميرا لإلتقاط الحركة

كاميرا لإلتقاط الحركة

كتبه مشاريع أردوينو 17081 1
آخر تعديل في الأربعاء, 09 كانون1/ديسمبر 2020 13:06
كاميرا لإلتقاط الحركة
قيم الموضوع
(2 أصوات)

سنقوم باستخدام حساس من نوع PIR والذي سيعمل كمفتاح حيث يقوم بتشغيل الكاميرا عندما يشعر بحركة ثم نقم بإضافة صمام ضوئي صغير إلى الحساس حـتى يضيء عندما تعمل الكاميرا.


تقديم

يكمن التحدي هنا فى جعل الكاميرا تتوقف فورا بعد التصوير، حيث عادة ما تظل الكاميرا تعمل بعد توقف الحساس لمدة خمس ثوان. لذلك، سأقوم بالبرمجة لجعل الكاميرا تلتقط صورتين فقط كل مرة يعمل فيها الحساس. وبالطبع سأترك الكاميرا على وضع الإلتقاط الذاتي.

 


الأجزاء الرئيسية

العربية

الإنجليزية

الفرنسية

الكمية

القيمة أو الصيغة

مقاومة

Resistor

Resistance

1

220 أوم

1

10 كيلوأوم

حساس الحركة

PIR - Pyroelectric Infrared Sensor

1

مستقبل الأشعة تحت الحمراء

صمام باعث للأشعة تحت الحمراء

Infrared Emitting Diode

1

 

لوحة أردوينو

Arduino

1

Deumilanove-w/ATMEGA328

لوحة التجريب

Breadboard / Prototyping board

1

لوحة توصيل مكونات كهربائية

جسور وموصلات أسلاك

Jumper/ Connector Wires

 

 

مصدر تيار 9 فولط

1

بإمكانك إستخدام وصلة USB للأردوينو

 

 


الدائرة الكهربائية

01

صل المقاومة 10 كـيلوأوم بين الحساس والمربط رقم 4 لبطاقة أردوينو.

بالنسبة للصمام الضوئي فإن له مقاومة 220 أوم بينه وبين المربط الرقمي 9 لبطاقة أردوينو.

ثم صل الصمام باعث الأشعة تحت الحمراء بالدخل رقم 13 والأرضي كما بالصورة.

 


البرمجة

قم بنقله إلى البرنامج كما هو. إلا إذا أردت عمل تعديلات فيه طبعا.

 

/******************************************************************

هذه الشيفرة البـرمجية من أجل استعمال حساس الحركة للتحكم بحركة الكاميرا

والصمام باعث الأشعة تحت الحمراء عندما بتم تحديد متغيرات حرارية في المنطقة.

****************************/

 

int currentState = 0;    // سيستعمل هذا المتغير من أجل العد

int pinPIR = 4;           // PIR المربط الرقمي 4 من أجل المركب

int pinLED = 9;           // LEDالمربط الرقمي 9 من أجل المركب

int pinIRLED = 13;    //الرقمي 13 من أجل باعث الأشعة تحت الحمراء

 

void setup()

{

pinMode(pinIRLED, OUTPUT);  // نجعل هذا المربط مخرجا

pinMode(pinLED, OUTPUT);     // نجعل هذا المربط مخرجا

pinMode(pinPIR, INPUT);          // نجعل هذا المربط مدخلا

}

 

// تهييئ نبضة إشارة الأشعة تحت الحمراء

void pulseON(int pulseTime)

{

unsigned long endPulse = micros() + pulseTime; // ننشئ بضعة ميكروثانيات من أجل النبضة

while( micros() < endPulse)

{

digitalWrite(pinIRLED, HIGH);  // تشغيل حساس الحركة

delayMicroseconds(13);            // 38Khz (26.32×10-6s) نصف الدورة للتردد

digitalWrite(pinIRLED, LOW);  // إيقاف حساس الحركة

delayMicroseconds(13);            // تأخير زمني للنصف الثاني من الدورة من أجل توليد التذبذب المطلوب

}

}

 

void pulseOFF(unsigned long startDelay)

{

unsigned long endDelay = micros() + startDelay; // ننشئ بضعة ميكروثانيات من أجل التأخير الزمني

while(micros() < endDelay);

}

 

void takePicture()

{

for (int i=0; i < 2; i++)

{

pulseON(2000);        // نبضة لـ 2000 ميكروثانية

pulseOFF(27850);    // إيقاف النبضة لمدة 27850 ميكروثانية

pulseON(390);         // وهكذا

pulseOFF(1580);

pulseON(410);

pulseOFF(3580);

pulseON(400);

pulseOFF(63200);

} // تكرار هذه الأوامر مرتين

}

 

void loop() {

 

if ((digitalRead(pinPIR) == LOW) && (currentState <= 2)) // العد من أجل الحد من أخذ الصور

{

takePicture();                            // إلتقاط الصورة

digitalWrite(pinLED, HIGH);     // تشغيل الصمام الضوئي

}

else

{

digitalWrite(pinLED, LOW);

currentState = 0; //إعادة تهيئة العد من جديد

}

 

currentState++;

// تأخير زمني لمدة ثانيتين – ثانيتين بين إلتقاط الصور إذا كان حساس الحركة نشطا لمدة أكبر من ثانيتين

delay(2000);

}

 

 


الحقوق الفـكرية

تم نشر هذا العمل تحت ترخيص:

 Attribution-Noncommercial-Share Alike 3.0 Unported license

  


تأليف

 

تأليفLucky Larry

ترجمة بتصرف: عبد الله سعد عبد الستار فراج (الجيزة – مصر)

{jumi [*3]}


المراجع

 

 

http://luckylarry.co.uk/arduino-projects/arduino-motion-triggered-camera/

مقالات أخرى من نفس الفئة « تشغيل جهاز 220 فولط عن بعد

التعليقات  

هانى
+1 # هانى 2013-06-17 03:05
ممكن اعرف طريقة التصويل بالكميرا نفسها
رد | رد مع اقتباس | اقتباس | تقرير إلى المدير

أضف تعليقا


إصنعها يريد أن يتأكد أنك لست روبوتا، لذلك أحسب ما يلي:

كود امني
تحديث