فهرست مطالب:

ترسیم شدت نور با استفاده از آردوینو و کتابخانه اصلی آردوینو پایتون: 5 مرحله
ترسیم شدت نور با استفاده از آردوینو و کتابخانه اصلی آردوینو پایتون: 5 مرحله

تصویری: ترسیم شدت نور با استفاده از آردوینو و کتابخانه اصلی آردوینو پایتون: 5 مرحله

تصویری: ترسیم شدت نور با استفاده از آردوینو و کتابخانه اصلی آردوینو پایتون: 5 مرحله
تصویری: آینده ایران از نگاه #هوش_مصنوعی #shorts 2024, نوامبر
Anonim
ترسیم شدت نور با استفاده از آردوینو و کتابخانه اصلی آردوینو پایتون
ترسیم شدت نور با استفاده از آردوینو و کتابخانه اصلی آردوینو پایتون

آردوینو که یک ابزار اقتصادی و در عین حال بسیار کارآمد و کاربردی است ، برنامه نویسی آن در Embedded C روند ساخت پروژه ها را خسته کننده می کند! ماژول Arduino_Master پایتون این امر را ساده کرده و به ما امکان محاسبه ، حذف مقادیر زباله و ترسیم نمودار برای نمایش بصری داده ها را می دهد.

اگر هنوز از این ماژول اطلاع ندارید ، آن را با استفاده از دستور pip install Arduino_Master نصب کنید

اگر نمی دانید چگونه از این ماژول استفاده کنید ، نگران نباشید ، از این پیوند => Arduino_Master دیدن کنید

با این حال ، کد این پروژه همیشه در این دستورالعمل در دسترس خواهد بود.

تدارکات

برای این پروژه به موارد زیر نیاز دارید:

  1. یک آردوینو
  2. یک مقاومت وابسته به نور (LDR) و
  3. پایتون 3 بر روی رایانه شما نصب شده است.

مرحله 1: ایجاد مدار:

ساخت مدار خود
ساخت مدار خود

ما از پین A1 Arduino برای دریافت داده های ورودی استفاده می کنیم. همچنین می توانید از پین های 5V و GND آردوینو به جای باتری استفاده کنید. اتصال را به صورت زیر انجام دهید:

  1. یک سر LDR را به پایانه مثبت باتری 5 ولت یا پین 5 ولت آردوینو وصل کنید.
  2. انتهای دیگر LDR را به موازات پین A1 و پایانه منفی باتری یا پین GND آردوینو متصل کنید.
  3. از یک مقاومت استفاده کنید تا مطمئن شوید همه جریان به GND نمی رود که باعث می شود شما یک سیگنال به اندازه کافی قوی برای حس کردن در ترمینال A1 آردوینو دریافت نکنید. (از مقاومت 10k اهم استفاده می کنم).

مرحله 2: برنامه نویسی آردوینو:

ماژول Arduino_Master از Serial Monitor of Arduino برای ارسال و دریافت داده ها استفاده می کند. مزیت استفاده از این ماژول این است که پس از برنامه نویسی Arduino خود ، می توانید برنامه پایتون را به تنهایی برای پروژه های مختلف تغییر دهید ، زیرا برنامه نویسی در پایتون نسبتاً آسان تر است!

کد:

// متغیر LDR_1 برای نشان دادن پین A1 آردوینو استفاده می شود.

int LDR_1 = A1 ؛

// داده های دریافت شده از A1 در LDR_Value_1 ذخیره می شود.

شناور LDR_Value_1 ؛

ورودی رشته ؛

void setup ()

{pinMode (LDR_1 ، INPUT) ؛ // LDR_1 به عنوان یک پین ورودی تنظیم شده است. 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 را بخوانید و روی Serial Monitor چاپ کنید. } else int i = 0؛ // اگر ورودی برابر با "DATA" نیست ، هیچ کاری نکنید! }

}

مرحله 3: برنامه نویسی پایتون برای رسم نمودار داده ها از آردوینو:

هر LDR مقادیر مقاومت خود را دارد و باید به خاطر داشته باشیم که هیچ یک از اجزای الکترونیکی در عملکرد دقیقاً یکسان نیستند. بنابراین ابتدا باید ولتاژ را در شدت های مختلف نور پیدا کنیم.

برنامه زیر را در Python IDE خود بارگذاری کرده و اجرا کنید:

این کار را برای شدت های مختلف نور انجام دهید و با استفاده از نمودار نتیجه بگیرید مثلا اگر شدت کمتر از 1 باشد ، اتاق خیلی تاریک است. برای شدت بین 1 تا 2 ، اتاق به طور قابل توجهی تاریک است. برای شدت بیشتر از 2 ، چراغ روشن می شود.

# وارد کردن ماژول Arduino_Master

از واردات Arduino_Master *

# جمع آوری داده ها

data = filter (ardata (8 ، squeeze = False ، پویا = True ، msg = "DATA" ، lines = 30) ، ტიპი مورد انتظار = "num" ، limit = [0، 5])

محدودیت # روی 5 تنظیم شده است زیرا از باتری 5 ولت استفاده می کنیم.

# ترسیم ارزشها

نمودار (داده ، stl = 'dark_background' ، label = 'شدت نور')

مرحله 4: برنامه نهایی برای بررسی شدت نور در یک اتاق

پس از نتیجه گیری از داده های به دست آمده ، برنامه زیر را بارگذاری کنید و مطمئن شوید که محدودیت ها را طبق نتیجه گیری خود تغییر دهید.

# وارد کردن ماژول Arduino_Master

از Arduino_Master import # جمع آوری داده ها = فیلتر (ardata (8 ، squeeze = False ، پویا = True ، msg = "DATA" ، lines = 50) ، نوع مورد انتظار = "num" ، limit = [0، 5]) # طبقه بندی داده ها بر اساس اطلاعات نتیجه گیری = برای i در محدوده (len (داده)): شدت = داده اگر شدت 1 و شدت = 2: info.append ('Light ON') # رسم نمودار. compGraph (داده ها ، اطلاعات ، stl = 'dark_background'، label1 = 'شدت نور' ، label2 = 'State')

مرحله 5: نتیجه:

نتیجه
نتیجه

اجرای برنامه یک یا دو دقیقه طول می کشد زیرا شما 50 مقدار لحظه ای را از آردوینو می خوانید.

اگر می خواهید روند را تسریع کنید ، پارامتر خطوط تابع ardata را تغییر دهید. اما به یاد داشته باشید که هرچه مشاهدات کمتر باشد ، کیفیت داده ها کمتر خواهد بود.

توجه: اگر نمودار کامل در عکس بالا قابل مشاهده نیست ، نمودار بالا را در قسمت معرفی معرفی کنید.

توصیه شده: