فهرست مطالب:
- تدارکات
- مرحله 1: مرور کلی بر طراحی
- مرحله 2: مرور کلی کد
- مرحله 3: اتصال Nema 17 به Base Plate & Auger
- مرحله 4: سیم کشی L298N & RTC
- مرحله 5: کدگذاری با نظرات
- مرحله 6: مشکلات و راه حل آنها
تصویری: تغذیه کننده سگ خودکار: 6 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:51
این پروژه من از تغذیه کننده حیوان خانگی خودکار است. نام من پارکر است و من در کلاس 11 هستم و این پروژه را در 11 نوامبر 2020 به عنوان CCA (فعالیت درخشان کننده دوره) در این پروژه ساختم ، من به شما نحوه ساخت یک تغذیه کننده خودکار حیوان خانگی با Arduino UNO را نشان خواهم داد. شما می توانید زمانی را که می توانید تغییر دهید انتخاب کنید. غذا از طریق چاقو پخش می شود و حیوانات خانگی شما را تغذیه می کند!
تدارکات
الکترونیک:
- آردوینو UNO
- L298N - 10 $ - Nema 17 را کنترل می کند
- NEMA 17 - 10 $ - چنگال را می چرخاند تا غذا از بین برود
- RTC (DS1307) - 10 $ - زمان می دهد
- منبع تغذیه 12 ولت - 5 دلار - همه چیز را تامین می کند
- Mini Breadboard - برای فضای سیم کشی اضافی
- Jumper Wires - همه چیز را متصل می کند
- سیم های زن به مرد - همه چیز را متصل می کند
سخت افزار:
- رشته چاپ سه بعدی - برای چاپگرهای سه بعدی
- 2 پیچ M4 - صفحه پایه را در جای خود نگه دارید
- 4 پیچ Nema 17 - پیچ نما را پایین نگه دارید
- PVC T 48mm ابعاد داخلی 66mm بعد خارج - 3 دلار
ابزارها:
- چاپگر سه بعدی
- مته
- تفنگ لحیم کاری
مرحله 1: مرور کلی بر طراحی
طراحی تغذیه کننده حیوانات خانگی بسیار ساده است. یک قیف به بالای PVC T. می رود سپس یک جلد در پشت PVC T (همانطور که در تصویر نشان داده شده است) با نمای 17 متصل شده است. سپس Nema 17 به پشت Auger فشار داده می شود که در بالا دیده می شود و یک پیچ به طرف آن می رود تا آن را در جای خود نگه دارد تا سوراخی را که در بالا دیده می شود تغییر شکل ندهد!
سپس چنگال غذا را به سادگی از لوله خارج کرده و داخل یک کاسه قرار می دهد!
مرحله 2: مرور کلی کد
RTC & Stepper دارای کتابخانه ای به نام RTClib.h و Stepper.h هستند که کد ساده شده ای را برای RTC & Stepper اضافه می کند. عبارات if بسیار ساده است اگر ساعت و دقیقه برابر با زمان گفته شده باشد ، نما را می چرخاند که غذا را پخش می کند. درک بقیه کد حتی برای افرادی که یک روز تجربه دارند بسیار آسان است.
مرحله 3: اتصال Nema 17 به Base Plate & Auger
ابتدا می خواهید صفحه اصلی خود را برداشته و با استفاده از سوراخ های از پیش ساخته شده روی صفحه پایه ، آن را به Nema 17 خود وصل کنید. پس از اتمام کار ، می خواهید با استفاده از سوراخ پشتی آن را به نما وصل کنید. سپس صفحه پایه را با چنگال و نما متصل کرده و سپس پیچ و مهره های M2 را در هر طرف پیچ کنید.
مرحله 4: سیم کشی L298N & RTC
این مرحله نحوه سیم کشی L298N & RTC را به شما می گوید
ما با پین های 8 ، 9 ، 10 ، 11 به L298N شروع می کنیم
- پین 8 (سفید) به IN1
- پین 9 (بنفش) به IN2
- پین 10 (صورتی) را به IN3 وصل کنید
- پین 11 (زرد) تا IN4
در مرحله بعد Nema 17 را به L298N متصل می کنیم
- OUT1 تا 1 در NEMA
- OUT2 تا 2 در NEMA
- OUT3 تا 3 در NEMA
- OUT4 تا 4 در NEMA
اتصال 12v و آردوینو به L298N (12 ولت پیدا نشد بنابراین باتری 9 ولت را به عنوان قدرت تصور کنید)
- ولتاژ تا 12 ولت
- زمین به GND
- 5V تا 5V در Breadboard
اتصال RTC به آردوینو
- GND به GND
- 5V تا 5V در Breadboard
- SDA تا A5
- SCL تا A4
پین های بلوز
همه پین های جهنده قرار است روی L298N باشند
مرحله 5: کدگذاری با نظرات
کد در تصاویر بالا واضح تر است
// نام: پارکر فردریک
// نام پروژه: تغذیه کننده حیوان خانگی خودکار // تاریخ: سه شنبه ، 10 نوامبر 2020 // معلم: M. Bonisteel // Desc: در زمان گفته شده از حیوانات خانگی خود تغذیه کنید!
// کتابخانه برای مواردی که استفاده کردم #شامل #شامل #شامل #شامل "RTClib.h"
RTC_DS1307 rtc؛ // می گوید RTC از چه چیزی استفاده می کنم
// اینجاست که زمان غذا را تعیین می کنید
// Hours int mornFeedTime = 12؛ int nightFeedTime = 7 ؛ // دقیقه int mornFeedTimeM = 29؛ int nightFeedTimeM = 00؛ // Seconds int mornFeedTimeS = 20؛ int nightFeedTimeS = 00؛
char daysOfTheWeek [7] [12] = {"یکشنبه" ، "دوشنبه" ، "سه شنبه" ، "Wedsneday" ، "پنجشنبه" ، "جمعه" ، "شنبه"}؛ // باعث می شود روزهای عادی به روزهای هفته تبدیل شوند
const int feed = 200؛ // این مراحل شماست تا چند بار بخواهید بچرخد
Stepper myStepper (خوراک ، 8 ، 9 ، 10 ، 11) ؛ // سنجاق های شما برای Nema 17 و بیشتر استپرهای دیگر
void setup () {Serial.begin (9600)؛
در حالی که (! سریال) ؛ // اگر RTC کار نمی کند ، آن را در صفحه سریال (if!! rtc.begin ()) {Serial.println ("RTC پیدا نشد") نمایش می دهد. در حالی که (1) ؛ }
// این به شما می گوید که آیا ساعت واقعی در حال اجرا است یا خیر و اگر (! rtc.isrunning ()) {Serial.println ("RTC در حال اجرا است!") آن را در صفحه سریال نمایش می دهد.
rtc.adjust (DateTime (F (_ DATE_) ، F (_ TIME_))) ؛ // این کار زمان کامپیوتر شما را می گیرد و از آن در RTC استفاده می کند
// اگر می خواهید به جای زمان کامپیوتر زمان مشخصی داشته باشید ، می توانید این کار را در اینجا انجام دهید //rtc.adjust(DateTime(2020، 10، 29، 8، 28، 0))؛ // سال/ماه/روز/ساعت/دقیقه/ثانیه} myStepper.setSpeed (200) ؛ // سرعتی که می خواهید در آن بچرخد}
void loop () {DateTime now = rtc.now ()؛
// این باعث می شود این متغیرها در ساعت فعلی و غیره int int hr = now.hour ()؛ int mi = now.minute ()؛ int se = now.second ()؛
// کدگذاری کنید تا در زمان تعیین شده غذا پخش شود و 5 بار بچرخد ، این برای خوراک صبح است
if (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println ("صبحانه!") ؛ myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
}
// کدگذاری کنید تا در زمان تعیین شده غذا پخش شود و 5 بار بچرخد ، این برای تغذیه شبانه است
if (hr == nightFeedTime && mi == nightFeedTimeM && nightFeedTimeS == se) {Serial.println ("شام!") ؛ myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛
myStepper.step (-feed) ؛ تاخیر (700) ؛ }
// این نشان می دهد سال ، ماه ، روز ، ساعت ، دقیقه ، ثانیه در سریال
Serial.print (now.year ()، DEC)؛ Serial.print ('/')؛ Serial.print (now.month ()، DEC)؛ Serial.print ('/')؛ Serial.print (now.day () ، DEC) ؛ Serial.print ("(") ؛ Serial.print (daysOfTheWeek [now.dayOfTheWeek ()]) ؛ Serial.print (")") ؛ Serial.print (now.hour () ، DEC) ؛ Serial.print (':')؛ Serial.print (now.minute () ، DEC) ؛ Serial.print (':')؛ Serial.print (now.second ()، DEC)؛ Serial.println ()؛ }
وب سایتی که برای RTC استفاده کردم اکثر موارد غیر از عبارت های if که می گویند RTC روشن یا خاموش است را حذف کردم. من عمدتا از این وب سایت برای یادگیری نحوه برنامه ریزی RTC استفاده کردم
وب سایتی که برای استپر موتور استفاده کردم این به من کمک کرد تا بفهمم چگونه استپر را برای اجرا برنامه ریزی کنم. این فقط به من کمک کرد تا نحوه کدگذاری آن را درک کنم
مرحله 6: مشکلات و راه حل آنها
چند مشکل داشتم
- من به منبع تغذیه 12 ولت نیاز داشتم ، فقط یک باتری 9 ولت داشتم که یک دستگاه پیدا کردم و سریع حل شد.
- هنگام اتصال L298N با NEMA 17 سیم های A و A اشتباه بود که باعث کمی تکان خوردن آن شد. من به سادگی با تغییر سیم ها به روش دیگر آن را برطرف کردم.
- سعی کردم کد را ساده تر کنم زیرا در دستور if myStepper.step (-feed) ؛ بارها و بارها آشفته به نظر می رسید. بنابراین مجبور شدم دوباره آن را عوض کنم.
- همانطور که در تصویر مشاهده می شود اندازه صفحه اشتباه بود ، بنابراین مجبور شدم یک صفحه جدید را کمی چاپ کنم و کاملاً مناسب باشد!
- مشکلی که من دارم این است که از آنجا که سنباده کوچک است ، گیر می کند ، بنابراین می توانم آن را به هم بریزم. راه ساده ای که می توانم آن را برطرف کنم این است که حجم را کمی بزرگتر کنم!
توصیه شده:
تغذیه کننده خودکار حیوان خانگی با استفاده از AtTiny85: 6 مرحله
تغذیه کننده خانگی خودکار با استفاده از AtTiny85: O trabalho تغذیه کننده خودکار حیوانات خانگی با استفاده از AtTiny85 de PET Engenharia de Computação está licenciado com uma Licença Creative Commons - Atribuição 4.0 Internacional
طراحی همدلانه: تغذیه کننده خودکار موش آردوینو: 18 مرحله
طراحی همدلانه: تغذیه کننده خودکار موش آردوینو: این دستورالعمل به عنوان یک راهنمای همه جانبه برای ایجاد یک دستگاه تغذیه خودکار برای موش یا حیوان خانگی با اندازه مشابه عمل می کند. الهام بخش این پروژه از موش خواهرم بود که باید دقیقاً 4 قرص غذا بخورد
DIY ساده ترین تغذیه کننده خودکار حیوان خانگی با آردوینو: 3 مرحله
DIY ساده ترین تغذیه کننده خودکار حیوانات خانگی با آردوینو: سلام به دوستداران حیوانات خانگی! در اعماق همه ما می خواهیم یک توله سگ کوچک ناز یا بچه گربه یا احتمالاً حتی یک خانواده ماهی در خانه داشته باشیم. اما به دلیل مشغله های زیاد ، ما اغلب به خود شک می کنیم که آیا می توانم از حیوان خانگی خود مراقبت کنم؟ مسئولیت اصلی
فوق العاده شیک تغذیه کننده گربه خودکار: 3 مرحله (همراه با تصاویر)
فوق العاده شیک خوراک گربه اتوماتیک: جوجو یک گربه فوق العاده زیبا است. من او را از هر نظر دوست دارم ، با این تفاوت که او هر روز 4 صبح من را برای خوردن غذا بیدار می کند ، بنابراین وقت آن رسیده است که برای نجات خوابم از یک تغذیه کننده گربه استفاده کنم. با این حال ، او آنقدر خوش تیپ است که وقتی می خواهم یک حق پیدا کنم
تغذیه کننده خودکار حیوان خانگی با استفاده از ساعت دیجیتالی قدیمی: 10 مرحله (همراه با تصاویر)
تغذیه کننده حیوان خانگی خودکار با استفاده از یک ساعت دیجیتالی قدیمی: سلام ، در این قسمت آموزشی به شما نشان خواهم داد که چگونه با استفاده از یک ساعت دیجیتالی قدیمی یک دستگاه تغذیه کننده خانگی خودکار را ساخته ام. من همچنین یک ویدیو در مورد نحوه ساخت این فیدر جاسازی کرده ام. این دستورالعمل در مسابقه PCB شرکت داده می شود و به عنوان یک لطف می خواهم