সুচিপত্র:

অটো ডগ ফিডার: 6 টি ধাপ
অটো ডগ ফিডার: 6 টি ধাপ

ভিডিও: অটো ডগ ফিডার: 6 টি ধাপ

ভিডিও: অটো ডগ ফিডার: 6 টি ধাপ
ভিডিও: Feed Off The Arm Double Chain Stitch Feed Dog Cam Timing, ফিড অব দ্যা দাতের কেম টাইমিং 2024, জুলাই
Anonim
অটো ডগ ফিডার
অটো ডগ ফিডার

এটি আমার একটি অটো পেট ফিডারের প্রকল্প। আমার নাম পার্কার আমি গ্রেড 11 এ আছি এবং আমি 11 নভেম্বর 2020 এ এই প্রকল্পটি একটি CCA (কোর্স সমাপ্তি কার্যকলাপ) হিসাবে করেছি এই প্রকল্পে আমি আপনাকে দেখাব কিভাবে Arduino UNO এর সাথে একটি স্বয়ংক্রিয় পোষা ফিডার তৈরি করতে হয়। আপনি একটি সময় বেছে নিতে পারেন যা আপনি পরিবর্তন করতে পারেন। খাবার একটি আউগারের মাধ্যমে বিতরণ করা হবে এবং আপনার পোষা প্রাণীকে খাওয়ানো হবে!

সরবরাহ

ইলেকট্রনিক্স:

  • আরডুইনো ইউএনও
  • L298N - 10 $ - নেমা 17 নিয়ন্ত্রণ করে
  • NEMA 17 - 10 $ - আউগার চালু করে যাতে খাবার চলে যায়
  • RTC (DS1307) - 10 $ - সময় দেয়
  • 12V পাওয়ার সাপ্লাই - 5 $ - সবকিছু পাওয়ার ক্ষমতা
  • মিনি ব্রেডবোর্ড - অতিরিক্ত তারের জায়গার জন্য
  • জাম্পার তার - সবকিছু সংযোগ করে
  • মহিলা থেকে পুরুষ তার - সবকিছু সংযোগ করে

হার্ডওয়্যার:

  • 3 ডি প্রিন্ট ফিলামেন্ট - 3 ডি প্রিন্টারের জন্য
  • 2 এম 4 বোল্ট - বেস প্লেটটি জায়গায় রাখুন
  • 4 নেমা 17 বোল্ট - নেমা চেপে ধরে রাখুন
  • পিভিসি টি 48 মিমি ভিতরে মাত্রা 66 মিমি বাইরের মাত্রা - 3 $

সরঞ্জাম:

  • 3D প্রিন্টার
  • ড্রিল
  • সোল্ডারিং বন্দুক

ধাপ 1: ডিজাইনের ওভারভিউ

ডিজাইনের ওভারভিউ
ডিজাইনের ওভারভিউ
ডিজাইনের ওভারভিউ
ডিজাইনের ওভারভিউ
ডিজাইনের ওভারভিউ
ডিজাইনের ওভারভিউ
ডিজাইনের ওভারভিউ
ডিজাইনের ওভারভিউ

পোষা খাদ্যের নকশা খুবই সহজ। একটি ফড়িং পিভিসি টি এর শীর্ষে যায়। তারপর পিভিসি টি (ছবিতে দেখানো হয়েছে) এর পিছনে একটি কভার যায় যার সাথে নেমা 17 সংযুক্ত থাকে। তারপর নেমা 17 কে আগারের পিছনে ধাক্কা দেওয়া হবে যা উপরে দেখা যাবে এবং একটি বোল্ট পাশে রাখা হবে যাতে এটি ধরে রাখা যায় যাতে এটি উপরের ছিদ্রটিকে বিকৃত না করে!

তারপর আউগার কেবল পাইপ থেকে এবং একটি বাটিতে খাবার ঠেলে দেবে!

ধাপ 2: কোডের ওভারভিউ

কোডের ওভারভিউ
কোডের ওভারভিউ
কোডের ওভারভিউ
কোডের ওভারভিউ
কোডের ওভারভিউ
কোডের ওভারভিউ

