Სარჩევი:

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 წუთიანი გაჭიმვა გვიან ღამით, ჩემი მკლავი გადავიდა საფარქვეშ, ძილიანად შეანჯღრია იგი, ბედნიერი იყო, რომ მე ვიპოვე გზა მისი დამშვიდებისათვის საწოლიდან წამოდგომის გარეშე. დილით მე დავამაგრე სიმები და პატარა კარაბინი ისე, რომ მე შემეძლო აკვანი შემეძლო ხელის გაჭიმვის გარეშე.

ამის შემდეგ დილით, მე დავიწყე გონებრივი იერიში, რომ მე მქონოდა რობოტი ამ ბავშვისთვის. შეიყვანეთ არდუინო…

მარაგები

კარგი, ეს იყო ჩემი პირველი არდუინოს პროექტი, ასე რომ მე გავაკეთე ექსპერიმენტები და ცდა და შეცდომები და დარწმუნებული ვარ, რომ ჩემი დიზაინის გაუმჯობესების ადგილი არსებობს, მაგრამ აქ არის ჩემი ნაწილების სია: Arduino Uno ($ 13) ყველაფრის გასაკონტროლებლად ნაკრები ($ 10) მავთულის დასაკავშირებლად

სტეპერიანი ძრავა ($ 14) ეს არის ყველაზე სახალისო ნაჭერი, რადგან ის არის ის, რაც ასრულებს ყველა საქმეს. დავიწყე ოდნავ დაბალი ბრუნვის დრაივერით, მაგრამ შემდეგ მივიღე ეს და ის საკმაოდ კარგად მუშაობს. მოგერიდებათ მიიღოთ კიდევ უფრო ძლიერი. სტეპერის ძრავის მძღოლები ($ 10-30) ეს ზის არდუინოსა და ძრავას შორის. ამ კონკრეტულ ადამიანს აშკარად შეუძლია ძრავის მართვა უფრო ჩუმად, ვიდრე ზოგიერთს, ასე რომ, მე ასე მივედი, რადგან ძილი იქნება ჩემი (და ჩემი შვილის) თავი რამდენიმე მეტრის მანძილზე, სანამ ჩვენ გვეძინება. მე თავდაპირველად ვიყიდე ერთი TMC2209 დრაივერი ~ 10 დოლარად, მაგრამ საბოლოოდ შევიძინე 4 პაკეტი, რადგან თავიდან გამიჭირდა და მინდოდა დავრწმუნებულიყავი, რომ რაღაც მომენტში დაფა არ მქონდა შემწვარი. მე დავამთავრე ფაქტიურად 3 დაფის მოკვლა, რაც მიმიყვანს ჩემს შემდეგ ნივთზე… კონდენსატორები! (10 აშშ დოლარი) თქვენ ნამდვილად გჭირდებათ მხოლოდ 1 47 uF 50V კონდენსატორი, ასე რომ 240 -იანი ყუთი იყო ზედმეტი. 36V ელექტროენერგიის მიწოდება ($ 17) მე თავდაპირველად შევიძინე 12 ვოლტიანი წყარო, შემდეგ აღმოვაჩინე, რომ ეს იყო ჩემი ყველა უბედურების წყარო და მივიღე ის, რაც უფრო ახლოს იყო მაქსიმალურ ძაბვასთან, რომელსაც ჩემი სტეპერიანი ძრავა უმკლავდებოდა. თუ თქვენ იყენებთ სხვა საავტომობილო ან სტეპერ დრაივერს, დარწმუნდით, რომ მას შეუძლია გაუმკლავდეს ძაბვას (V) და რომ მომარაგების ამპერია (A) იყოს სულ მცირე ისეთი მაღალი, როგორც ძრავის მიერ დახატული პიკი ამპერები. $ 8) ეს არის ის, რაც დენის წყაროს უკავშირდება. თქვენ უნდა შეაერთოთ ეს რამდენიმე მავთული თქვენს პურის დაფაზე ჩასასმელად. მხტუნავების დიდი პაკეტი ($ 9) ისე, რომ მე შემეძლო კონტროლის განთავსება იქ, სადაც მინდოდა ოთახში.

ღილაკები ($ 8) ჩართვის/გამორთვისთვის და ა.შ

მიკროფონის გამაძლიერებელი ($ 11)

რამოდენიმე პატარა მარყუჟის ბორბალი (8 დოლარი) მე ამით დავასრულე, მაგრამ შეიძლება უკეთესი ალტერნატივები იყოს. დაწვრილებით ამის შესახებ. თქვენ ასევე აუცილებლად დაგჭირდებათ გამაგრილებელი რკინა და რისი გამოყენებაც გსურთ ძრავის დასაყენებლად. მე პირადად უბრალოდ გავაკეთე უხეში ყუთი 4 ხრახნიანი ხის ნაჭრებისგან, შემდეგ კი გადავაგდე ეს სხვა ხის ნაჭერზე, რომელიც დაახლოებით აკვანის ფეხის სიგანეა. ჯერჯერობით მას უბრალოდ მიმაგრებული მაქვს, რადგან არ ვიცი, მინდა თუ არა ბიძაჩემის აკვანი გავაფუჭო.

ნაბიჯი 1: გაეცანით თქვენს Stepper Driver Pinout– ს

შეუერთეთ 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– ზე

შეაერთეთ DIR/STEP ციფრული ქინძისთავები Arduino– ზე
შეაერთეთ DIR/STEP ციფრული ქინძისთავები Arduino– ზე

შეაერთეთ DIR და STEP ქინძისთავები სტეპერ დრაივერის დაფიდან Arduino– ს ორ ციფრულ პინზე. შესაბამისად, მე გამოვიყენე ქინძისთავები 2 და 3, მაგრამ მნიშვნელობა არ აქვს, რამდენადაც თქვენ შემდეგ დააყენებთ ქინძისთავებს თქვენს კოდში.

ნაბიჯი 5: მოდით წავიდეთ წინ და დავამატოთ ეს კონდენსატორი…

მოდით წავიდეთ წინ და დავამატოთ ეს კონდენსატორი…
მოდით წავიდეთ წინ და დავამატოთ ეს კონდენსატორი…

მე დავწვი 2 საფეხურიანი დრაივერის დაფა, რადგან მე არ მქონდა კონდენსატორი ადგილზე, ასე რომ მოდით წავიდეთ წინ და დავამატოთ 47uF 50V კონდენსატორი VM/GND ქინძისთავებზე მძღოლის დაფაზე. დარწმუნდით, რომ კონდენსატორზე "-" ბუდე არის პურის დაფაზე 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– თან

დააკავშირეთ ისინი VM/GND– თან
დააკავშირეთ ისინი VM/GND– თან

შეაერთეთ ეს "+" და "-" რელსები VM და მის გვერდით GND. პირობა კონდენსატორზე.

ნაბიჯი 12: აღფრთოვანებული იყავით თქვენი ხელებით

აღფრთოვანებული იყავით თქვენი ხელნაკეთობით
აღფრთოვანებული იყავით თქვენი ხელნაკეთობით

კარგი, თქვენ უკვე გაქვთ ძრავა და მძღოლი მთლიანად დაყენებული! აქედან მოყოლებული ჩვენ უბრალოდ ვაკეთებთ კონტროლს. სხვათა შორის, წინსვლა:

  • თუ თქვენ რაიმე მიზეზით გათიშეთ თქვენი დრაივერი, ნუ ეცდებით მის დაკავშირებას 36V დენის ჩართვისას. მე მოვკალი მე -3 მძღოლის დაფა ასე.
  • შეაერთეთ 36 ვ დენი არდუინოს დენის ჩართვამდე. მე პირადად არ ვშუშავდი არდუინოს, მაგრამ გზად ბევრი გაფრთხილება დავინახე ამის შესახებ.

ნაბიჯი 13: სურვილისამებრ - შეამოწმეთ თქვენი VREF

TMC2209– ს აქვს პოტენომეტრი, რომელიც აკონტროლებს ძრავის დენს. თუ თქვენ გაქვთ იგივე მძღოლი, რაც მე გავაკეთე, ამის შესახებ შეგიძლიათ წაიკითხოთ აქ. თუ გსურთ შეცვალოთ პარამეტრი:

  • გათიშეთ ყველა დენი და გათიშეთ ძრავის მავთულები მძღოლიდან.
  • გათიშეთ მავთული მძღოლზე EN (ჩართვის) პინზე. ეს არის პინი ზედა მარცხენა კუთხეში.
  • შეაერთეთ თქვენი ძრავის კვების წყარო (36V ერთი)
  • 20V- ზე დაყენებული მულტიმეტრის გამოყენებით, შეეხეთ ერთ ტყვიას GND წყაროსთან (მე ვიყენებდი მავთულს ჩემს "-" სარკინიგზო ხაზთან) და შეეხეთ მეორე ტყვიას VREF პინზე. გთხოვთ, არ შეეხოთ სხვას არაფერზე, თქვენ შეგიძლიათ მოკლედ შეაფასოთ თქვენი მძღოლი.
  • გამოიყენეთ პატარა ხრახნიანი ნაზად დაარეგულირეთ პოტენომეტრის ხრახნი. ჩემი დაფისთვის, საათის ისრის საწინააღმდეგოდ = მეტი ძალა. ჩემი VREF პირადად კითხულობს ~ 0.6V.

ნაბიჯი 14: ღილაკები

ღილაკები!
ღილაკები!

შემდეგი, დააკავშირეთ თქვენი ღილაკები ასე. მათ არ სჭირდებათ ძალა.

  • შეაერთეთ თქვენი ღილაკის პურის დაფის "-" რკინიგზა Arduino– ს ერთ – ერთ GND– სთან. თქვენ ასევე შეგიძლიათ უბრალოდ ჯაჭვით მოაცილოთ სხვა პურის დაფის "-" რკინიგზა, თუ გსურთ.
  • დააკავშირეთ თითოეული ღილაკის ერთი პინი "-" სარკინიგზო ხაზთან
  • შეაერთეთ თითოეული ღილაკის კიდევ ერთი პინი ციფრულ პინთან Arduino– ზე.

მე გამოვიყენე 4 ღილაკი: ძრავა ჩართული/გამორთული

ძრავა გრძელდება

მიკროფონი ჩართულია

მიკროფონი გამორთულია

უფრო მეტს, როდესაც მივდივართ კოდთან, მაგრამ მე გამოვიყენე მკაფიო მიკროფონის ღილაკები მხოლოდ იმიტომ, რომ მე არ მქონდა LED- ები, რომ გამეგო მიკროფონი ჩართული იყო თუ გამორთული, ამიტომ გამორჩეული/გამორთული ღილაკების ქონა მას სულელურად ხდიდა.

ნაბიჯი 15: დაამატეთ მიკროფონის დაფა

დაამატეთ მიკროფონის დაფა
დაამატეთ მიკროფონის დაფა

ეს არის მარტივი და ადაფრუტს აქვს კარგი ინსტრუქციები (და შედუღების საფუძვლები!) აქ.

  • შეაერთეთ "-" GND- თან
  • შეაერთეთ GND მიკროფონის დაფაზე "-"-სთან (შეგიძლიათ პირდაპირ დაუკავშიროთ GND GND- ს და გამოტოვოთ წინა ნაბიჯი, მართლაც)
  • დაუკავშირეთ VCC არდუინოს 3.3 ვ სიმძლავრეს. ეს მნიშვნელოვანია, რადგან ეს კვების წყარო ნაკლებად "ხმაურიანია" ვიდრე 5V, რის შედეგადაც მიკროფონის უკეთესი მაჩვენებლები
  • შეაერთეთ ANALOG IN პინთან Arduino– ზე. მე გამოვიყენე A0.

ნაბიჯი 16: ეს უნდა იყოს საბოლოო შედეგი

ეს უნდა იყოს საბოლოო შედეგი!
ეს უნდა იყოს საბოლოო შედეგი!
ეს უნდა იყოს საბოლოო შედეგი!
ეს უნდა იყოს საბოლოო შედეგი!

ახლა ყველაფერი მზად უნდა იყოს. აქ არის სურათი საბოლოო დიაგრამაზე და ჩემი მავთულხლართების რეალობა. მოდით შევხედოთ კოდს!

ნაბიჯი 17: კოდი

კარგი, მოდით შევხედოთ კოდს! ეს არ არის ჩემი ყველაზე სუფთა სამუშაო, მაგრამ საქმეს ასრულებს. მე დავამატე კომენტარები, რომ აგიხსნათ ყველაფერი აქ, მაგრამ დაითმინეთ. მე გამოვიყენე Arduino IDE ამ ყველაფრისთვის (ხელმისაწვდომია Windows და Mac– ზე უფასოდ) jist არის ეს: დააყენეთ ძრავის სიჩქარე და მანძილი დასაბრუნებლად.

დააყენეთ რიგი ქანები (საქანელები) გასაკეთებლად.

ჩართეთ მითითებული მანძილი 1 საქანელისთვის. რამოდენიმეჯერ გადაატრიალეთ.

ყოველივე ამას შორის, დააკვირდით ღილაკზე დაჭერას ან მოუსმინეთ მიკროფონს, რომ ნახოთ თუ არა ძრავა ჩართული. თქვენ დაგჭირდებათ სიჩქარის, მანძილის და მიკროფონის მგრძნობელობის მნიშვნელობების მორგება. ძრავის სიჩქარე გავლენას მოახდენს მოცულობასა და ბრუნვის მომენტზე. რაც უფრო სწრაფად მოძრაობს ძრავა, მით უფრო ხმამაღალია და ნაკლები ბრუნვის მომენტი. ნაღმი ამჟამად თითქმის ჩუმად არის, ამიტომ შესაძლებელია მისი გაშვება ბევრი ხმის გარეშე.

#მოიცავს // "სტანდარტული" სტეპერიანი ბიბლიოთეკა

//#განსაზღვრეთ DEBUG 1 // დატოვეთ კომენტარი, როდესაც გსურთ მიკროფონის დონის მორგება const int continuePin = 11; const int micDisablePin = 12; const int micEnablePin = 13; // მიკროფონის დაყენება - A0 აქ არის მიკროფონის ანალოგი. ნიმუშის ფანჯარა არის millis const int micPin = A0; const int sampleWindow = 1000; ხელმოუწერელი int ნიმუში; bool micEnabled = false; ორმაგი მიკრო მგრძნობელობა = 0.53; // თქვენ ალბათ დაგჭირდებათ ამის შეცვლა // ჩემთვის, დაახლოებით.5 იყო საკმარისი იმისათვის, რომ არ ისროლა მცირე ხმამაღლა // მაგრამ ისროლებს მცირე ტირილისთვის int stepsPerRevolution = 3200; // შეცვალეთ ეს თქვენი ძრავისთვის რევოლუციის რაოდენობის მიხედვით // ჩემი ძრავა არის 200 ნაბიჯი/რევოლუცია // მაგრამ მე მძღოლს ვაყენებ 1/16 მიკრო ნაბიჯზე // ასე 200*16 = 3200… პატიოსნად წარმოდგენა არა აქვს თუ არა ეს არის სწორი გზა // ამის გაკეთება Stepper myStepper (stepsPerRevolution, 2, 3); // 2 & 3 არის DIR & STEP ქინძისთავები int stepCount = 0; int motorSpeed = 95; // თქვენ უნდა შეცვალოთ ეს თქვენი აკვანისა და ბავშვის წონის მიხედვით int numSteps = 90; // მანძილი, რომელსაც ძრავა გადაადგილდება. // თქვენ მოგიწევთ ამის მორგება ბორბლის რადიუსის მიხედვით, რომელსაც თქვენ მიამაგრებთ // თქვენს ძრავაზე. ეს და სიჩქარე სავარაუდოდ იქნება გამოცდა და შეცდომა. // შენიშვნა - უფრო მაღალი სიჩქარე სტეპერ ძრავებზე = დაბალი ეფექტური ბრუნვა // თუ არ გაქვთ საკმარისი ბრუნვის მომენტი, თქვენი ძრავა გამოტოვებს ნაბიჯებს (არ გადავა) int oldmotorButtonValue = HIGH; bool ჩართულია = ყალბი; // ძრავა ჩართულია? int loopStartValue = 0; int maxRocks = 100; // რამდენჯერ გსურთ როკირება int rockCount = 0 გამორთვამდე; void setup () {#ifdef DEBUG Serial.begin (9600); // გამართვისთვის #endif pinMode (motorEnablePin, INPUT_PULLUP); // ეს არის ღილაკების პარამეტრი, რომელიც მუშაობს pinMode ენერგიის გარეშე (continuePin, INPUT_PULLUP); pinMode (micEnablePin, INPUT_PULLUP); pinMode (micDisablePin, INPUT_PULLUP); myStepper.setSpeed (motorSpeed); // ადგენს ძრავის სიჩქარეს იმაზე, რაც თქვენ ადრე მიუთითეთ} void loop () {int motorButtonValue = digitalRead (motorEnablePin); // digitalRead უბრალოდ კითხულობს ღილაკის მნიშვნელობებს int continueValue = digitalRead (continuePin); // ეს ამოიცნობს საავტომობილო ღილაკის დაჭერას და ხელს უშლის მას ერთხელ დაწკაპუნებით, თუ (motorButtonValue == HIGH && oldmotorButtonValue == LOW) {ჩართულია =! ჩართულია; } micCheck (); // თუ ძრავა გამორთულია და მიკროფონი ჩართულია, მოუსმინეთ ბავშვის ტირილს თუ (! ჩართულია && micEnabled) {if (getMicReading ()> = micSensitivity) ჩართულია = ჭეშმარიტი; } თუ (ჩართულია) {stepsPerRevolution = stepsPerRevolution * -1; // საპირისპირო მიმართულება // ჩემი კონფიგურაციით უფრო ეფექტურია შებრუნება // პირველი საქანელა. თქვენ შეგიძლიათ განათავსოთ ეს მარყუჟის შემდეგ // თუ თქვენი საქმე არ არის // დაატრიალეთ ძრავა ზემოთ მითითებული მანძილი (int i = loopStartValue; i <numSteps; i ++) {// შეამოწმეთ int tempmotorButtonValue = digitalRead (motorEnablePin); if (tempmotorButtonValue! = motorButtonValue) {rockCount = 0; // ეს მომდევნო ორი ხაზი "ინახავს" ძრავის პოზიციას, ისე რომ შემდეგ ჯერზე ჩართოთ ის // ის გააგრძელებს მოგზაურობას თითქოს თქვენ არ გამორთოთ. ეს ხელს უშლის გადაგდებას // თქვენი მოძრაობის მანძილი loopStartValue = i; // პოზიციის შენახვა ნაბიჯებიPerRevolution = stepsPerRevolution * -1; // შეინარჩუნოს მიმართულება oldmotorButtonValue = tempmotorButtonValue; შესვენება; } checkContinue (ContinueValue); // შეამოწმეთ გაგრძელების ღილაკზე დაჭერილია micCheck (); myStepper.step (ნაბიჯები PerRevolution / 50); // რამდენი ნაბიჯი უნდა გადადგას თითო მარყუჟში, // შეიძლება დაგჭირდეთ ამის კორექტირება // დარწმუნდით, რომ ჩვენ გავაგრძელებთ მარყუჟის სრულ მანძილს, თუ მარყუჟი დასრულდება // ეს ძალაში შედის, თუ თქვენ თვითონ გამორთეთ ძრავა და მან "გადაარჩინა" პოზიცია if (i == numSteps - 1) {loopStartValue = 0; }}} შეფერხება (100); // გააჩერეთ 100 მილილიტრი შემდეგი როკის გაკეთებამდე. თქვენ დაგჭირდებათ ამის მორგება. თუ (ჩართულია) შემოწმება სრული (); oldmotorButtonValue = motorButtonValue; // ეს გამოიყენება ორმაგი დაწკაპუნების თავიდან ასაცილებლად} // ეს კოდი პირდაპირ Adafruit– დან არის. ორმაგი getMicReading () {ხელმოუწერელი გრძელი დაწყებაMillis = millis (); ხელმოუწერელი int peakToPeak = 0; // პიკიდან პიკამდე დონის ხელმოუწერელი int signalMax = 0; ხელმოუწერელი int signalMin = 1024; while (millis () - startMillis <sampleWindow) {micCheck (); თუ (digitalRead (motorEnablePin) == LOW) ჩართულია = ჭეშმარიტი; ნიმუში = analogRead (micPin); if (ნიმუში signalMax) {signalMax = ნიმუში; // შეინახეთ მხოლოდ მაქსიმალური დონე} სხვა თუ (ნიმუში = maxRocks) {ჩართულია = ყალბი; rockCount = 0; // დაუბრუნდით შუა პოზიციას

for (int i = loopStartValue; i <numSteps/2; i ++) {

myStepper.step (ნაბიჯები PerRevolution * -1 / 50); // რევოლუციის 1/100 ნაბიჯი:

}

} }

ნაბიჯი 18: სამონტაჟო და ბორბლის დაყენება

სამონტაჟო და ბორბლის დაყენება
სამონტაჟო და ბორბლის დაყენება

ეს ჯერ კიდევ არის WIP ჩემთვის, რადგან როგორც ვთქვი, დარწმუნებული არ ვარ, რომ ჯერ კიდევ მინდა ჩემი აკვანი ჩავაგდო ხერხი.

  • განათავსეთ დამჭერი, რომ იმოქმედოს როგორც აკვანიდან გამომავალი მკლავი ისე, რომ ჩემმა ბორბალმა გაიყვანოს სწორი ხაზი
  • ხრახნიანი ნავთობის ყუთი მოვათავსე ძრავას და დავაკარი ძირის ფირფიტაზე, რომელიც მე აკვანის ფეხს დავაჭირე
  • გააკეთა საბაჟო ხის პულელის ბორბალი, რომელსაც აქვს ხვრელი, რათა მოერგოს პატარა სტეპერიანი პულელის ბორბალს შიგნით. მე ცენტრალური ხვრელი ძალიან მჭიდროდ გავაკეთე და უბრალოდ ჩავარდი სტეპერის პულის საჭეში. ბორბლის გავლით გავაღე ხვრელი შუაზე ისე, რომ შემეძლო ლითონის პულელის ბორბალზე ხრახნიანი წვდომა სტეპერ ძრავზე.
  • გაიქეცი სიმებიანი აკვანიდან "მკლავიდან" საჭემდე. მე დავიჭირე სტრიქონი გავლით ჩემს მიერ გაბურღული ხვრელის გავლით და უბრალოდ ჩავჭიდე მას ადგილზე.

მე –3 საფეხურის უკეთესი გამოსავალია, პირველ რიგში, იყიდოთ უფრო დიდი დიამეტრის პულე ბორბალი. ჩემი არის დიამეტრის 3 -ზე ნაკლები დიამეტრის შიგნით და მართლაც კარგად მუშაობს ჩემს კონკრეტულ აკვანში.

ჩემი პირველი ვერსია საჭეს ნაცვლად იყენებდა მკლავს. ის არც ისე კარგად იმუშავა, რადგანაც ძალა არ გამოიყენებოდა თანმიმდევრული მიმართულებით და ისიც ნამდვილად მგრძნობიარე იყო გადაგდება, თუ საწყისი პოზიცია არ იყო სწორი. ბორბლის გამოყენება ამ პრობლემებს აგვარებს. მე ასევე ვიმხიარულე პატარა ტალღოვანი სისტემის გამოყენებით, მაგრამ საბოლოოდ არ დამჭირდა, რადგან ჩემმა საჭემ მომცა საკმარისი ბრუნვის მომენტი.

ნაბიჯი 19: საბოლოო დაყენება

საბოლოო დაყენება
საბოლოო დაყენება

დააინსტალირეთ მიკროფონი თქვენს შვილთან ახლოს, მაგრამ იმ ადგილას, სადაც ისინი არ აპირებენ მავთულხლართებს. განათავსეთ ღილაკები სადაც გინდათ, რამდენადაც თქვენ გაქვთ საკმარისი მავთულები საბოლოო დანიშნულების ადგილამდე გასაშვებად. თქვენ ასევე შეგიძლიათ შეცვალოთ ღილაკები wifi კონფიგურაციით არდუინოზე, მაგრამ მე ჯერ ღრმად არ წავსულვარ. წარმატებებს გისურვებთ!

გირჩევთ: