جدول المحتويات:
- اللوازم
- الخطوة 1: نظرة عامة على التصميم
- الخطوة 2: نظرة عامة على التعليمات البرمجية
- الخطوة 3: إرفاق نيما 17 باللوحة الأساسية والمثقب
- الخطوة 4: توصيل الأسلاك L298N & RTC
- الخطوة 5: الترميز مع التعليقات
- الخطوة 6: المشاكل وكيف أصلحتها
فيديو: وحدة التغذية التلقائية للكلاب: 6 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:36
هذا هو مشروعي الخاص بـ Auto Pet Feeder. اسمي باركر أنا في الصف 11 وقد أنشأت هذا المشروع في 11 نوفمبر 2020 باعتباره CCA (نشاط تتويج الدورة التدريبية) في هذا المشروع سأوضح لك كيفية إنشاء وحدة تغذية تلقائية للحيوانات الأليفة باستخدام Arduino UNO. يمكنك اختيار الوقت الذي يمكنك تغييره. سيتم الاستغناء عن الطعام من خلال البريمة وإطعام حيواناتك الأليفة!
اللوازم
الإلكترونيات:
- اردوينو UNO
- L298N - 10 دولار - يتحكم في نيما 17
- NEMA 17 - 10 $ - يدير البريمة حتى يوزع الطعام
- RTC (DS1307) - 10 دولار - يعطي الوقت
- 12 فولت امدادات الطاقة - 5 دولار - كل شيء
- لوحة توصيل صغيرة - للحصول على مساحة أسلاك إضافية
- أسلاك توصيل - تربط كل شيء
- أسلاك أنثى إلى ذكر - تربط كل شيء
المعدات:
- خيوط طباعة ثلاثية الأبعاد - للطابعة ثلاثية الأبعاد
- مسامير 2 M4 - ثبت لوحة القاعدة في مكانها
- 4 نيما 17 براغي - ثبت نيما لأسفل
- PVC T 48 مم داخل البعد الخارجي 66 مم - 3 دولار
أدوات:
- طابعة 3D
- تدريبات
- بندقية لحام
الخطوة 1: نظرة عامة على التصميم
تصميم وحدة تغذية الحيوانات الأليفة بسيط للغاية. يتم وضع القادوس في الجزء العلوي من PVC T. ثم يتم وضع غطاء على الجزء الخلفي من PVC T (كما هو موضح في الصورة) مع تثبيت Nema 17 به. ثم يتم دفع Nema 17 إلى الجزء الخلفي من المثقاب الذي يمكن رؤيته أعلاه وسيتجه البرغي إلى الجانب ليثبته في مكانه حتى لا يشوه الفتحة التي يمكن رؤيتها أعلاه!
ثم يقوم البريمة ببساطة بدفع الطعام من الأنبوب إلى الوعاء!
الخطوة 2: نظرة عامة على التعليمات البرمجية
يحتوي RTC & The stepper على مكتبة تسمى RTClib.h و Stepper.h والتي تضيف رمزًا مبسطًا لـ RTC & Stepper. عبارات if بسيطة للغاية ، فهي تقول إذا كانت الساعة والدقائق تساوي الوقت المذكور ، فستقوم بتدوير النيما التي ستوزع الطعام. من السهل جدًا فهم بقية الكود حتى بالنسبة لشخص لديه يوم من الخبرة.
الخطوة 3: إرفاق نيما 17 باللوحة الأساسية والمثقب
أولاً ، تريد أن تأخذ لوحة القاعدة الخاصة بك وتعلقها بـ 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
توصيل 12 فولت واردوينو بـ L298N (لا يمكن العثور على 12 فولت لذا تخيل بطارية 9 فولت كطاقة)
- فولت إلى 12 فولت
- الأرض إلى GND
- 5V إلى 5V على اللوح
توصيل RTC بـ Arduino
- GND إلى GND
- 5V إلى 5V على اللوح
- SDA إلى A5
- SCL إلى A4
دبابيس العبور
من المفترض أن تكون جميع دبابيس العبور على L298N
الخطوة 5: الترميز مع التعليقات
الكود أكثر وضوحا في الصور أعلاه
// الاسم: باركر فريدريك
// اسم المشروع: Auto Pet Feeder // التاريخ: الثلاثاء 10 نوفمبر 2020 // المعلم: M. Bonisteel // الوصف: أطعم حيواناتك الأليفة في الوقت المحدد!
// Libaries للأشياء التي استخدمتها #include #include # include "RTClib.h"
RTC_DS1307 rtc ؛ // يقول ما تستخدمه الدردشة الفورية RTC
// هذا هو المكان الذي تحدد فيه وقت الطعام
// Hours int mornFeedTime = 12 ؛ int nightFeedTime = 7 ؛ // Minutes int mornFeedTimeM = 29 ؛ int nightFeedTimeM = 00 ؛ // ثانية int mornFeedTimeS = 20 ؛ int nightFeedTimeS = 00 ؛
char daysOfTheWeek [7] [12] = {"الأحد" ، "الإثنين" ، "الثلاثاء" ، "الأربعاء" ، "الخميس" ، "الجمعة" ، "السبت"} ؛ // يجعل الأيام العادية تتحول إلى أيام الأسبوع
تغذية كثافة العمليات = 200 ؛ // هذه هي خطواتك ، لذا كم مرة تريد أن تدور
Stepper myStepper (تغذية ، 8 ، 9 ، 10 ، 11) ؛ // دبابيس لـ Nema 17 ومعظم السائر الأخرى
إعداد باطل () {Serial.begin (9600) ؛
بينما (! المسلسل) ؛ // إذا كان RTC لا يعمل فسوف يعرضه في الشاشة التسلسلية إذا (! 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) ؛ // السرعة التي تريدها أن تتحول إلى}
حلقة باطلة () {DateTime now = rtc.now () ؛
// هذا سيجعل هذه المتغيرات هي الساعة الآن وما إلى ذلك int hr = now.hour ()؛ int mi = now.minute () ؛ int se = now.second () ؛
// كود لذلك في الوقت المحدد سوف يتم توزيع الطعام وسوف يدور 5 مرات ، هذا إذا كان لوجبة الصباح
if (hr == mornFeedTime && mi == mornFeedTimeM && mornFeedTimeS == se) {Serial.println ("Breakfast!")؛ 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 () ، ديسمبر) ؛ Serial.print ('/') ؛ Serial.print (now.day () ، ديسمبر) ؛ Serial.print ("(") ؛ Serial.print (daysOfTheWeek [now.dayOfTheWeek ()]) ؛ Serial.print (")") ؛ Serial.print (now.hour () ، ديسمبر) ؛ Serial.print (':') ؛ Serial.print (now.minute ()، DEC) ؛ Serial.print (':') ؛ Serial.print (now.second ()، DEC) ؛ Serial.println () ، }
موقع الويب الذي استخدمته لـ RTC لقد حذفت معظم الأشياء بخلاف عبارات if التي توضح ما إذا كان RTC قيد التشغيل أم لا. لقد استخدمت هذا الموقع بشكل أساسي لمعرفة كيفية برمجة RTC
موقع الويب الذي استخدمته لمحرك Stepper ، ساعدني ذلك في فهم كيفية برمجة السائر للتشغيل ، ولم أحتفظ بأي شيء منه. لقد ساعدني فقط في فهم كيفية ترميزها
الخطوة 6: المشاكل وكيف أصلحتها
كان لدي بعض المشاكل
- كنت بحاجة إلى مصدر طاقة بجهد 12 فولت ، ولم يكن لدي سوى بطارية 9 فولت وجدت واحدة وتم حلها بسرعة.
- عند توصيل L298N مع NEMA 17 ، كان لديّ خطأ في الأسلاك في A و A - مما جعلها تتذبذب قليلاً. أنا ببساطة أصلحته عن طريق تغيير الأسلاك في الاتجاه الآخر.
- حاولت جعل الكود أكثر بساطة لأنه في عبارة if myStepper.step (-feed) ؛ مرارا وتكرارا بدا فوضوي. لذلك اضطررت إلى تغييرها مرة أخرى.
- كان لدي لوحة قاعدة ذات حجم خاطئ كما هو موضح في الصورة ، لذا اضطررت إلى طباعة لوحة جديدة ثلاثية الأبعاد قليلاً وهي مناسبة تمامًا!
- المشكلة التي أواجهها هي أنها انحشرت لأن البريمة صغيرة جدًا لذا فهي طريقة بسيطة يمكنني إصلاحها من خلال تكبير البريمة بكمية صغيرة!
موصى به:
وحدة تحكم ألعاب Google T Rex التلقائية باستخدام Arduino: 7 خطوات
وحدة تحكم ألعاب Google T Rex التلقائية باستخدام Arduino: لنقم ببنائها
وحدة التغذية الذكية: 4 خطوات
التغذية الذكية: امتلاك حيوان أليف هو متعة كبيرة. ولكن عندما تريد الذهاب في إجازة ممتعة ولا يمكنك إحضار صديقك المفضل معك ، فأنت بحاجة إلى العثور على شخص يأتي لإطعام حيوانك الأليف. لقد واجهت هذه المشكلة كثيرًا وفكرت في إنشاء حيوان أليف آلي
وحدة التغذية ذات القوة الصناعية للقطط (حيوان أليف): 10 خطوات
وحدة التغذية للقطط (الحيوانات الأليفة) ذات القوة الصناعية: أسافر لعدة أسابيع في كل مرة ولدي هذه القطط الضالة في الهواء الطلق التي تحتاج إلى إطعامها أثناء غيابي. لعدة سنوات ، كنت أستخدم مغذيات معدلة تم شراؤها من Amazon والتي يتم التحكم فيها باستخدام كمبيوتر raspberry pi. على الرغم من
وحدة التغذية التلقائية البسيطة من Cat: 4 خطوات
وحدة التغذية التلقائية البسيطة للقطط: مرحبًا بالجميع ، عندما أغادر المنزل لبضعة أيام ، فإن إطعام قطتي دائمًا ما يمثل تحديًا كبيرًا. يجب أن أسأل الأصدقاء أو الأقارب لرعاية قطتي. لقد بحثت عن حل على الإنترنت ووجدت الكثير من منتجات توزيع الطعام للحيوانات الأليفة ، لكنني
وحدة التغذية التلقائية البشرية 0.5: 9 خطوات
Human Auto Feeder 0.5: مرحبًا بكم في أول تعليمات لي حول إنشاء روبوت تغذية (sh * tty)! في هذه التعليمات ، سأبذل قصارى جهدي لشرح كيف صنعت هذا الروبوت خطوة بخطوة بالإجراءات والمواد والأدوات المطلوبة! جدول المحتويات: المواد و أمبير ؛ تي