আরটিসি এবং স্টেপারের RTClib.h এবং Stepper.h নামে একটি গ্রন্থাগার রয়েছে যা RTC এবং Stepper এর জন্য সরলীকৃত কোড যুক্ত করে। যদি বিবৃতিগুলি খুব সহজ হয় তবে বলা হয় যদি ঘন্টা এবং মিনিট উল্লিখিত সময়ের সাথে সমান হয় তবে এটি নেমাকে ঘোরাবে যা খাবার সরবরাহ করবে। বাকী কোডটি খুব সহজেই বোঝা যায় এমনকি এক দিনের অভিজ্ঞতার জন্যও।

ধাপ 3: বেস প্লেট এবং আগার নেমা 17 সংযুক্ত করা

বেস প্লেট এবং আগার নেমা 17 সংযুক্ত করা
বেস প্লেট এবং আগার নেমা 17 সংযুক্ত করা
বেস প্লেট এবং আগার নেমা 17 সংযুক্ত করা
বেস প্লেট এবং আগার নেমা 17 সংযুক্ত করা
বেস প্লেট এবং আগার নেমা 17 সংযুক্ত করা
বেস প্লেট এবং আগার নেমা 17 সংযুক্ত করা

প্রথমে আপনি আপনার বেস প্লেটটি নিতে চান এবং বেস প্লেটে প্রিমেড গর্ত ব্যবহার করে আপনার নেমা 17 এর সাথে সংযুক্ত করতে চান। একবার হয়ে গেলে আপনি নেমার পিছনের ছিদ্রটি ব্যবহার করে আউগারটি সংযুক্ত করতে চান। তারপর বেস প্লেটটি আউগার এবং নেমা সংযুক্ত করে সংযুক্ত করুন তারপর M2 বোল্টগুলিকে প্রতিটি পাশে স্ক্রু করুন।

ধাপ 4: তারের L298N এবং RTC

তারের L298N & RTC
তারের L298N & RTC
তারের L298N এবং RTC
তারের L298N এবং RTC

এই ধাপটি আপনাকে বলবে কিভাবে L298N এবং RTC কে ওয়্যার করতে হয়

আমরা পিন 8, 9, 10, 11 দিয়ে L298N থেকে শুরু করব

  • পিন 8 (সাদা) থেকে IN1
  • পিন 9 (বেগুনি) থেকে IN2
  • পিন 10 (গোলাপী) থেকে IN3
  • PIN 11 (হলুদ) থেকে IN4

এরপরে আমরা নেমা 17 কে L298N এর সাথে সংযুক্ত করব

  • NEMA এ OUT1 থেকে 1
  • NEMA তে OUT2 থেকে 2
  • NEMA তে OUT3 থেকে 3
  • NEMA এ OUT4 থেকে 4

12v এবং Arduino কে L298N এর সাথে সংযুক্ত করা হচ্ছে (12V খুঁজে পাওয়া যায়নি তাই 9V ব্যাটারিকে পাওয়ার হিসেবে কল্পনা করুন)

  • 12V থেকে ভোল্ট
  • GND থেকে GND
  • ব্রেডবোর্ডে 5V থেকে 5V

আরটিসিকে আরডুইনোতে সংযুক্ত করা হচ্ছে

  • GND থেকে GND
  • ব্রেডবোর্ডে 5V থেকে 5V
  • এসডিএ থেকে এ 5
  • এসসিএল থেকে এ 4

জাম্পার পিন

সমস্ত জাম্পার পিনগুলি L298N এ থাকার কথা

ধাপ 5: মন্তব্য সহ কোডিং

মন্তব্য সহ কোডিং
মন্তব্য সহ কোডিং
মন্তব্য সহ কোডিং
মন্তব্য সহ কোডিং
মন্তব্য সহ কোডিং
মন্তব্য সহ কোডিং

উপরের চিত্রগুলিতে কোডটি পরিষ্কার

// নাম: পার্কার ফ্রেডরিক

// প্রকল্পের নাম: অটো পেট ফিডার // তারিখ: মঙ্গলবার, ১০ ই নভেম্বর ২০২০ // শিক্ষক: এম.বোনিস্টিল // বর্ণনা: একটি নির্দিষ্ট সময়ে আপনার পোষা প্রাণীকে খাওয়ান!

// আমি যে জিনিসগুলি ব্যবহার করেছি তার জন্য Libaries #include #include #include "RTClib.h"

RTC_DS1307 rtc; // বলছে আরটিসি কি ব্যবহার করছে

// এখানেই আপনি খাবারের সময় নির্ধারণ করেন

// ঘন্টা int mornFeedTime = 12; int nightFeedTime = 7; // মিনিট int mornFeedTimeM = 29; int nightFeedTimeM = 00; // সেকেন্ড int mornFeedTimeS = 20; int nightFeedTimeS = 00;

char daysOfTheWeek [7] [12] = {"রবিবার", "সোমবার", "মঙ্গলবার", "ওয়েডসনেডে", "বৃহস্পতিবার", "শুক্রবার", "শনিবার"}; // সাধারণ দিনগুলিকে সপ্তাহের দিনগুলিতে পরিণত করে

const int feed = 200; // এটি আপনার পদক্ষেপ তাই আপনি কতবার এটি ঘুরাতে চান

স্টেপার মাই স্টেপার (ফিড, 8, 9, 10, 11); // নেমা 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); // গতি আপনি এটি চালু করতে চান}

void loop () {DateTime now = rtc.now ();

// এটি এই ভেরিয়েবলকে এই মুহূর্তে তৈরি করবে ইত্যাদি এখন int hr = now.hour (); int mi = now.minute (); int se = now.second ();

// কোড তাই নির্ধারিত সময়ে এটি খাবার বিতরণ করবে এবং এটি 5 বার ঘুরবে, এটি যদি সকালের খাবারের জন্য হয়

যদি (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 বার ঘুরবে, এটি রাতের খাবারের জন্য

যদি (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 (now.month (), DEC); সিরিয়াল.প্রিন্ট ('/'); Serial.print (now.day (), DEC); Serial.print ("("); Serial.print (daysOfTheWeek [now.dayOfTheWeek ()]); Serial.print (")"); Serial.print (now.hour (), DEC); সিরিয়াল.প্রিন্ট (':'); Serial.print (now.minute (), DEC); সিরিয়াল.প্রিন্ট (':'); Serial.print (now.second (), DEC); Serial.println (); }

আরটিসির জন্য আমি যে ওয়েবসাইটটি ব্যবহার করেছি আমি যদি আরটিসি চালু বা বন্ধ থাকে কিনা এমন বিবৃতি ছাড়া অন্যান্য জিনিস মুছে ফেলে। আমি প্রধানত এই ওয়েবসাইটটি RTC কিভাবে প্রোগ্রাম করতে হয় তা শিখতে ব্যবহার করেছি।

আমি স্টেপার মোটরের জন্য যে ওয়েবসাইটটি ব্যবহার করেছি এটি আমাকে বুঝতে সাহায্য করেছিল যে স্টেপার চালানোর জন্য কীভাবে প্রোগ্রাম করা যায় আমি সত্যিই এটি থেকে কিছু রাখিনি। এটি আমাকে কীভাবে কোড করতে হয় তা বুঝতে সাহায্য করেছে।

ধাপ 6: সমস্যা এবং কিভাবে আমি তাদের ঠিক করেছি

সমস্যা এবং কিভাবে আমি তাদের ঠিক করেছি!
সমস্যা এবং কিভাবে আমি তাদের ঠিক করেছি!

আমার কিছু সমস্যা ছিল

  • আমার 12v পাওয়ার সাপ্লাই দরকার ছিল, আমার কেবল 9v ব্যাটারি ছিল আমি একটি খুঁজে পেয়েছিলাম এবং এটি দ্রুত সমাধান করা হয়েছিল।
  • NEMA 17 এর সাথে L298N হুক করার সময় আমার A এবং A- তে তারের ভুল ছিল- যা এটিকে কিছুটা ঝাঁকুনি দিয়েছিল। আমি কেবল অন্যভাবে তারের পরিবর্তন করে এটি ঠিক করেছি।
  • কোডটিকে আরো সহজ করার চেষ্টা করা হয়েছে কারণ if স্টেটমেন্ট myStepper.step (-feed); বার বার অগোছালো লাগছিল। তাই আমাকে এটি পরিবর্তন করতে হয়েছিল।
  • আমার ছবিতে ভুল আকারের বেস প্লেট ছিল, তাই আমাকে একটু নতুন করে 3D প্রিন্ট করতে হয়েছিল এবং এটি নিখুঁতভাবে ফিট হয়েছিল!
  • আমার যে সমস্যা আছে তা হল জ্যাম যেহেতু আগারটি ছোট তাই এটি জ্যামের সহজ উপায় যা আমি ঠিক করতে পারি তা হল আগারকে ছোট করে বড় করে!

প্রস্তাবিত: