جدول المحتويات:
- اللوازم
- الخطوة 1: بناء دائرتك:
- الخطوة الثانية: برمجة اردوينو الخاص بك:
- الخطوة 3: برمجة Python لرسم بيانات من Arduino:
- الخطوة 4: البرنامج النهائي للتحقق من شدة الضوء في الغرفة
- الخطوة 5: النتيجة:
فيديو: تخطيط شدة الضوء باستخدام مكتبة Arduino و Python الرئيسية في Arduino: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
Arduino هو أداة اقتصادية وفعالة وعملية للغاية ، فإن برمجته في Embedded C يجعل عملية جعل المشاريع مملة! تعمل الوحدة النمطية Arduino_Master في Python على تبسيط هذا الأمر وتتيح لنا إجراء العمليات الحسابية وإزالة قيم القمامة ورسم رسم بياني للتمثيل المرئي للبيانات.
إذا كنت لا تعرف هذه الوحدة حتى الآن ، فقم بتثبيتها باستخدام الأمر pip install Arduino_Master
لا تقلق إذا كنت لا تعرف كيفية استخدام هذه الوحدة ، قم بزيارة هذا الرابط => Arduino_Master
ومع ذلك ، سيكون رمز هذا المشروع متاحًا دائمًا في هذا الدليل.
اللوازم
بالنسبة لهذا المشروع ، ستحتاج إلى ما يلي:
- اردوينو
- مقاوم يعتمد على الضوء (LDR) و
- تم تثبيت Python 3 على جهاز الكمبيوتر الخاص بك.
الخطوة 1: بناء دائرتك:
سنستخدم دبوس A1 من Arduino للحصول على بيانات الإدخال. يمكنك أيضًا استخدام دبابيس 5V و GND في Arduino بدلاً من البطارية. قم بإجراء الاتصال على النحو التالي:
- قم بتوصيل أحد طرفي LDR بالطرف الموجب لبطارية 5 فولت أو دبوس 5 فولت في Arduino.
- قم بتوصيل الطرف الآخر من LDR بالتوازي مع الطرف A1 والطرف السالب للبطارية أو دبوس GND في Arduino.
- استخدم المقاوم للتأكد من عدم تدفق كل التيار إلى GND مما قد يؤدي إلى عدم الحصول على إشارة قوية بما يكفي للاستشعار عند محطة A1 من Arduino. (أستخدم المقاوم 10 كيلو أوم).
الخطوة الثانية: برمجة اردوينو الخاص بك:
تستخدم وحدة Arduino_Master مراقب تسلسلي من Arduino لإرسال واستقبال البيانات. تتمثل ميزة استخدام هذه الوحدة في أنه بمجرد برمجة Arduino ، يمكنك تغيير برنامج python بمفرده لمشاريع مختلفة لأن البرمجة في Python أسهل نسبيًا!
الشفرة:
// يستخدم متغير LDR_1 للدلالة على دبوس A1 في Arduino.
int LDR_1 = A1 ؛
// سيتم تخزين البيانات المستلمة من A1 في LDR_Value_1.
تعويم LDR_Value_1 ؛
إدخال سلسلة
الإعداد باطل()
{pinMode (LDR_1 ، INPUT) ، // تم تعيين LDR_1 كدبوس INPUT. Serial.begin (9600) ؛ // تم ضبط معدل البث بالباود على 9600.}
حلقة فارغة()
{if (Serial.available ()> 0) // إذا كان أي إدخال متاحًا في الشاشة التسلسلية ، فتابع. {المدخلات = Serial.readString () ، // اقرأ الإدخال كسلسلة. إذا (الإدخال == "البيانات") {LDR_Value_1 = القراءة التناظرية (LDR_1) * (5.0 / 1023.0) ؛ // (5/1023) هو عامل التحويل للحصول على القيمة بالفولت. Serial.println (LDR_Value_1) ، // إذا كان الإدخال يساوي "DATA" ، فقم بقراءة الإدخال من LDR_1 واطبعه على Serial Monitor. } else int i = 0 ؛ // إذا كان الإدخال لا يساوي "البيانات" ، فلا تفعل شيئًا! }
}
الخطوة 3: برمجة Python لرسم بيانات من Arduino:
سيكون لكل LDR قيم المقاومة الخاصة به وعلينا أن نتذكر أنه لا توجد مكونات إلكترونية متطابقة تمامًا في التشغيل. وبالتالي علينا أولاً إيجاد الجهد عند شدة الضوء المختلفة.
قم بتحميل البرنامج التالي إلى Python IDE الخاص بك وقم بتشغيله:
افعل ذلك لشدة مختلفة من الضوء وباستخدام الرسم البياني ارسم استنتاجًا على سبيل المثال إذا كانت الشدة أقل من 1 ، فإن الغرفة مظلمة جدًا. بالنسبة للشدة بين 1 و 2 ، تكون الغرفة مظلمة إلى حد كبير. لشدة أكبر من 2 ، يتم تشغيل الضوء.
# استيراد وحدة Arduino_Master
من Arduino_Master استيراد *
# جمع البيانات
البيانات = عامل التصفية (ardata (8 ، ضغط = خطأ ، ديناميكي = صحيح ، msg = "DATA" ، خطوط = 30) ، نوع متوقع = 'num' ، حد = [0 ، 5])
# تم ضبط الحد على 5 لأننا نستخدم بطارية 5 فولت.
# رسم القيم
الرسم البياني (البيانات ، stl = 'dark_background' ، التسمية = 'كثافة الضوء')
الخطوة 4: البرنامج النهائي للتحقق من شدة الضوء في الغرفة
بعد الوصول إلى استنتاج من البيانات التي حصلت عليها ، قم بتحميل البرنامج التالي وتأكد من تغيير الحدود وفقًا لاستنتاجك.
# استيراد وحدة Arduino_Master
من Arduino_Master import # جمع البيانات = عامل التصفية (ardata (8، squeeze = False، dynamic = True، msg = "DATA"، الأسطر = 50)، added_type = 'num'، limit = [0، 5]) # تصنيف البيانات استنادًا إلى معلومات الاستنتاج = بالنسبة إلى i في النطاق (len (البيانات)): الكثافة = البيانات إذا كانت الكثافة 1 والشدة = 2: info.append ('Light ON') # رسم الرسم البياني. compGraph (data، info، stl = 'dark_background'، label1 = 'Light Intensity'، label2 = 'State')
الخطوة 5: النتيجة:
سيستغرق تشغيل البرنامج دقيقة أو دقيقتين لأنك تقرأ 50 قيمة لحظية من Arduino.
إذا كنت ترغب في تسريع العملية ، فحاول تغيير معلمة الخطوط لوظيفة ardata. لكن تذكر أنه كلما قلت الملاحظات ، قلت جودة البيانات.
ملاحظة: إذا كان الرسم البياني الكامل في الصورة أعلاه غير مرئي ، فارجع إلى الرسم البياني أعلى قسم المقدمة.
موصى به:
كيفية جعل درجة الحرارة وتسجيل شدة الضوء محاكاة Proteus - فريتزينج - صانع Liono: 5 خطوات
كيفية جعل درجة الحرارة وتسجيل شدة الضوء محاكاة Proteus | فريتزينج | Liono Maker: مرحبًا ، هذا Liono Maker ، هذه قناتي الرسمية على YouTube. هذه قناة YouTube مفتوحة المصدر ، وهناك الرابط: قناة Liono Maker على YouTube ، يوجد رابط الفيديو: Temp & amp؛ تسجيل كثافة الضوء في هذا البرنامج التعليمي سوف نتعلم كيفية صنع المزاج
قياس شدة الضوء باستخدام BH1715 و Raspberry Pi: 5 خطوات
قياس شدة الضوء باستخدام BH1715 و Raspberry Pi: بالأمس كنا نعمل على شاشات LCD ، وأثناء العمل عليها أدركنا أهمية حساب شدة الضوء. شدة الضوء ليست مهمة فقط في المجال المادي لهذا العالم ولكن لها دورها الجيد في علم الأحياء
حساب شدة الضوء باستخدام BH1715 و Arduino Nano: 5 خطوات
حساب شدة الضوء باستخدام BH1715 و Arduino Nano: بالأمس كنا نعمل على شاشات LCD ، وأثناء العمل عليها أدركنا أهمية حساب شدة الضوء. شدة الضوء ليست مهمة فقط في المجال المادي لهذا العالم ولكن لها دورها الجيد في علم الأحياء
حساب شدة الضوء باستخدام BH1715 والفوتون الجسيمي: 5 خطوات
حساب شدة الضوء باستخدام BH1715 وفوتون الجسيمات: بالأمس كنا نعمل على شاشات LCD ، وأثناء العمل عليها أدركنا أهمية حساب شدة الضوء. شدة الضوء ليست مهمة فقط في المجال المادي لهذا العالم ولكن لها دورها الجيد في علم الأحياء
موفر طاقة شدة الضوء باستخدام الخلايا الضوئية والثرمستورات: 6 خطوات
موفر طاقة شدة الضوء باستخدام الخلايا الضوئية والثرمستورات: تم تصميم هذا الدليل لتعليمك كيفية توفير الطاقة عن طريق تغيير شدة الضوء باستخدام الخلايا الكهروضوئية والثرمستورات. سنوضح لك كيفية إنشاء الدائرة وترميز Arduino باستخدام MATLAB