مشروع التحكم بمحرك تيار مستمر باستخدام مستشعر الضوء (Photoresistor) و أردوينو اكتب تعليقُا

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

شرح فكرة المشروع

  • مشروع التحكم بمحرك DC من خلال مستشعر الضوء، هو مشروع بسيط وتفاعلي تستخدم فيه المقاومة الحساسة للضوء للتحكم في تشغيل محرك DC بناءً على شدة الضوء.
  • يسمح المشروع بإنشاء نظام آلي يقوم بضبط تشغيل المحرك بناءً على التغيرات في شدة الضوء المحيط ، مما يجعله مناسبًا لتطبيقات الأجهزة الحساسة للضوء، ومتتبعات الطاقة الشمسية ، و أنظمة التحكم بالإضاءة المحيطة.
  • الرابط

ادوات المشروع

تنويه: استخدم لوحة Bread board لتوصيل الوحدات بمنفذ 5V و GND
  • اردوينو اونو مع سلك توصيل Arduino Uno: عدد 1
  • لوح تجارب 400 نقطة لون ابيض Solderless Breadboard: عدد 1
  • حساس مقاومة ضوئي LDR مقاس 5مم Light Dependent Resistor: عدد 1
  • أسلاك توصيل ذكر لذكر 40 قطعة 20 سم Male to Male jumper wires
  • أسلاك توصيل من ذكر إلى أنثى 40 دبوس 20 سم wires 40pcs Male to Female
  • مقاومة 220 أوم Ohm Resistor: عدد 1
  • مقاومة 4.7 كيلو اوم Ohm Resistor: عدد 1
  • محرك تيار مستمر 3V-6V جودة عالية High Quality Toy DC Motor: عدد 1
  • ليد أحمر: عدد 1
  • موديول ريلاي بقناة واحدة: عدد 1

مخطط المشروع

الكود البرمجي

تنبيه : في حال لم تكن متأكد من قدرتك على تنفيذ خطوات المشروع يرجى استشارة شخص متخصص في هذا المجال.
  • للتعرف على تجهيز لوحة أردوينو للبرمجة قم بزيارة الرابط التالي.
  • في حال لم يعمل هذا الكود البرمجي، قم بتحميل ملف الكود بالضغط على زر التحميل الموجود في الأسفل.

// C++ code
//
int sensorValue = 0;
int voltage;
int timer = millis();
void setup()
{
pinMode(A0, INPUT);
Serial.begin(9600);
pinMode(9, OUTPUT);
pinMode(12, OUTPUT);
pinMode(8, OUTPUT);
}

void loop()
{
// read the value from the sensor
sensorValue = analogRead(A0);
// print the sensor reading so you know its range
Serial.println(sensorValue);
// map the sensor reading to a range for the LED
analogWrite(9, map(sensorValue, 0, 1023, 0, 255));
if (sensorValue > 400) {

digitalWrite(9, HIGH);
digitalWrite(8, HIGH);
digitalWrite(12, LOW);

}
else {

digitalWrite(8, LOW);
digitalWrite(12, LOW);
digitalWrite(9, LOW);

}

delay(100); // Wait for 100 millisecond(s)
}

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *