پروژه الکترونیکپروژه های آردوینوپروژه های بازی و سرگرمی

پروژه پنل خورشیدی دنبال کننده خورشید با آردوینو

سلام. پروژه پنل خورشیدی دنبال کننده خورشید گردان و چرخان با آردوینو را آماده کردیم.

طراحی صفحه خورشیدی گردان با Arduino

در این پروژه آردوینو قصد داریم یک پنل خورشیدی دنبال کننده خورشید را با استفاده از Arduino و سروو موتور بسازیم. برای حس کردن نور از دو مقاومت نوری LDR استفاده میکنیم تا بتوانیم به صورت خودکار پنل خورشیدی را به سمت آفتاب حرکت دهیم. استفاده از این پروژه کمک میکند همیشه پنل از حداکثر نور خورشید برخوردار شود تا بتواند انرژی بیشتری جذب کند.

در این پروژه ، LDR به عنوان تشخیص دهنده نور کار می کند. قبل از اینکه به جزئیات بپردازیم، باید بدانیم که عملکرد LDR چگونه است. LDR (مقاومت وابسته به نور) که به عنوان مقاومت تصویری نیز شناخته می شود، یک قطعه حساس به نور است. مقاومت آن در هنگام تابش نور کاهش می یابد. ما در اینجا دو LDR را در دو طرف صفحه خورشیدی قرار میدهیم و صفحه خورشیدی را به سروو موتور میچسبانیم تا بچرخد. در هر سمت که نور بیشتری وجود داشته باشد، پنل به آن سمت میچرخد و هنگامی که مقدار نور در دو طرف برابر باشد سروو موتور توقف میکند.

فیلم عملکرد پروژه در انتهای صفحه قرار داده شده است.

ساخت نمونه اولیه پروژه پنل خورشیدی چرخان

برای ساخت نمونه اولیه ، باید مراحل زیر را دنبال کنید:

توجه داشته باشید در اینجا یک نمونه آزمایشی، آسان و ارزان را میسازیم. در صورت نیاز میتوانید با چاپ سه بعدی این نمونه را به صورت شکیل و زیبا تر طراحی کنید.

مرحله 1: اول از همه باید یک تکه مقوا را مانند شکل زیر برش دهید و آن را سوراخ کنید. و در آن یک پیچ قرار دهید.

طراحی صفحه خورشیدی گردان با Arduino

مرحله 2: حالا دو قطعه مقوا کوچک با یکدیگر را به شکل V بچسبانید و صفحه خورشیدی را روی آن قرار دهید. سپس قسمت پایین شکل V را به انتهای دیگر تکه مقوای کوچک بچسبانید که در مرحله اول سوراخ کرده اید.

ساخت نمونه اولیه پروژه پنل خورشیدی چرخان

اگر میخواهید آردوینو را به صورت اصولی و پروژه محور (ساخت ربات، ارتباط با اندروید، اینترنت اشیا، برنامه نویسی حرفه ای) یاد بگیرید، حتما دوره آموزش آردوینو را مشاهده کنید.

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

پنل خورشیدی دنبال کننده خورشید با آردوینو

مرحله 4: حالا سروو را روی تکه دیگری از مقوا قرار دهید. اندازه مقوا باید به اندازه کافی بزرگ باشد تا بتوانید یک Arduino Uno ، یک برد بورد و یک باتری را روی آن قرار دهید.

آموزش ساخت پنل خوردشیدی گردان

مرحله 5: LDR ها را در دو طرف پنل خورشیدی با کمک چسب بچسبانید. اطمینان حاصل کنید که سیمها را به پایه های LDR لحیم کرده اید.

همچنین اگر در مورد این مطلب سوالی داشتید در انتهای صفحه در قسمت نظرات بپرسید

مرحله 6: حالا آردوینو ، باتری و برد بورد را روی مقوا قرار دهید و همانطور که در قسمت توضیحات شماتیک مدار توضیح داده شده است ، اتصال را در زیر قرار دهید. نمونه اولیه نهایی در زیر نشان داده شده است.

تصویر نهایی پنل خورشیدی دنبال کننده نور آفتاب

توضیحات شماتیک پروژه

در این پروژه ردیاب خورشیدی آردوینو ، آردوینو از باتری 9 ولت تغذیه می کند و تمام قسمت های دیگر از برد Arduino تغذیه می شوند. ولتاژ ورودی پیشنهادی Arduino از 7 تا 12 ولت است اما می توانید آن را در محدوده 6 تا 20 ولت هم بدهید اما سعی کنید آن را در ولتاژ ورودی پیشنهادی نیرو دهید. سیم مثبت باتری را به Vin آردوینو و سیم منفی باتری را به GND آردوینو وصل کنید. در تصویر زیر شماتیک کامل این پروژه را مشاهده میکنید :

شماتیک پروژه پنل خورشیدی گردان

سروو را به Arduino وصل کنید. سیم مثبت سروو را به 5 ولت آردوینو و سیم GND به GND آردوینو وصل کرده و سپس سیم سیگنال سروو را به پین ​​دیجیتال 9 آردوینو وصل کنید. سروو در حرکت پنل خورشیدی کمک خواهد کرد.

قطعات مورد نیاز

  1. سروو موتور sg90
  2. صفحه خورشیدی
  3. برد آردوینو Uno
  4. مقاومت نوری LDR – دو عدد
  5. مقاومت 10 کیلو اهم – دو عدد

برنامه نویسی پنل خورشیدی چرخان

کد پروژه صفحه خورشیدی دنبال کننده آفتاب بسیار ساده است. کد کامل در فایل دانلودی انتهای صفحه قرار داده شده است. در اینجا بعضی از قسمت های کد را بررسی میکنیم.

اول از همه ، کتابخانه مربوط به سرو موتور را درج خواهیم کرد. سپس متغیر را برای موقعیت اولیه موتور سروو تنظیم می کنیم. پس از آن ، متغیرهایی را برای خواندن اطلاعات سنسور های LDR و Servo تعریف می کنیم.

#include <Servo.h>      //فراخوانی کتابخانه سروو موتور
Servo sg90;                   //پیکربندی متغیر سروو موتور
int initial_position = 90;    //تنظیم موقعیت اولیه سروو موتور
int LDR1 = A0;                //پین ال دی آر اول
int LDR2 = A1;                //پین ال دی آر دوم
int error = 5;                //پیکربندی متغیر خطا
int servopin=9;               // پین سروو موتور

فرمان sg90.atach(servopin) سروو را در پین مورد نظر پیکربندی میکند. در مرحله بعدی پین های LDR را به عنوان پین ورودی تنظیم می کنیم تا بتوانیم مقادیر را از سنسورها بخوانیم و پنل خورشیدی را مطابق با آن حرکت دهیم. سپس سروو موتور را در 90 درجه تنظیم می کنیم که موقعیت اولیه سروو است.

void setup() 
{ 
  sg90.attach(servopin);  // تنظیم سروو موتور روی پین 9
  pinMode(LDR1, INPUT);   //تنظیم پین مقاومت نوری به عنوان ورودی
  pinMode(LDR2, INPUT);   //تنظیم پین مقاومت نوری به عنوان ورودی
  sg90.write(initial_position);   //قرار دادن سروو در موقعیت 90 درجه
  delay(2000);                   // تاخیر 2 ثانیه ای
}

سپس مقادیر را از LDR ها میخوانیم و آن ها را در متغیر r1 و R2 ذخیره میکنیم. سپس بین مقدار دو مقاومت نوری، یک تفریق انجام میدهیم. اگر اختلاف آن ها با هم 0 باشد یعنی نور در هر دو مقاومت یکسان است و سروو حرکت نمیکند. ما یک متغیر خطا تعریف کردیم و مقدار آن را 5 قرار دادیم. دلیل استفاده از این متغیر این است که هنگامی که اختلاف بین دو LDR کمتر از 5 باشد، صفحه خورشیدی حرکت نمیکند. اگر اینکار را نکنیم، با کمترین میزان تغییر نور در هر دو طرف پنل خورشیدی میچرخد و این مطلوب نیست. در صورتی که اختلاف مقدار دو LDR بیشتر از 5 باشد، سروو موتور پنل خورشیدی را در جهت نور بیشتر حرکت میدهد.

  int R1 = analogRead(LDR1); // خواندن مقدار مقاومت  نوری اول
  int R2 = analogRead(LDR2); // خواندن مقدار مقاومت نوری دوم
  int diff1= abs(R1 - R2);   // محاسبه اختلاف بین دو LDR
  int diff2= abs(R2 - R1);
  
  if((diff1 <= error) || (diff2 <= error)) {
    //اگر بین دو مقدار تفاوتی نباشد
  } else {    
    if(R1 > R2) // اگر مقدار ال دی آر اول بیشتر از دوم باشد
    {
      initial_position = --initial_position;  //چرخش سروو موتور به موقعیت 0 درجه
    }
    if(R1 < R2) // اگر مقدار ال دی آر دوم بیشتر از اول باشد
    {
      initial_position = ++initial_position; //چرخش سروو موتور به موقعیت 0 درجه
    }
  }

فیلم عملکرد پروژه

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

برای دانلود فایل ها باید عضو آیرنکس باشید، تنها چند ثانیه زمان لازم است.

ورود / ثبت نام

[lrm_form default_tab=”register” logged_in_message=””]

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

محمد رحیمی

محمد رحیمی هستم. سعی میکنم در آیرنکس مطالب مفید را قرار دهم. مالکیتی بر مطالب ارائه شده ندارم. اکثر فعالیت بنده در زمینه ترجمه است. (در خصوص سوال در مورد این مطلب از قسمت نظرات همین مطلب اقدام کنید)

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *