راهنمای گام به گام: استفاده از سر و صدا برای کنترل یک محرک برای باز و بسته اتوماتیک
بیایید فرض کنیم شما یک پروژه دارید که می خواهید یک محرک هر روز به طور خودکار هر روز در هر روز به طور خودکار گسترش یابد و جمع شود. چگونه می توانید این کار را انجام دهید و به چه چیزی نیاز دارید ، و مهمتر از همه کد آردوینو چیست. کد را می توان به راحتی برای زمان های مختلف تنظیم کرد و شما مجبور نیستید رمزگذار باشید تا این موضوع را بفهمید. ما همه آن را در زیر قرار داده ایم.
آنچه برای ایجاد یک چرخه محرک خودکار مبتنی بر زمان لازم است:
برای تنظیم یک سیستم مبتنی بر آردوینو برای گسترش و جمع آوری خودکار هر 30 دقیقه با استفاده از رله DPDT ، به سخت افزار زیر نیاز خواهید داشت:
- تخته آردوینو - این می تواند هر کدام باشد سر و صدا تخته ، مانند Arduino Uno یا Arduino Nano. این ماده به عنوان مغز سیستم عمل می کند و محرک و رله را کنترل می کند. خریدن میکرو کنترلر Arduino اینجا را کلیک کنید
- محرک خطی 12 ولت - این محرک است که هر 30 دقیقه به طور خودکار گسترش و جمع می شود. اطمینان حاصل کنید که محرک برای ولتاژ و جریان مورد نظر برای استفاده از آن رتبه بندی شده است. برای خرید محرک 12 ولت اینجا را کلیک کنید
- رله DPDT - از این رله برای تغییر قطبیت منبع تغذیه برای کنترل جهت محرک حرکت استفاده می شود. اطمینان حاصل کنید که رله برای ولتاژ و فعلی که قصد استفاده از آن را دارید ، رتبه بندی شده است. برای خرید رله DPDT اینجا را کلیک کنید
- منبع تغذیه - برای تأمین انرژی محرک و رله به منبع تغذیه 12 ولت نیاز خواهید داشت. برای خرید منبع تغذیه اینجا را کلیک کنید
- سیم های جامپر - از این سیم ها برای اتصال آردوینو ، محرک و رله به هم استفاده می شود.
- تخته نان (اختیاری) - از یک تخته نان می توان برای آسانتر کردن نمونه سازی و اتصال اجزای آن استفاده کرد.
- محوطه (اختیاری) - از محفظه می توان برای قرار دادن آردوینو ، محرک و رله و محافظت از آنها در برابر عناصر استفاده کرد.
پس از داشتن تمام سخت افزار لازم ، می توانید با اتصال اجزای سازنده با توجه به نمودار سیم کشی و بارگذاری کد مناسب به صفحه Arduino ، تنظیم سیستم را شروع کنید. این مهم است که اطمینان حاصل کنید که تمام اتصالات به درستی برقرار شده اند و محرک و رله به درستی برای ولتاژ و جریان مورد نظر شما قصد استفاده دارند.
گزینه های مختلف برنامه نویسی و تنظیم
2 روش برای برنامه ریزی این وجود دارد. یک راه استفاده از سیستم رله DPDT (دو قطب دو قطبی) است. روش دیگر استفاده از سیستم سروو است. و کد برای هر یک متفاوت است (هر دو زیر)
تفاوت اصلی استفاده از سروو و رله برای کنترل یک محرک با استفاده از یک آردوینو ، روشی است که محرک را کنترل می کند.
در کدی که از یک سرو برای کنترل محرک استفاده می کند ، سروو به آردوینو وصل می شود و با چرخاندن یک شافت برای انتقال جسمی محرک استفاده می شود. موقعیت شافت توسط سیگنال ارسال شده از Arduino به سروو تعیین می شود ، که بر اساس مقادیر تعیین شده در کد است. سروو قادر است دقیقاً موقعیت محرک را کنترل کند و آن را برای برنامه هایی که نیاز به موقعیت دقیق دارند ، انتخاب خوبی داشته باشد.
در کدی که از رله DPDT برای کنترل محرک استفاده می کند ، رله به آردوینو وصل شده و برای تغییر قطبیت منبع تغذیه به محرک استفاده می شود و باعث می شود که در هر جهت حرکت کند. موقعیت محرک با میزان زمانی که قدرت برای محرک اعمال می شود ، تعیین می شود که توسط زمان تأخیر تعیین شده در کد کنترل می شود. این روش از استفاده از سروو دقیق تر است ، زیرا موقعیت محرک با مدت زمان منبع تغذیه و نه توسط یک سنسور موقعیت فیزیکی تعیین می شود.
تفاوت دیگر بین استفاده از سروو و رله ، نیازهای برق است. Servos به طور معمول به ولتاژ و جریان کمتری نسبت به رله ها نیاز دارد ، که می تواند قدرت و استفاده آنها را در برخی از برنامه ها آسان تر کند. علاوه بر این ، سرووها به طور کلی گران تر از رله هستند ، که می تواند آنها را برای برخی از برنامه های کاربردی که در آن هزینه نگران کننده است ، انتخاب کمتری داشته باشد.
در نهایت ، انتخاب استفاده از سروو یا رله برای کنترل یک محرک با استفاده از یک آردوینو به الزامات خاص برنامه بستگی دارد ، از جمله نیاز به موقعیت یابی دقیق ، نیازهای برق و ملاحظات هزینه.
روش رله DPDT:
اگر ترجیح می دهید از رله DPDT برای کنترل محرک خود به جای سروو استفاده کنید ، می توانید مطابق آن کد را اصلاح کنید. در اینجا چند کد نمونه وجود دارد که هر 30 دقیقه با استفاده از یک آردوینو و یک رله DPDT ، یک محرک را گسترش داده و جمع می کند:
در اینجا کد Arduino است:
int actuatorpin = 9 ؛ // پین را که محرک به آن وصل شده است تنظیم کنید
int relaypin = 8 ؛ // پین را که رله به آن وصل شده است تنظیم کنید
void setup () {
pinmode (ActuatorPin ، خروجی) ؛ // پین محرک را به عنوان خروجی تنظیم کنید
pinmode (relaypin ، خروجی) ؛ // پین رله را به عنوان خروجی تنظیم کنید
}
loop void () {
DigitalWrite (RelayPin ، Low) ؛ // رله را روی موقعیت اول تنظیم کنید (محرک را به منفی/زمین متصل می کند)
DigitalWrite (ActuatorPin ، Low) ؛ // محرک را جمع کنید
تأخیر (1800000) ؛ // 30 دقیقه صبر کنید (در میلی ثانیه)
DigitalWrite (RelayPin ، High) ؛ // رله را روی موقعیت دوم تنظیم کنید (محرک را به مثبت/ولتاژ متصل می کند)
DigitalWrite (ActuatorPin ، High) ؛ // گسترش محرک
تأخیر (1000) ؛ // 1 ثانیه صبر کنید تا به محرک اجازه دهید قبل از عقب نشینی مجدد به طور کامل گسترش یابد
}
در این کد ، رله DPDT به محرک و منبع تغذیه وصل شده است و به آن امکان می دهد قطبیت منبع تغذیه را برای کنترل جهت محرک حرکت تغییر دهد. در digitalWrite()
از تابع برای تنظیم پین رله استفاده می شود LOW
یا HIGH
برای تغییر رله به موقعیت مناسب ، و digitalWrite()
عملکرد همچنین برای تنظیم پین محرک بر روی هر یک استفاده می شود LOW
یا HIGH
برای کنترل جهت حرکت. زمان تأخیر همانند کد قبلی است.
لطفاً توجه داشته باشید که برای اطمینان از عملکرد مناسب ، باید اطمینان حاصل کنید که رله به درستی سیم کشی شده و به پین های صحیح روی آردوینو و محرک وصل شده است. علاوه بر این ، ممکن است شما نیاز به تنظیم شماره پین و زمان تأخیر برای مطابقت با محرک و برنامه خاص خود داشته باشید.
روش سروو:
در اینجا چند کد نمونه وجود دارد که هر 30 دقیقه یک محرک را با استفاده از Arduino گسترش و جمع می کند:
#include
محرک سروو ؛ // برای کنترل محرک یک شیء سروو ایجاد کنید
int actuatorpin = 9 ؛ // پین را که محرک به آن وصل شده است تنظیم کنید
void setup () {
actuator.attach (ActuatorPin) ؛ // شیء سروو را به پین محرک وصل کنید
}
loop void () {
actuator.write (0) ؛ // محرک را جمع کنید
تأخیر (1800000) ؛ // 30 دقیقه صبر کنید (در میلی ثانیه)
Actuator.Write (180) ؛ // گسترش محرک
تأخیر (1000) ؛ // 1 ثانیه صبر کنید تا به محرک اجازه دهید قبل از عقب نشینی مجدد به طور کامل گسترش یابد
}
این کد در بالا استفاده می کند Servo
کتابخانه برای کنترل محرک و attach()
از تابع برای اتصال شی سروو به پین محرک استفاده می شود. در loop()
تابع ، محرک ابتدا با نوشتن یک مقدار از آن جمع می شود 0
به سروو ، و سپس تاخیر 30 دقیقه (1800000 میلی ثانیه) با استفاده از delay()
تابع. پس از گذشت 30 دقیقه ، محرک با نوشتن یک مقدار از آن گسترش می یابد 180
به سروو ، و تأخیر 1 ثانیه اضافه می شود تا به محرک اجازه دهد قبل از عقب نشینی مجدد به طور کامل گسترش یابد. سپس حلقه تکرار می شود و باعث می شود که محرک هر 30 دقیقه یکبار گسترش و جمع شود.
لطفاً توجه داشته باشید که ممکن است نیاز به تنظیم شماره پین و زمان تأخیر برای مطابقت با محرک و برنامه خاص خود داشته باشید. علاوه بر این ، مهم است که اطمینان حاصل شود که محرک به درستی سیم کشی شده و برای اطمینان از عملکرد مناسب به پین صحیح روی آردوینو وصل شده است.
Bennefits استفاده از یک کنترلر Arduino چیست؟
استفاده از یک کنترلر Arduino مزایای مختلفی دارد ، از جمله:
- کم هزینه: کنترل کننده های Arduino نسبتاً ارزان هستند و آنها را به یک گزینه در دسترس برای سرگرمی ها ، دانشجویان و متخصصان تبدیل می کنند.
- استفاده آسان: کنترل کننده های Arduino به گونه ای طراحی شده اند که کاربر پسند و آسان برای یادگیری باشند ، با جامعه بزرگی از کاربران و توسعه دهندگان که پشتیبانی و منابع را ارائه می دهند.
- همه کاره: کنترل کننده های Arduino می توانند در طیف گسترده ای از برنامه ها ، از کنترل چراغ های LED ساده گرفته تا سیستم های پیچیده روباتیک و اتوماسیون استفاده شوند.
- منبع باز: پلت فرم Arduino منبع باز است ، به این معنی که طراحی و نرم افزار برای هر کسی که می تواند از آنها استفاده و اصلاح کند ، آزادانه در دسترس است و یک جامعه مشترک و نوآورانه را تقویت می کند.
- قابلیت همکاری: کنترل کننده های Arduino با طیف گسترده ای از سنسورها ، محرک ها و سایر اجزای الکترونیکی سازگار هستند و باعث می شوند که آنها در سیستم های موجود ادغام شوند.
- مقیاس پذیر: کنترل کننده های Arduino بسته به الزامات برنامه می توانند از بالا یا پایین مقیاس بندی شوند و آنها را به گزینه ای انعطاف پذیر و سازگار تبدیل کنند.
- آموزشی: کنترل کننده های Arduino به طور گسترده در تنظیمات آموزشی مورد استفاده قرار می گیرند و تجربه یادگیری دستی را در زمینه الکترونیک ، برنامه نویسی و روباتیک در اختیار دانش آموزان قرار می دهند.
به طور کلی ، با استفاده از یک کنترلر Arduino می تواند یک راه حل کم هزینه ، همه کاره و کاربردی آسان برای طیف گسترده ای از برنامه ها ، از پروژه های سرگرمی گرفته تا سیستم های اتوماسیون صنعتی ارائه دهد.
آیا روش های دیگری برای استفاده از Arduino برای کنترل یک محرک برای باز و بسته شدن خودکار در فواصل زمانی وجود دارد؟
بله ، روش های دیگری برای استفاده از Arduino برای کنترل یک محرک برای باز و بسته شدن خودکار در فواصل زمانی وجود دارد. در اینجا چند نمونه هستند:
- با استفاده از درایور موتور: به جای استفاده از سروو یا رله ، می توانید از یک درایور موتور برای کنترل جهت و سرعت محرک استفاده کنید. یک درایور موتور به شما امکان می دهد تا با استفاده از مدولاسیون عرض پالس (PWM) ، قدرت رفتن به محرک را کنترل کنید. با تغییر سیگنال PWM ، می توانید سرعت و جهت محرک را کنترل کنید. برای ارسال سیگنال PWM به درایور موتور و کنترل حرکت محرک می توانید از پین های خروجی آنالوگ Arduino استفاده کنید.
- با استفاده از یک موتور پله ای: موتورهای پله ای موتورهایی هستند که به جای چرخش مداوم در مراحل گسسته حرکت می کنند. با کنترل تعداد مراحلی که موتور انجام می دهد ، می توانید موقعیت محرک را کنترل کنید. برای کنترل تعداد مراحلی که موتور انجام می دهد می توانید از درایور موتور پله ای و پین های خروجی دیجیتال آردوینو استفاده کنید و در نتیجه موقعیت محرک را کنترل کنید.
- با استفاده از H-Bridge: an اچ اچ یک مدار الکترونیکی است که به شما امکان می دهد جهت موتور DC را کنترل کنید. برای کنترل جهت محرک و یک آردوینو می توانید از یک پل H استفاده کنید. با تغییر جهت جریان جریان از طریق محرک ، می توانید جهت حرکت محرک را کنترل کنید.
- رله به موقع: یک رله به موقع وسیله ای است که اتصال تأخیر یا قطع برق الکتریکی را به محرک فراهم می کند. تأخیر زمانی را می توان با استفاده از یک تایمر یا دستگاه کنترل دیگر تنظیم کرد.
- کنترل کننده های منطق قابل برنامه ریزی (PLC): PLC ها نوعی رایانه صنعتی هستند که می توانند برای کنترل طیف گسترده ای از تجهیزات از جمله محرک ها برنامه ریزی شوند. آنها می توانند بر اساس معیارهای زمان بندی خاص ، محرک را باز و بسته کنند.
- تایمرهای دیجیتال: تایمرهای دیجیتال دستگاههای ساده ای هستند که می توانند برای کنترل محرک بر اساس معیارهای زمان بندی خاص برنامه ریزی شوند.
- سنسورها: از سنسورها می توان برای تشخیص تغییرات در محیط ، مانند نور یا دما استفاده کرد و براساس معیارهای زمان بندی خاص ، محرک را به باز یا بسته شدن سوق دهد.
- کنترل از راه دور بی سیم: از یک کنترل از راه دور بی سیم می توان برای باز و بستن محرک بر اساس معیارهای زمان بندی خاص استفاده کرد.
اینها فقط چند نمونه از روشهای استفاده از Arduino برای کنترل یک محرک برای باز کردن و بسته شدن خودکار در فواصل زمانی است. روش خاصی که انتخاب می کنید به الزامات برنامه شما بستگی دارد ، از جمله نوع محرک مورد استفاده شما و سطح کنترل مورد نیاز شما در مورد حرکت آن.
کنترلرهای Arduino ما را از اینجا ببینید
اینجا کلیک کنید