תוכן עניינים:

עוצמת אור מתכננת באמצעות ספריית המאסטר של Arduino ו- Python של ארדואינו: 5 שלבים
עוצמת אור מתכננת באמצעות ספריית המאסטר של Arduino ו- Python של ארדואינו: 5 שלבים

וִידֵאוֹ: עוצמת אור מתכננת באמצעות ספריית המאסטר של Arduino ו- Python של ארדואינו: 5 שלבים

וִידֵאוֹ: עוצמת אור מתכננת באמצעות ספריית המאסטר של Arduino ו- Python של ארדואינו: 5 שלבים
וִידֵאוֹ: The Doctrine of Repentance | Thomas Watson | Christian Audiobook 2024, דֵצֶמבֶּר
Anonim
עוצמת אור מתכננת באמצעות ספריית המאסטר של Arduino ו- Python
עוצמת אור מתכננת באמצעות ספריית המאסטר של Arduino ו- Python

Arduino הוא כלי חסכוני אך יעיל ופונקציונאלי במיוחד, ותכנותו ב- Embedded C הופך את תהליך הפיכת הפרויקטים למייגע! מודול Arduino_Master של פייתון מפשט זאת ומאפשר לנו לבצע חישובים, להסיר ערכי זבל ולשרטט גרף לייצוג ויזואלי של נתונים.

אם אינך יודע עדיין על מודול זה, התקן אותו באמצעות הפקודה pip install Arduino_Master

אל תדאג אם אינך יודע כיצד להשתמש במודול זה, בקר בקישור הזה => Arduino_Master

עם זאת, הקוד לפרויקט זה תמיד יהיה זמין במדריך זה.

אספקה

לפרויקט זה תזדקק לדברים הבאים:

  1. ארדואינו
  2. התנגדות תלויה באור (LDR) ו
  3. Python 3 מותקן במחשב שלך.

שלב 1: בניית המעגל שלך:

בניית המעגל שלך
בניית המעגל שלך

אנו נשתמש בסיכה A1 של Arduino כדי לקבל נתוני קלט. אתה יכול גם להשתמש בסיכות 5V ו- GND של Arduino במקום בסוללה. בצע את החיבור באופן הבא:

  1. חבר קצה אחד של ה- LDR למסוף החיובי של סוללת 5V או לסיכה 5V של הארדואינו.
  2. חבר את הקצה השני של ה- LDR במקביל לסיכה A1 ולמסוף השלילי של הסוללה או פין ה- GND של Arduino.
  3. השתמש בנגד כדי לוודא שכל הזרם אינו זורם ל- GND מה שיגרום לך לא לקבל אות מספיק חזק כדי לחוש במסוף A1 של הארדואינו. (אני משתמש בנגד של 10k אוהם).

שלב 2: תכנות הארדואינו שלך:

מודול Arduino_Master משתמש במסך טורי של ה- Arduino לשליחת וקבלת נתונים. היתרון בשימוש במודול זה הוא שברגע שתתכנת את הארדואינו שלך, תוכל לשנות את תוכנית הפיתון לבד לפרויקטים שונים מכיוון שהתכנות בפייתון קל יחסית!

קוד:

// משתנה 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) // אם כל קלט זמין במסך הטורי, המשך. {input = Serial.readString (); // קרא את הקלט כמחרוזת. if (input == "DATA") {LDR_Value_1 = analogRead (LDR_1) * (5.0 / 1023.0); // (5 /1023) הוא גורם ההמרה כדי לקבל ערך ב וולט. Serial.println (LDR_Value_1); // אם הקלט שווה ל- "DATA", קרא את הקלט מ- LDR_1 והדפס אותו על הצג הסידורי. } else int i = 0; // אם הקלט אינו שווה ל- "DATA", אל תעשה דבר! }

}

שלב 3: תכנות פייתון לנתוני גרף מארדואינו:

לכל LDR יהיו ערכי התנגדות משלו ועלינו לזכור כי לא לרכיבים אלקטרוניים זהים לחלוטין במבצע. לכן ראשית עלינו למצוא את המתח בעוצמות אור שונות.

העלה את התוכנית הבאה ל- IDE python שלך והפעל אותה:

עשו זאת בעוצמות שונות של אור ושימוש בגרף הסיקו מסקנה למשל אם העוצמה קטנה מ -1, החדר חשוך מדי. בעוצמה בין 1 ל -2 החדר חשוך במידה ניכרת. בעוצמה גדולה מ -2, האור נדלק.

# ייבוא מודול Arduino_Master

מיבוא Arduino_Master *

# איסוף נתונים

data = filter (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 30), expect_type = 'num', limit = [0, 5])

מגבלת # מוגדרת ל- 5 מכיוון שאנו משתמשים בסוללה של 5V.

# תכנון ערכים

גרף (נתונים, stl = 'dark_background', label = 'עוצמת אור')

שלב 4: תוכנית אחרונה לבדיקת עוצמת האור בחדר

לאחר שהגעת למסקנה מהנתונים שקיבלת, העלה את התוכנית הבאה וודא לשנות את המגבלות בהתאם למסקנה שלך.

# ייבוא מודול Arduino_Master

מיבוא Arduino_Master # איסוף נתוני נתונים = מסנן (ardata (8, squeeze = False, dynamic = True, msg = "DATA", lines = 50), expect_type = 'num', limit = [0, 5]) # נתונים מסווגים מבוסס על מידע מסקנה = עבור i בטווח (len (נתונים)): עוצמה = נתונים אם עוצמת 1 ועוצמה = 2: info.append ('Light ON') # תכנון הגרף. compGraph (נתונים, מידע, stl = 'dark_background', label1 = 'עוצמת אור', label2 = 'מצב')

שלב 5: תוצאה:

תוֹצָאָה
תוֹצָאָה

התוכנית תארך דקה או שתיים מכיוון שאתה קורא 50 ערכים מיידיים מארדואינו.

אם אתה רוצה להאיץ את התהליך נסה לשנות את פרמטר השורות של פונקציית ardata. אך זכור שככל שהתצפיות פחותות כך איכות הנתונים תהיה פחותה.

הערה: אם הגרף המלא בתמונה למעלה אינו גלוי, עיין בגרף שמעל סעיף המבוא.

מוּמלָץ: