সুচিপত্র:

Arduino Cradle Rocker: 19 টি ধাপ (ছবি সহ)
Arduino Cradle Rocker: 19 টি ধাপ (ছবি সহ)

ভিডিও: Arduino Cradle Rocker: 19 টি ধাপ (ছবি সহ)

ভিডিও: Arduino Cradle Rocker: 19 টি ধাপ (ছবি সহ)
ভিডিও: Automatic Baby Cradle | Automatic E-Baby Cradle Cry (Sound Sensor) Bed Using Arduino 2024, নভেম্বর
Anonim
Image
Image

সরি

আমি সম্প্রতি আমার প্রথম বাচ্চা পেয়েছিলাম এবং ইতিমধ্যে একটি কাঠের দোলনা ছিল যা আমার চাচা (যিনি একজন দুর্দান্ত কাঠের শ্রমিক) আমার ভাতিজার জন্য তৈরি করেছিলেন। আমার ভাতিজা অনেকদিন ধরেই এটিকে বাড়িয়ে তুলেছিল, তাই আমি এটি গ্রহণ করতে পেরে খুশি ছিলাম এবং মা ব্লগারদের আমার স্ত্রীর উপর ঝাঁপিয়ে পড়ার জন্য যে কোনও ক্র্যাডেল/বেসিনেটে সমস্ত অর্থ ব্যয় করা এড়ানো হয়েছিল। ক্র্যাডেলটি বেশ সহজ নকশা, মূলত তাদের মধ্য দিয়ে বোল্ট দিয়ে দুটি উত্থান যা ক্র্যাডল বডিকে সমর্থন করে। এটিকে লক করার জন্য একটি অপসারণযোগ্য পেগ আছে।

কয়েক সপ্তাহের মধ্যে আমরা দেখতে পেলাম যে আমরা প্রায়শই দোলনাকে একটু দোল দিয়ে হালকা ঝামেলা দূর করতে পারি যতক্ষণ না আমাদের ছেলে স্থায়ী হয়। যে রাতে আমরা এটি খুঁজে পেয়েছি, আমি গভীর রাতে কিছু 10 মিনিট টানা সময় কাটিয়েছি, আমার হাতটি কভারের নীচে থেকে পৌঁছেছে, ঘুমের মধ্যে তাকে দোলাচ্ছে, খুশি যে আমি নিজে বিছানা থেকে না উঠে তাকে শান্ত করার উপায় খুঁজে পেয়েছি। সকালে আমি একটি স্ট্রিং এবং সামান্য carabiner সংযুক্ত করেছি যাতে আমি আমার বাহু প্রসারিত না করে দোলনা দোল করতে পারি।

তার পরের দিন সকালে, আমি এই বাচ্চাটিকে আমার জন্য একটি রোবট রক রাখার একটি উপায় চিন্তা করতে শুরু করলাম। Arduino প্রবেশ করুন …

সরবরাহ

ঠিক আছে, এটি আমার প্রথম Arduino প্রকল্প ছিল, তাই আমি কিছু পরীক্ষা এবং পরীক্ষা এবং ত্রুটি করেছি, এবং আমি নিশ্চিত যে আমার নকশা উন্নতির জন্য জায়গা আছে, কিন্তু এখানে আমার অংশ তালিকা: Arduino Uno ($ 13) সবকিছু নিয়ন্ত্রণ করার জন্য একটি রুটিবোর্ড তারের সংযোগের জন্য কিট ($ 10)

স্টেপার মোটর ($ 14) এটি সবচেয়ে মজাদার টুকরা, কারণ এটি এমন জিনিস যা সমস্ত কাজ করে। আমি একটু কম টর্ক চালক দিয়ে শুরু করেছি, কিন্তু তারপর এটি পেয়েছি এবং এটি বেশ ভালভাবে কাজ করছে। আরও শক্তিশালী পাওয়ার জন্য নির্দ্বিধায় স্টিপার মোটর ড্রাইভার ($ 10-30) এটি Arduino এবং মোটরের মধ্যে বসে। এই নির্দিষ্টটি স্পষ্টতই অন্যদের তুলনায় মোটরটি আরো শান্তভাবে চালাতে সক্ষম, তাই আমি সেই সাথে গেলাম যেহেতু মোটরটি আমার (এবং আমার ছেলের) মাথা থেকে কয়েক ফুট দূরে থাকবে যখন আমরা ঘুমাচ্ছি। আমি প্রথমে মাত্র T 10 ডলারে একটি TMC2209 ড্রাইভার কিনেছিলাম, কিন্তু 4 টির একটি প্যাক কেনা শেষ করেছিলাম কারণ প্রথমে আমার কিছু অসুবিধা হয়েছিল এবং আমি নিশ্চিত করতে চেয়েছিলাম যে আমি কোন সময়ে বোর্ড ভাজি নি। আমি আসলে 3 টি বোর্ডকে হত্যা করেছি, যা আমাকে আমার পরবর্তী আইটেমে নিয়ে আসে… ক্যাপাসিটর! ($ 10) আপনি সত্যিই শুধুমাত্র 1 47 uF 50V ক্যাপাসিটরের প্রয়োজন, তাই 240 এর এই বাক্সটি ছিল অতিরিক্ত মাত্রায়। একটি 36V পাওয়ার সাপ্লাই ($ 17) আমি মূলত একটি puny 12V সাপ্লাই কিনেছিলাম, তারপর জানতে পারলাম যে আমার সব সমস্যার উৎস এবং আমার স্টেপার মোটরটি পরিচালনা করতে পারে এমন সর্বোচ্চ ভোল্টেজের কাছাকাছি একটি পেয়েছিলাম। যদি আপনি একটি ভিন্ন মোটর বা স্টেপার ড্রাইভার ব্যবহার করেন, নিশ্চিত করুন যে এটি ভোল্টেজ (V) পরিচালনা করতে পারে এবং সরবরাহের অ্যাম্পারেজ (A) মোটর দ্বারা টানা শিখর Amps হিসাবে কমপক্ষে উচ্চ। মহিলা পাওয়ার জ্যাক সকেট ($ 8) এটিই পাওয়ার সাপ্লাই প্লাগ করে। আপনার রুটিবোর্ডে আটকে রাখার জন্য আপনাকে এইগুলিকে কিছু তারের মধ্যে সোল্ডার করতে হবে। জাম্পারের একটি বড় প্যাক ($ 9) যাতে আমি রুমে যেখানে খুশি সেখানে নিয়ন্ত্রণ রাখতে পারি।

বোতাম ($ 8) অন/অফ, ইত্যাদির জন্য

একটি মাইক্রোফোন অ্যাম্প ($ 11) ওহ, আপনি জানেন না যে এটিও শব্দ সক্রিয় ছিল?

কিছু ছোট পুলি চাকা ($ 8) আমি এইগুলি ব্যবহার করে শেষ করেছি, তবে এর চেয়ে ভাল বিকল্প হতে পারে। পরে আরো যে আপনি অবশ্যই একটি সোল্ডারিং লোহা এবং যা কিছু আপনি মোটর মাউন্ট করতে ব্যবহার করতে চান প্রয়োজন হবে। আমি ব্যক্তিগতভাবে 4 টি কাঠের টুকরো টুকরো টুকরো করে একটি রুক্ষ বাক্স তৈরি করেছি, এবং তারপর সেগুলিকে অন্য কাঠের টুকরোতে স্ক্রু করেছি যা মোটামুটি আমার ক্র্যাডেল লেগের প্রস্থ। আপাতত আমি এটিকে আটকে রেখেছি কারণ আমি জানি না যে আমি আমার মামার দোলনাকে বিয়ে করতে চাই কিনা।

ধাপ 1: আপনার স্টেপার ড্রাইভার পিনআউটের সাথে নিজেকে পরিচিত করুন

আপনার ব্রেডবোর্ডে Arduino 5V/GND ওয়্যার করুন
আপনার ব্রেডবোর্ডে Arduino 5V/GND ওয়্যার করুন

আমার ব্যবহৃত মডেলিং প্রোগ্রামে এই সঠিক ড্রাইভার বোর্ড ছিল না, তাই আপনাকে এই চিত্রটি উল্লেখ করতে হবে। আমি এই চিত্রের মতো একই অভিযোজন সবকিছু সাজিয়েছি।

ধাপ 2: আপনার ব্রেডবোর্ডে ওয়্যার Arduino 5V/GND

Arduino 5V থেকে আপনার ব্রেডবোর্ডের একপাশে "+" রেলকে একটি তারের সাথে সংযুক্ত করুন Arduino GND এর একটি থেকে "-" রেলকে রুটিবোর্ডের একই পাশে একটি তারের সাথে সংযুক্ত করুন

(উপেক্ষা করুন

ধাপ 3: +/- রেলগুলিকে VIO/GND এর সাথে সংযুক্ত করুন

VIO/GND- এ +/- রেল সংযোগ করুন
VIO/GND- এ +/- রেল সংযোগ করুন

স্টেপার ড্রাইভার বোর্ডের নিচের বাম দিকে "-" রেল থেকে GND এর সাথে একটি তারের সংযোগ করুন। "+" রেল থেকে VIO এর সাথে একটি তারের সংযোগ করুন

ধাপ 4: আরডুইনোতে ডিজিটাল পিনের সাথে ডিআইআর/স্টেপ সংযুক্ত করুন

আরডুইনোতে ডিআইআর/স্টেপকে ডিজিটাল পিনের সাথে সংযুক্ত করুন
আরডুইনোতে ডিআইআর/স্টেপকে ডিজিটাল পিনের সাথে সংযুক্ত করুন

স্টেপার ড্রাইভার বোর্ড থেকে DIR এবং STEP পিনগুলিকে Arduino এর দুটি ডিজিটাল পিনের সাথে সংযুক্ত করুন। আমি যথাক্রমে 2 এবং 3 পিন ব্যবহার করেছি, কিন্তু যতক্ষণ না আপনি পরে আপনার কোডে পিন সেট করেন ততক্ষণ এটি কোন ব্যাপার না।

ধাপ 5: এগিয়ে যান এবং সেই ক্যাপাসিটর যুক্ত করুন…

এগিয়ে যান এবং সেই ক্যাপাসিটর যুক্ত করুন…
এগিয়ে যান এবং সেই ক্যাপাসিটর যুক্ত করুন…

আমি 2 স্টেপার ড্রাইভার বোর্ড জ্বালিয়েছিলাম কারণ আমার জায়গায় ক্যাপাসিটর ছিল না, তাই এগিয়ে যান এবং ড্রাইভার বোর্ডে VM/GND পিনগুলিতে 47uF 50V ক্যাপাসিটর যুক্ত করুন। নিশ্চিত করুন যে ক্যাপাসিটরের "-" পিনটি ব্রেডবোর্ডে GND পিনে আছে (ক্যাপাসিটরের সংশ্লিষ্ট পাশে একটি "-" থাকবে)

ধাপ 6: এবং এগিয়ে যান এবং সেই GND কে সংযুক্ত করুন

এবং এগিয়ে যান এবং যে GND সংযোগ করুন
এবং এগিয়ে যান এবং যে GND সংযোগ করুন

যে GND- তে আপনি শুধু ক্যাপাসিটর যুক্ত করেছেন, এগিয়ে যান এবং অন্য GND- এর মতো একই "-" রেল সংযোগ করুন।

ধাপ 7: ড্রাইভারের সাথে মোটর সংযুক্ত করুন

মোটরটিকে ড্রাইভারের সাথে সংযুক্ত করুন
মোটরটিকে ড্রাইভারের সাথে সংযুক্ত করুন

কোন পিনটি আপনার কেনা মোটরের উপর নির্ভর করবে কোথায় যায়, কিন্তু আমি তালিকাভুক্ত একটিতে অ্যামাজন তালিকাতে তারের চিত্র রয়েছে।

আমার মোটরের জন্য -

সবুজ এবং কালোকে M2B এবং M2A এর সাথে সংযুক্ত করুন

লাল এবং নীলকে M1A এবং M1B- এর সাথে সংযুক্ত করুন নোট: যদি আপনার মোটরের কোন চিত্র না থাকে তবে আপনি সহজেই বুঝতে পারবেন কোন মাল্টিমিটার থাকলে কোন তারের সার্কিট তৈরি হয়। আপনার মাল্টিমিটারটি কম এমপি সেটিংয়ে সেট করুন এবং আপনার মোটর সংযোগ বিচ্ছিন্ন করুন। মাল্টিমিটারের একটিকে স্পর্শ করে মোটর তারের একটিতে নিয়ে যান এবং তারপরে প্রতিটি তারের সাথে অন্য সীসা দিয়ে চেষ্টা করুন। যদি আপনি একটি প্রতিরোধের রিডিং পান, তাহলে সেই দুটি তার 1 টি সার্কিট গঠন করে এবং অন্য দুটিটি অন্যটি তৈরি করে।

ধাপ 8: EN, MS1, এবং MS2 কে "-" এর সাথে সংযুক্ত করুন

EN, MS1, এবং MS2 এর সাথে সংযোগ করুন
EN, MS1, এবং MS2 এর সাথে সংযোগ করুন

আমি সম্পূর্ণরূপে নিশ্চিত নই যে এটি প্রয়োজনীয়, কিন্তু আমি বিশ্বাস করি যে এটি মোটরটিকে TMC2209 ড্রাইভারের একটি ছোট মাইক্রোস্টেপ সেটিংয়ে সেট করে। আপনি তাদের নিকটতম রেল "-" রেলের সাথে সংযুক্ত করতে পারেন, কারণ আমরা পরবর্তীতে এটিকে অন্য দিকে সংযুক্ত করব।

ধাপ 9: একটি মহিলা পাওয়ার কানেক্টরকে দুইটি তারের সাথে বিক্রি করুন

একটি মহিলা পাওয়ার সংযোগকারীকে দুটি তারের মধ্যে বিক্রি করুন
একটি মহিলা পাওয়ার সংযোগকারীকে দুটি তারের মধ্যে বিক্রি করুন

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

ধাপ 10: আপনার নতুন বিক্রিত মহিলা সংযোগকারীকে সংযুক্ত করুন

আপনার নতুন বিক্রিত মহিলা সংযোগকারীকে সংযুক্ত করুন
আপনার নতুন বিক্রিত মহিলা সংযোগকারীকে সংযুক্ত করুন

দয়া করে আপনার প্রকৃত বিদ্যুৎ সরবরাহ এখনও প্লাগ ইন করবেন না। "+" তে লাল তার, কালো থেকে "-"

ধাপ 11: সেগুলিকে VM/GND এর সাথে সংযুক্ত করুন

সেগুলিকে ভিএম/জিএনডিতে সংযুক্ত করুন
সেগুলিকে ভিএম/জিএনডিতে সংযুক্ত করুন

সেই "+" এবং "-" রেলগুলিকে ভিএম এবং এর পাশের জিএনডিতে সংযুক্ত করুন। যাদের উপর ক্যাপাসিটর আছে।

ধাপ 12: আপনার হস্তশিল্পের প্রশংসা করুন

আপনার হাতের কাজের প্রশংসা করুন
আপনার হাতের কাজের প্রশংসা করুন

ঠিক আছে, আপনি এখন মোটর এবং ড্রাইভার সম্পূর্ণ সেট আপ আছে! এখান থেকে আমরা শুধু নিয়ন্ত্রণ করবো। যাইহোক, এগিয়ে যাচ্ছি:

  • আপনি যদি কোন কারণে আপনার ড্রাইভার সংযোগ বিচ্ছিন্ন করে থাকেন, তাহলে আপনার 36V পাওয়ার প্লাগ ইন করার সময় এটি সংযোগ করার চেষ্টা করবেন না। আমি আমার 3 য় ড্রাইভার বোর্ডকে সেভাবে হত্যা করেছি।
  • Arduino পাওয়ার প্লাগ করার আগে 36V পাওয়ার প্লাগ করুন। আমি ব্যক্তিগতভাবে একটি Arduino ভাজি না, কিন্তু পথে আমি এই সম্পর্কে অনেক সতর্কতা দেখেছি।

ধাপ 13: --চ্ছিক - আপনার VREF চেক করুন

TMC2209 এর একটি পোটেন্টিওমিটার রয়েছে যা মোটরকে কারেন্ট নিয়ন্ত্রণ করে। আপনি যদি একই ড্রাইভার পেয়ে থাকেন যা আমি করেছি, আপনি সে সম্পর্কে এখানে পড়তে পারেন। আপনি যদি সেটিং সামঞ্জস্য করতে চান:

  • সমস্ত শক্তি সংযোগ বিচ্ছিন্ন করুন এবং চালকের কাছ থেকে মোটর তারগুলি বিচ্ছিন্ন করুন।
  • চালকের EN (সক্ষম) পিনের সাথে তারের সংযোগ বিচ্ছিন্ন করুন। এটি উপরের বাম কোণে পিন।
  • আপনার মোটর পাওয়ার সাপ্লাই প্লাগ করুন (36V এক)
  • 20V তে একটি মাল্টিমিটার সেট ব্যবহার করে, GND এর উৎসের একটি সীসা স্পর্শ করুন (আমি আমার "-" রেলের সাথে একটি তারের সংযোগ ব্যবহার করেছি) এবং VREF পিনের জন্য অন্য সীসাটি স্পর্শ করুন। দয়া করে অন্য কিছুতে সীসা স্পর্শ করবেন না, আপনি যদি আপনার ড্রাইভারকে ছোট করতে পারেন।
  • পটেন্টিওমিটার স্ক্রু আলতো করে সামঞ্জস্য করতে একটি ছোট স্ক্রু ড্রাইভার ব্যবহার করুন। আমার বোর্ডের জন্য, ঘড়ির কাঁটার বিপরীতে = আরো শক্তি। আমার VREF ব্যক্তিগতভাবে ~ 0.6V পড়ে।

ধাপ 14: বোতাম

বাটন!
বাটন!

পরবর্তীতে, আপনার বোতামগুলিকে এভাবে সংযুক্ত করুন। তাদের ক্ষমতার প্রয়োজন নেই।

  • আপনার বোতাম ব্রেডবোর্ডের একটি "-" রেলকে Arduino এর GND এর সাথে সংযুক্ত করুন। আপনি চাইলে অন্য ব্রেডবোর্ডের "-" রেল থেকে এটি বন্ধ করতে পারেন।
  • প্রতিটি বোতামের একটি পিন "-" রেলের সাথে সংযুক্ত করুন
  • আরডুইনোতে একটি ডিজিটাল পিনের সাথে প্রতিটি বোতামের আরেকটি পিন সংযুক্ত করুন।

আমি 4 টি বোতাম ব্যবহার করেছি: মোটর চালু/বন্ধ

মোটর চলতে থাকে

মাইক্রোফোন চালু

মাইক্রোফোন বন্ধ

যখন আমরা কোডটি পাই, তখন এগুলি সম্পর্কে আরও কিছু, কিন্তু আমি স্বতন্ত্র মাইক্রোফোন বোতামগুলি ব্যবহার করেছি কারণ মাইক চালু বা বন্ধ কিনা তা আমাকে জানানোর জন্য আমার কাছে এলইডি ছিল না, তাই স্বতন্ত্র অন/অফ বোতামগুলি এটিকে নির্বোধ করে তুলেছিল।

ধাপ 15: মাইক্রোফোন বোর্ড যুক্ত করুন

মাইক্রোফোন বোর্ড যোগ করুন
মাইক্রোফোন বোর্ড যোগ করুন

এটি একটি সহজ, এবং অ্যাডাফ্রুট এখানে ভাল নির্দেশাবলী (এবং সোল্ডারিং বুনিয়াদি!) আছে।

  • একটি GND- এর সাথে "-" সংযোগ করুন
  • মাইক বোর্ডে GND কে "-" এর সাথে সংযুক্ত করুন (আপনি সরাসরি GND কে GND এর সাথে সংযুক্ত করতে পারেন এবং আগের ধাপটি এড়িয়ে যেতে পারেন, সত্যিই)
  • আরডুইনোতে 3.3V পাওয়ারের সাথে VCC সংযুক্ত করুন। এটি গুরুত্বপূর্ণ কারণ এই পাওয়ার সাপ্লাই 5V এর চেয়ে কম "গোলমাল", যার ফলে মাইক্রোফোনের রিডিং ভাল হয়
  • আরডুইনোতে একটি অ্যানালগ ইন পিনের সাথে সংযোগ স্থাপন করুন। আমি A0 ব্যবহার করেছি।

ধাপ 16: এটি চূড়ান্ত ফলাফল হওয়া উচিত

এটি চূড়ান্ত ফলাফল হওয়া উচিত!
এটি চূড়ান্ত ফলাফল হওয়া উচিত!
এটি চূড়ান্ত ফলাফল হওয়া উচিত!
এটি চূড়ান্ত ফলাফল হওয়া উচিত!

সবকিছু এখন প্রস্তুত করা উচিত। এখানে চূড়ান্ত চিত্রের একটি ছবি এবং বাস্তবে আমার তারের ঝামেলা। আসুন কিছু কোড দেখি!

ধাপ 17: কোড

ঠিক আছে কোড দেখি! এটি আমার সবচেয়ে পরিষ্কার কাজ নয়, তবে এটি কাজটি সম্পন্ন করে। আমি এখানে সবকিছু ব্যাখ্যা করার জন্য মন্তব্য যোগ করেছি, কিন্তু আমার সাথে সহ্য করুন আমি এই সবের জন্য Arduino IDE ব্যবহার করেছি (উইন্ডোজ এবং ম্যাক এ বিনামূল্যে পাওয়া যায়) জাস্ট এই হল: একটি মোটর গতি এবং দূরত্ব সেট করুন।

করার জন্য বেশ কয়েকটি পাথর (দোল) সেট করুন।

1 সুইং জন্য সেট দূরত্ব চালু করুন। একটি নির্দিষ্ট সংখ্যক বার দোল।

এই সবের মধ্যে, বোতাম টিপুন বা মাইক্রোফোন শুনুন মোটর চালু করা উচিত কিনা তা দেখার জন্য আপনাকে গতি, দূরত্ব এবং মাইক সংবেদনশীলতা মান সমন্বয় করতে হবে। মোটর গতি ভলিউম এবং টর্ককে প্রভাবিত করবে। মোটর যত দ্রুত যায়, তত জোরে হয় এবং আপনি কম টর্ক পান। খনি বর্তমানে প্রায় নীরব, তাই খুব বেশি শব্দ না করেই এটি চালানো সম্ভব।

#অন্তর্ভুক্ত // "স্ট্যান্ডার্ড" স্টেপার মোটর লাইব্রেরি

//#DEBUG 1 সংজ্ঞায়িত করুন // যখন আপনি মাইক্রোফোনের মাত্রা সামঞ্জস্য করতে চান তখন এটিকে অস্বস্তিকর করুন // বোতাম সেটআপ - এইগুলি যেখানে আপনি ডিজিটাল পিনগুলি বোতামগুলির সাথে সংযুক্ত করেছেন সেগুলির সাথে সামঞ্জস্যপূর্ণ int motorEnablePin = 10; const int continuePin = 11; const int micDisablePin = 12; const int micEnablePin = 13; // মাইক সেটআপ - A0 এখানে মাইকের জন্য এনালগ। নমুনা জানালা মিলিস কনস্ট int micPin = A0; const int sampleWindow = 1000; স্বাক্ষরবিহীন int নমুনা; বুল micEnabled = মিথ্যা; ডাবল মাইক সংবেদনশীলতা = 0.53; // আপনাকে সম্ভবত এটি পরিবর্তন করতে হবে // আমার জন্য, প্রায়.5 ছোট কুলিংয়ে আগুন না নেওয়ার জন্য যথেষ্ট ছিল // কিন্তু ছোট্ট কান্নার জন্য আগুন লাগবে // আপনার মোটরের জন্য প্রতি বিপ্লবের ধাপের সংখ্যা অনুসারে এটি পরিবর্তন করুন // আমার মোটর 200 ধাপ/বিপ্লব // কিন্তু আমি ড্রাইভারকে 1/16 মাইক্রোস্টেপগুলিতে সেট করেছি // তাই 200*16 = 3200… এই Stepper myStepper (stepsPerRevolution, 2, 3) করার সঠিক উপায় // // 2 এবং 3 হল DIR এবং STEP পিন int stepCount = 0; int মোটরস্পিড = 95; // আপনাকে আপনার ক্র্যাডেল এবং শিশুর ওজন int numSteps = 90; // মোটর যত দূরত্বে চলে যাবে। // আপনার মোটরের সাথে // সংযুক্ত করা চাকার ব্যাসার্ধের উপর ভিত্তি করে আপনাকে এটি সামঞ্জস্য করতে হবে। এই এবং গতি সম্ভবত ট্রায়াল এবং ত্রুটি হবে। // দ্রষ্টব্য - স্টেপার মোটরগুলিতে উচ্চ গতি = কম কার্যকর টর্ক // যদি আপনার পর্যাপ্ত টর্ক না থাকে তবে আপনার মোটর ধাপগুলি এড়িয়ে যাবে (নড়বে না) int oldmotorButtonValue = HIGH; বুল সক্ষম = মিথ্যা; // মোটর সক্ষম? int loopStartValue = 0; int maxRocks = 100; // int rockCount = 0 বন্ধ করার আগে আপনি কতবার এটি রক করতে চান; অকার্যকর সেটআপ () {#ifdef DEBUG Serial.begin (9600); // ডিবাগ লগিং #endif pinMode (motorEnablePin, INPUT_PULLUP) এর জন্য; // এটি পাওয়ার পিনমোড (continuePin, INPUT_PULLUP) ছাড়া বোতামগুলির কাজ করার জন্য একটি সেটিং; pinMode (micEnablePin, INPUT_PULLUP); pinMode (micDisablePin, INPUT_PULLUP); myStepper.setSpeed (মোটরস্পিড); // আপনি আগে যা নির্দিষ্ট করেছেন তাতে মোটরের গতি সেট করে} void loop () {int motorButtonValue = digitalRead (motorEnablePin); // ডিজিটাল রিড শুধু বাটনের মান পড়ে int continueValue = digitalRead (continuePin); // এটি মোটর বোতাম প্রেস সনাক্ত করে এবং এটি প্রতি ক্লিকের একাধিকবার ফায়ারিং থেকে বাধা দেয় যদি (motorButtonValue == HIGH && oldmotorButtonValue == LOW) {enabled =! Enabled; } micCheck (); // যদি মোটর বন্ধ থাকে, এবং মাইক চালু থাকে, তাহলে শিশুর কান্নার কথা শুনুন } যদি (সক্ষম) {stepsPerRevolution = stepsPerRevolution * -1; // বিপরীত দিক // আমার সেটআপের সাথে // প্রথম সুইংকে বিপরীত করা আরও কার্যকর। আপনি এটি লুপের পরে রাখতে পারেন // যদি এটি আপনার ক্ষেত্রে না হয় // স্পিন মোটর উপরে উল্লিখিত দূরত্ব (int i = loopStartValue; i <numSteps; i ++) {// চেক বন্ধ int tempmotorButtonValue = digitalRead (motorEnablePin); যদি (tempmotorButtonValue! = motorButtonValue) {rockCount = 0; // এই পরবর্তী দুটি লাইন মোটরের অবস্থান "সংরক্ষণ" করে, যাতে পরের বার আপনি এটি চালু করেন // এটি ভ্রমণ চালিয়ে যাবে যেন আপনি এটি বন্ধ করেন নি। এটি নিক্ষেপ করতে বাধা দেয় // আপনার চলাচলের দূরত্ব loopStartValue = i; // সেভ পজিশন ধাপসমূহ // দিকনির্দেশ বজায় রাখুন oldmotorButtonValue = tempmotorButtonValue; বিরতি; } checkContinue (continueValue); // পরীক্ষা চালিয়ে যান কিনা তা পরীক্ষা করুন micCheck (); myStepper.step (stepsPerRevolution / 50); // প্রতি লুপে কতগুলি পদক্ষেপ নিতে হবে, // আপনাকে এটি সামঞ্জস্য করতে হতে পারে // নিশ্চিত করুন যে লুপ শেষ হলে আমরা সম্পূর্ণ লুপের দূরত্ব অব্যাহত রাখব // এটি যদি আপনি মোটরটি বন্ধ করে দেন এবং এটি "সংরক্ষণ" হয় অবস্থান যদি (i == numSteps - 1) {loopStartValue = 0; }}} বিলম্ব (100); // পরবর্তী রক করার আগে 100 মিলি বিরতি দিন। আপনাকে এটি সামঞ্জস্য করতে হবে। যদি (সক্ষম) চেক কমপ্লিট (); oldmotorButtonValue = motorButtonValue; // এটি ডাবল ক্লিক প্রতিরোধের জন্য ব্যবহৃত হয়} // এই কোডটি সরাসরি অ্যাডাফ্রুট থেকে। ডবল getMicReading () {স্বাক্ষরবিহীন দীর্ঘ startMillis = millis (); স্বাক্ষরবিহীন int pekToPeak = 0; // শিখর থেকে শিখর স্তর স্বাক্ষরবিহীন int signalMax = 0; স্বাক্ষরবিহীন int signalMin = 1024; while (millis () - startMillis <sampleWindow) {micCheck (); if (digitalRead (motorEnablePin) == LOW) enabled = true; নমুনা = analogRead (micPin); if (sample signalMax) {signalMax = sample; // শুধু সর্বোচ্চ মাত্রা সংরক্ষণ করুন} অন্যথায় যদি (নমুনা = maxRocks) {সক্রিয় = মিথ্যা; রককাউন্ট = 0; // মধ্যম অবস্থানে ফিরে আসুন

জন্য (int i = loopStartValue; i <numSteps/2; i ++) {

myStepper.step (stepsPerRevolution * -1 / 50); // বিপ্লবের 1/100 ধাপ:

}

} }

ধাপ 18: মাউন্ট এবং চাকা সেটআপ

মাউন্ট এবং চাকা সেটআপ
মাউন্ট এবং চাকা সেটআপ

এটি এখনও আমার জন্য একটি WIP, কারণ আমি বলেছি আমি নিশ্চিত নই যে আমি এখনও আমার দোলায় স্ক্রু রাখতে চাই।

  • ক্র্যাডেল থেকে বেরিয়ে আসা একটি বাহু হিসাবে কাজ করার জন্য একটি বাতা রাখুন যাতে আমার চাকা একটি সরলরেখায় টানতে পারে
  • মোটর toুকানোর জন্য একটি অশোধিত বাক্স একত্রিত করে, এবং এটি একটি বেস প্লেটে স্ক্রু করে, যা আমি ক্র্যাডেল লেগে আটকে রেখেছিলাম
  • ভিতরে ছোট স্টেপার পুলি চাকা ফিট করার জন্য একটি গর্ত সহ একটি কাস্টম কাঠের পুলি চাকা তৈরি করা হয়েছে। আমি সেন্টার হোলটি খুব টাইট করে দিয়েছি এবং স্টিপার পুলি হুইলে স্রেফ মেল্ট করেছি। আমি চাকার মধ্য দিয়ে একটি গর্ত ড্রিল করেছি যাতে আমি ধাতব পুলি চাকাতে স্ক্রুটি অ্যাক্সেস করতে পারি যাতে এটি স্টেপার মোটরের উপর শক্ত করে।
  • দোলনা "বাহু" থেকে চাকা পর্যন্ত একটি স্ট্রিং দৌড়েছে। আমি যে ছিদ্রটি ড্রিল করেছিলাম তা দিয়ে এটি চালানোর মাধ্যমে স্ট্রিংটি সুরক্ষিত করেছি এবং কেবল এটিকে টেপ করেছি।

3 য় ধাপের ভাল সমাধান হল প্রথম স্থানে একটি বড় ব্যাসের পুলি চাকা কেনা। খনি ভিতরে 3 ব্যাসের একটু কম এবং আমার বিশেষ ক্র্যাডের জন্য সত্যিই ভাল কাজ করে।

আমার প্রথম সংস্করণটি চাকার পরিবর্তে একটি বাহু ব্যবহার করেছিল। এটি প্রায় ভালভাবে কাজ করে নি কারণ বলটি একটি সামঞ্জস্যপূর্ণ দিক থেকে প্রয়োগ করা হচ্ছিল না, এবং যদি শুরু করার অবস্থানটি সঠিক না হয় তবে এটি ছুঁড়ে ফেলার জন্য সত্যিই সংবেদনশীল ছিল। একটি চাকা ব্যবহার করে সেই সমস্যাগুলি সমাধান করে। আমি একটি ছোট পুলি সিস্টেম ব্যবহার করে বিনোদনও দিয়েছি, কিন্তু শেষ পর্যন্ত প্রয়োজন নেই কারণ আমার চাকা আমাকে যথেষ্ট টর্ক দিয়েছে।

ধাপ 19: চূড়ান্ত সেটআপ

চূড়ান্ত সেটআপ
চূড়ান্ত সেটআপ

আপনার সন্তানের কাছাকাছি মাইক্রোফোনটি মাউন্ট করুন, কিন্তু এমন একটি জায়গায় যেখানে তারা কোন তারে আঘাত করতে যাচ্ছে না। যতক্ষণ আপনি চূড়ান্ত গন্তব্যে চালানোর জন্য পর্যাপ্ত তারের আছে ততক্ষণ বোতামগুলি রাখুন। আপনি আরডুইনোতে একটি ওয়াইফাই সেটআপ দিয়ে বোতামগুলি প্রতিস্থাপন করতে পারেন, কিন্তু আমি এখনও এত গভীরভাবে যাইনি। সেখানে সৌভাগ্য!

প্রস্তাবিত: