فهرست مطالب:

ردیابی منبع نور خودکار با ARDUINO UNO R3: 5 مرحله
ردیابی منبع نور خودکار با ARDUINO UNO R3: 5 مرحله

تصویری: ردیابی منبع نور خودکار با ARDUINO UNO R3: 5 مرحله

تصویری: ردیابی منبع نور خودکار با ARDUINO UNO R3: 5 مرحله
تصویری: Crypto Pirates Daily News - Tuesday January 19th, 2022 - Latest Crypto News Update 2024, جولای
Anonim
ردیابی منبع نور خودکار با ARDUINO UNO R3
ردیابی منبع نور خودکار با ARDUINO UNO R3

در این درس ، ما از یک موتور سروو ، یک مقاومت در برابر عکس و یک مقاومت کششی برای جمع آوری یک سیستم منبع نور به طور خودکار استفاده می کنیم.

مرحله 1: اجزاء

- برد Arduino Uno * 1

- کابل USB * 1

- سروو موتور * 1

- مقاومت در برابر عکس * 1

- مقاومت (10k) * 1

- تخته نان * 1

- سیم های بلوز

مرحله 2: اصل

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

مرحله 3: نمودار شماتیک

نمودار شماتیک
نمودار شماتیک

مرحله 4: روش ها

رویه ها
رویه ها
رویه ها
رویه ها

مرحله 1:

مدار را بسازید.

گام 2:

کد را از https://github.com/primerobotics/Arduino بارگیری کنید

مرحله 3:

طرح را روی برد Arduino Uno بارگذاری کنید

برای بارگذاری کد در صفحه کنترل ، روی نماد بارگذاری کلیک کنید.

اگر "بارگذاری انجام شد" در پایین پنجره ظاهر شد ، به این معنی است که طرح با موفقیت بارگذاری شده است.

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

مرحله 5: کد

/********************************************************************

* نام:

ردیابی خودکار منبع نور

* عملکرد

: اگر از چراغ قوه برای درخشندگی مقاومت در برابر نور استفاده می کنید ،

* خواهید دید

سروو موتور و مقاومت در برابر عکس می چرخند ،

* و در نهایت

توقف در جهت منبع نور

***********************************************************************

/ایمیل: [email protected]

// وب سایت: www.primerobotics.in

#عبارتند از

const int photocellPin = A0؛

/************************************************/

Servo myservo ؛ // ایجاد شیء سروو برای کنترل سروو

int outputValue = 0؛

int angle = {0، 10، 20، 30، 40، 50، 60، 70، 80، 90،

100, 110, 120, 130, 140, 150, 160, 170, 180};

int maxVal = 0؛

int maxPos = 0 ؛

/*************************************************/

void setup ()

{

Serial.begin (9600)؛

myservo.attach (9) ؛ // سروو را روی پین 9 به شی سروو متصل می کند

}

/*************************************************/

حلقه خالی ()

{

برای (int i = 0 ؛

من <19؛ من ++)

{

myservo.write (زاویه ) ؛ // زاویه را به سروو بنویسید

خروجی ارزش

= analogRead (photocellPin) ؛ // مقدار A0 را بخوانید

Serial.println (outputValue) ؛ // آن را چاپ کنید

if (outputValue> maxVal) // اگر مقدار فعلی A0 بیشتر از قبلی باشد

{

maxVal = outputValue ؛ // مقدار را بنویسید

maxPos

= من ؛ //

}

تأخیر (200) ؛

}

myservo.write (زاویه [maxPos]) ؛ // زاویه ای را برای سرو بنویسید که A0 بیشترین ارزش را دارد

در حالی که (1) ؛

}

توصیه شده: