فهرست مطالب:
- مرحله 1: مواد لازم
- مرحله 2: ساخت آردوینو
- مرحله 3: کدنویسی آردوینو
- مرحله 4: اختیاری: صفحه LCD
- مرحله 5: قطعات چاپ شده
- مرحله 6: قرار دادن
تصویری: استپر موتور کنترل شده + براکت دیواری/پایه: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
این پایه برای قرار دادن یک موتور پله ای کنترل شده آردوینو استفاده می شود که برای کنترل خودکار پرده با توجه به سطح نور اتاق طراحی شده است. همچنین می توانید یک صفحه LCD برای چاپ سطح نور اضافه کنید. چرخ دنده سه بعدی فقط برای نمایش است ، ممکن است یک ابزار واقعی برای کاربردهای عملی مانند پرده ، اما همچنین هر برنامه دیگری که فکر می کنید مورد نیاز باشد.
مرحله 1: مواد لازم
برای شروع این پروژه شما نیاز دارید ؛
- 2 تراشه Arduino- یک سپر موتور Arduino- یک صفحه نمایش Arduino LCD- 1 Breadboard- 1 Stepper Motor دو قطبی- 1 باتری D- 1 مقاومت وابسته به نور- 1 مقاومت 10k Ω- 10 سیم نر- 6 نر- سیم های زن- دسترسی به چاپگر سه بعدی
مرحله 2: ساخت آردوینو
ابتدا سپر موتور را با پین های آردوینو صف آرایی کرده و هنگامی که آنها در صف قرار گرفتند ، آن را محکم در پایین قرار دهید. سپس سیمهای پله موتور را به پینهای 8 ، 9 ، 10 و 11 سپر موتور وصل کنید. پس از آن باتری D را در شکافها همانطور که در نمودار نشان داده شده است وصل کنید. در مرحله بعد می خواهید 6 سیم (نر به ماده) را برای صفحه LCD را وصل کنید و همانطور که در نمودار نشان داده شده است آنها را به واحد دیگر آردوینو متصل کنید. سپس LDR را همانطور که در بالا نشان داده شده است تنظیم کنید و مقاومت را به ردیف منفی وصل کنید. هنگام افزودن LDR ، در کنار مقاومت ، اضافه کنید اتصالات A0 و در طرف مقابل ، 1 ورودی 5 ولت برای هر برد مورد استفاده خود اضافه کنید ، بنابراین اگر از 2 برد استفاده می کنید ، می خواهید هر یک از آنها دارای یک پین 5 ولت و A0 به LDR باشد.
همه سیمها را به هم وصل کنید مانند نمودار 2 ورودی به LDR- 2 خروجی از LDR و یک مقاومت متصل به زمین- 8 سیم به LCD ، 1 5V ، 1 زمین و 6 ورودی- 4 سیم متصل به پله- 2 اتصال به باتری- زمین تخته نان باید متصل شود
مرحله 3: کدنویسی آردوینو
در اینجا چند کد نمونه برای تغییر وضعیت چرخ دنده بر اساس LDR آمده است
این کدی است که به پروژه اجازه می دهد تا پرده را به طور خودکار کنترل کند. عکس بالا مسیرهای مختلف را از طریق دستورات IF تو در تو به بالا ، پایین یا ماندن در جایی که هست توضیح می دهد. (برای مشاهده کامل تصویر ، زیرا اشکال در قالب بندی وجود دارد ، روی آن کلیک کنید)
#defineLDRA0 // متغیر "LDR" را به پین A0#include تعریف می کند
constintstepsPerRevolution = 200 ؛ // هنگامی که موتور پله ای فعال می شود ، چرخش کامل آن برابر با 200 مرحله است
SteppermyStepper (مراحلPerRevolution ، 8 ، 9 ، 10 ، 11) ؛ // ورودی استپر را به عنوان پین 8 ، 9 ، 10 ، 11 تعریف می کند
voidsetup () {myStepper.setSpeed (60) ؛ // تنظیم می کند که موتور با چه سرعتی چرخش می دهد (LDR ، INPUT) ؛ }
voidloop () {intlightlevel = analogRead (LDR) ؛ // متغیر "lightlevel" را به عنوان عملی تعریف می کند که مقدار "LDR" Serial.print ("Level Level:") ؛ Serial.println (lightlevel) ؛ // را مشخص می کند. مقدار "lightlevel" را با عنوان بالا چاپ می کند
/* در حال حاضر یک حلقه وجود دارد که سطح نور را در هر نقطه از راه تشخیص می دهد* 3 گزینه در دسترس است ، بالا بروید ، پایین بروید ، در همان موقعیت بمانید* طوری طراحی شده است که اگر سطح نور یکسان بماند ، ثابت بمانید ، اگر نه تغییر می کند * یعنی اگر 950 باشد ، سپس به 952 برود ، هیچ اتفاقی نمی افتد ، اما اگر از 950 به 600 برسد ، پرده را بالا می برد و برعکس * هر مرحله با یک نامه مشخص می شود در جلوی مرحله برای ردیابی جایی که در حلقه از طریق مانیتور سریال قرار دارد */
if (lightlevel> = 900) {Serial.println ("A") ؛ // کدام مرحله در loopmyStepper.step (3*stepsPerRevolution) است ؛ // استپر 3 دور رو به جلو انجام می دهد. اگر منفی باشد ، به عقب برمی گردد (30000) ؛ // آن را به مدت 5 دقیقه در آنجا می گذارد intlightlevel = analogRead (LDR) ؛ // متغیر "lightlevel" را به عنوان آخرین خوانش از LDRSerial.print ("سطح نور:") تعریف می کند. ؛ // متن را در مقابل متغیر Serial.println (lightlevel) چاپ می کند // مقدار سطح نور را چاپ می کند
if (lightlevel> = 900) {Serial.println ("B") ؛ myStepper.step (0) ؛ تأخیر (10000) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (سطح سبک) ؛
if (lightlevel> = 900) {Serial.println ("C") ؛ myStepper.step (3*-stepsPerRevolution) ؛ تأخیر (500) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel)؛}
else {Serial.println ("D") ؛ myStepper.step (3*-stepsPerRevolution) ؛ تأخیر (10000) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel) ؛}}
else {Serial.println ("E")؛ myStepper.step (3*-stepsPerRevolution) ؛ تأخیر (10000) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (سطح روشن) ؛
if (lightlevel> = 900) {Serial.println ("F") ؛ myStepper.step (0) ؛ تأخیر (500) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel)؛}
else {Serial.println ("G") ؛ myStepper.step (0) ؛ تاخیر (10000) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel) ؛}}
}
else {Serial.println ("H") ؛ myStepper.step (0) ؛ تأخیر (10000) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel) ؛
if (lightlevel> = 900) {Serial.println ("I") ؛ myStepper.step (3*stepsPerRevolution) ؛ تأخیر (10000) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ سریال.println (سطح روشن) ؛
if (lightlevel> = 900) {Serial.println ("J") ؛ myStepper.step (3*-stepsPerRevolution) ؛ تأخیر (500) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel)؛}
else {Serial.println ("K") ؛ myStepper.step (3*-stepsPerRevolution) ؛ تاخیر (10000) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel) ؛
}}
else {Serial.println ("L") ؛ myStepper.step (0) ؛ تأخیر (10000) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel) ؛
if (lightlevel> = 900) {Serial.println ("M") ؛ myStepper.step (0) ؛ تأخیر (500) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel)؛}
else {Serial.println ("N") ؛ myStepper.step (0) ؛ تاخیر (10000) ؛ intlightlevel = analogRead (LDR) ؛ Serial.print ("سطح نور:") ؛ Serial.println (lightlevel) ؛
}}
}
}
مرحله 4: اختیاری: صفحه LCD
با این کار سطح نوری که توسط LDR تشخیص داده می شود روی صفحه LCD چاپ می شود.
#عبارتند از
-
// کتابخانه کریستال مایع را با کد اضافی#define ldr A0 // متغیر "ldr" را به پین A0 اضافه می کند
LCD مایع LiquidCrystal (8 ، 9 ، 4 ، 5 ، 6 ، 7) ؛ // مقداردهی کتابخانه با شماره پین های رابط
voidsetup () {// کدی که یکبار در startlcd.begin اجرا می شود (16 ، 2) ؛ // تعداد ستون ها و خطوط LCD را به ترتیب ترتیب دهیدpinMode (ldr ، INPUT) ؛ // ldr را به عنوان ورودی pinSerial.begin (9600) تعریف می کند ؛ // ارتباط با مانیتور سریال را آغاز می کند
}
voidloop () {// کدی که پیوسته تکرار خواهد شدSerial.println (analogRead (ldr))؛ // خواندن ldr (شماره ای بین 0-1023) را در سریال monitorlcd.setCursor (6 ، 0) چاپ می کند ؛ // مکان نما را روی ستون 6 ، خط 0lcd.print (analogRead (ldr)) تنظیم کنید ؛ // این خواندن را روی صفحه نمایش LCD (1000) چاپ می کند. // فرمان بعدی را برای یک ثانیه به تأخیر می اندازد
}
مرحله 5: قطعات چاپ شده
برای چاپ پایه و چرخ دنده از فایل های زیر استفاده کنید. شما می توانید چرخ دنده را برای اهداف خود سفارشی کنید و می توانید از براکت برای نصب آن بر روی دیوار یا به عنوان صفحه نمایش استفاده کنید. از آنجا که چرخ دنده سه بعدی ضعیف است ، تا زمانی که با پرده ای که کنترل می کند مطابقت داشته باشد ، ممکن است یک چرخ دنده واقعی جایگزین آن شود.
اگر قرار است از چرخ دنده چاپ سه بعدی استفاده شود ، یکی از دندان های چرخ دنده برداشته شده است تا یک پیچ تنظیم شده بتواند آن را روی موتور ثابت کند.
اگر قرار باشد روی دیوار نصب شود ، 2 پایه جلویی براکت دیواری نیز برداشته می شود. آنها فقط اضافه شدند تا زمانی که ما با آن آزمایش می کردیم ، ایستاد.
مرحله 6: قرار دادن
اکنون که همه قطعات آماده هستند ، زمان شروع استقرار نهایی فرا رسیده است.
ابتدا ، موتور پله ای را در جعبه ارائه شده روی پایه قرار دهید و چرخ دنده را روی محور قرار دهید ، سپس سیم ها را طوری حرکت دهید که به پشت پایه بروند. در نهایت ، آردوینو و باتری را پشت پایه قرار دهید
تخته شما اکنون باید شبیه به تصویر بالا باشد.
تبریک می گویم!
این چرخ دنده ممکن است برای پرده های خودکار یا هر چیز دیگری که می خواهید توسط LDR کنترل شود استفاده شود.
شما انجام دادید. از آفرینش جدید خود لذت ببرید.
توصیه شده:
نحوه ایجاد یک صفحه وب ساده با استفاده از براکت برای مبتدیان: 14 مرحله
نحوه ایجاد یک صفحه وب ساده با استفاده از براکت برای مبتدیان: مقدمه دستورالعمل های زیر راهنمای گام به گام برای ایجاد یک صفحه وب با استفاده از براکت ها را ارائه می دهد. Brackets یک ویرایشگر کد منبع با تمرکز اصلی بر توسعه وب است. ایجاد شده توسط Adobe Systems ، یک نرم افزار رایگان و منبع باز است که دارای مجوز
براکت نصب سه پایه ISight: 3 مرحله
براکت نصب سه پایه ISight: من همیشه خود را در حال ضبط کردن ، بالا آوردن ، یا آویختن وب کم ها یا دوربین iSight خود از کتاب ها ، قفسه ها یا جعبه ها در سراسر خانه می دانم- اگر در حال انجام پروژه زمان گذرانی یا نصب دوربین برای با نظارت تصویری ، این امر بسیار بد است
پایه لپ تاپ (بر اساس براکت های IKEA): 5 مرحله
پایه لپ تاپ (بر اساس براکت های IKEA): ایجاد این پایه کمتر از 20 دقیقه طول کشید. من از دو براکت VALTER از قطعه چوب IKEA ، 2 پیچ و پد موس قدیمی استفاده کردم
براکت 3.5 اینچی HDD برای 5.25 اینچ Drive Bay: 3 مرحله
براکت 3.5 اینچی HDD برای 5.25 اینچ Drive Bay: بسیاری از ما هنوز CD/DVD-ROM های قدیمی داریم که به آنها احتیاج ندارید ، اما متاسف هستید که آنها را دور بیندازید