Სარჩევი:

ცეცხლის დევნა რობოტი: 6 ნაბიჯი (სურათებით)
ცეცხლის დევნა რობოტი: 6 ნაბიჯი (სურათებით)

ვიდეო: ცეცხლის დევნა რობოტი: 6 ნაბიჯი (სურათებით)

ვიდეო: ცეცხლის დევნა რობოტი: 6 ნაბიჯი (სურათებით)
ვიდეო: რაზმი ა 2024, ივლისი
Anonim
Image
Image
ფლეიმის სენსორის დაკავშირება PICO– სთან
ფლეიმის სენსორის დაკავშირება PICO– სთან

ამ პროექტში ჩვენ ვაპირებთ შევქმნათ მეხანძრე რობოტი, რომელიც ადევნებს ცეცხლს და აქრობს მას ჰაერის აფეთქებით გულშემატკივართაგან.

მას შემდეგ რაც დაასრულებთ ამ პროექტს, თქვენ იცით როგორ გამოიყენოთ ფლეიმის სენსორები PICO– სთან ერთად, როგორ წაიკითხოთ მათი გამომავალი მნიშვნელობა და როგორ მოიქცეთ მასზე და როგორ გამოიყენოთ დარლინგტონის სენსორები DC ძრავით და როგორ გააკონტროლოთ ისინი. რა თქმა უნდა ძალიან მაგარ მეხანძრე რობოტთან ერთად.

მარაგები

  • PICO
  • ფლეიმის სენსორი
  • მცირე DC ძრავა
  • მცირე პროპელერი
  • L298N H- ხიდის ძრავის მძღოლი
  • PCA9685 12 ბიტიანი 16 არხიანი PWM დრაივერი
  • 2WD რობოტის შასის ნაკრები
  • მინი პურის დაფა
  • ჯუმბერის მავთულები
  • ხრახნები და თხილი

ნაბიჯი 1: ფლეიმის სენსორის დაკავშირება PICO– სთან

ფლეიმის სენსორის დაკავშირება PICO– სთან
ფლეიმის სენსორის დაკავშირება PICO– სთან

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

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

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

ფლეიმის სენსორის მოდულის პინები:

  • VCC: დადებითი 5 ვოლტი, დაკავშირებული PICO– ს VCC პინთან.
  • GND: უარყოფითი პინი, დაკავშირებული PICO- ს GND პინთან.
  • D0: ციფრული გამომავალი პინი, რომელიც დაკავშირებულია PICO– ს სასურველ ციფრულთან.

მოდით ახლა დავუკავშიროთ მას ჩვენს PICO– ს, რომ შევამოწმოთ ჩვენი გაყვანილობა და კოდის ლოგიკა, რათა დავრწმუნდეთ, რომ ყველაფერი გამართულად მუშაობს. ფლეიმის სენსორების დაკავშირება ძალიან ადვილია, უბრალოდ დაუკავშირეთ VCC და GND სენსორებს VCC და GND of PICO შესაბამისად, შემდეგ კი დააკავშირეთ გამომავალი ქინძისთავები შემდეგნაირად:

  • D0 (ალის სენსორი) → A0 (PICO)
  • D0 (შუა ალის სენსორი) → A1 (PICO)
  • D0 (ფლეიმის მარცხენა სენსორი) → A2 (PICO)

ნაბიჯი 2: კოდირება PICO ფლეიმის სენსორებით

კოდირება PICO ფლეიმის სენსორებით
კოდირება PICO ფლეიმის სენსორებით
კოდირება PICO ფლეიმის სენსორებით
კოდირება PICO ფლეიმის სენსორებით

ახლა, როდესაც ჩვენ გვაქვს ჩვენი ფლეიმის სენსორები PICO- სთან დაკავშირებული, დავიწყოთ კოდირება ისე, რომ ვიცოდეთ რომელი ალის სენსორს აქვს ალი წინ და რომელი არა.

კოდის ლოგიკა:

  • დააყენეთ PICO- ს A0, A2 და A3 ქინძისთავები, როგორც INPUT ქინძისთავები
  • წაიკითხეთ თითოეული სენსორის გამომავალი მნიშვნელობა
  • დაბეჭდეთ თითოეული სენსორის გამომავალი მნიშვნელობა სერიულ მონიტორზე, ასე რომ ჩვენ შეგვიძლია დავადგინოთ, მუშაობს თუ არა ყველაფერი სწორად თუ არა.

გთხოვთ გაითვალისწინოთ, რომ ჩვენს სენსორებს აქვთ დაბალი კითხვა "0" ცეცხლის შეგრძნებისას და მაღალი მაჩვენებელი "1" როდესაც ცეცხლს არ გრძნობენ.

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

ნაბიჯი 3: გულშემატკივართა დაკავშირება

გულშემატკივართან დაკავშირება
გულშემატკივართან დაკავშირება

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

მოდით, დავიწყოთ ჩვენი DC ძრავების შეერთებით. DC ძრავებს აქვთ მაღალი დენი, ამიტომ ჩვენ მათ პირდაპირ ვერ დავუკავშირებთ ჩვენს PICO– ს, რადგან მას მხოლოდ 40 mA შეუძლია შესთავაზოს GPIO პინზე, ხოლო ძრავას სჭირდება 100 mA. სწორედ ამიტომ ჩვენ უნდა გამოვიყენოთ ტრანზისტორი მის დასაკავშირებლად და ჩვენ ვიყენებთ TIP122 ტრანზისტორს, რადგანაც ჩვენ შეგვიძლია გამოვიყენოთ ჩვენი PICO- ს მიერ მოწოდებული დენის გაზრდა ძრავისათვის საჭირო ოდენობით.

ჩვენ ვაპირებთ დავამატოთ ჩვენი DC ძრავა და გარე "PLACE HOLDER" ბატარეა, რათა უზრუნველვყოთ ძრავა საჭირო სიმძლავრით, ჩვენი PICO- სთვის ზიანის მიყენების გარეშე.

DC ძრავა უნდა იყოს დაკავშირებული შემდეგნაირად:

  • ბაზის პინი (TIP122) → D0 (PICO)
  • კოლექტორის პინი (TIP122) → DC საავტომობილო წამყვანი "DC ძრავებს არ აქვთ პოლარობა, ამიტომ არ აქვს მნიშვნელობა რომელი ტყვია"
  • გამცემი პინი (TIP122) → GND
  • DC ძრავის ცარიელი ტყვიის external დადებითი (წითელი მავთული) გარე ბატარეის

ნუ დაგავიწყდებათ ბატარეის GND დაკავშირება PICO– ს GND– თან, თითქოს ის არ არის დაკავშირებული, წრე საერთოდ არ იმუშავებს

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

ნაბიჯი 4: რობოტი მანქანის ძრავების დაკავშირება

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

იმისათვის, რომ შეძლოთ DC ძრავის მოძრაობის სიჩქარისა და მიმართულების კონტროლი, თქვენ უნდა გამოიყენოთ L298N H- ხიდის ძრავის მძღოლი, რომელიც არის ძრავის მძღოლის მოდული, რომელსაც გააჩნია უნარი აკონტროლოს ძრავის მოძრაობის სიჩქარე და მიმართულება, ძრავების კვების უნარით. გარე კვების წყაროდან.

L298N საავტომობილო დრაივერს სჭირდება 4 ციფრული შეყვანა ძრავების ბრუნვის მიმართულების გასაკონტროლებლად და 2 PWM შესასვლელი ძრავების ბრუნვის სიჩქარის გასაკონტროლებლად. სამწუხაროდ, PICO– ს აქვს მხოლოდ ერთი PWM გამომავალი პინი, რომელიც ვერ აკონტროლებს ძრავის ბრუნვის მიმართულებას და სიჩქარეს. ეს არის ის, სადაც ჩვენ ვიყენებთ PCA9685 PWM ქინძისთავების გაფართოების მოდულს, რათა გავზარდოთ PICO– ს PWM ჩვენი საჭიროებების შესაბამისად.

გაყვანილობა ახლა ცოტა უფრო რთული გახდა, რადგან ჩვენ ვაკავშირებთ 2 ახალ ძრავას და 2 მოდულს მათ გასაკონტროლებლად. მაგრამ, ეს არ იქნება პრობლემა, თუ დაიცავთ მოცემულ სქემებს და ნაბიჯებს:

დავიწყოთ PCA9685 PWM მოდულით:

  • Vcc (PCA9685) → Vcc (PICO)
  • GND (PCA9685) GND
  • SDA ((PCA9685) → D2 (PICO)
  • SCL (PCA9685) → D3 (PICO)

მოდით, შევაერთოთ L298N ძრავის დრაივერის მოდული:

დავიწყოთ ჩვენი ენერგიის წყაროსთან დაკავშირებით:

  • +12 (L298N მოდული) → დადებითი წითელი მავთული (ბატარეა)
  • GND (L298N მოდული) → GND

ძრავის ბრუნვის მიმართულების გასაკონტროლებლად:

  • In1 (L298N მოდული) → PWM 0 პინი (PCA9685)
  • In2 (L298N მოდული) → PWM 1 პინი (PCA9685)
  • In3 (L298N მოდული) → PWM 2 პინი (PCA9685)
  • In4 (L298N მოდული) → PWM 3 პინი (PCA9685)

ძრავის ბრუნვის სიჩქარის გასაკონტროლებლად:

  • enableA (L298N მოდული) → PWM 4 პინი (PCA9685)
  • enableB (L298N მოდული) → PWM 5 პინი (PCA9685)

L298N საავტომობილო დრაივერს შეუძლია გამოაქვეყნოს რეგულირებადი +5 ვოლტი, რომელსაც ჩვენ ვიყენებთ PICO- ს გასაძლიერებლად:

+5 (L298N მოდული) → Vin (PICO)

არ დაუკავშიროთ ეს პინი, თუ PICO იკვებება USB- ის საშუალებით

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

ნაბიჯი 5: კოდის დასრულება

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

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

თუ ის იგრძნობს ცეცხლს რობოტის მარჯვენა მხარეს (მარჯვენა სენსორი გრძნობს ცეცხლს), მაშინ რობოტი ბრუნავს მანამ, სანამ ცეცხლი რობოტის წინ (შუა სენსორი) არ იქნება, შემდეგ კი მისკენ მოძრაობს სანამ არ მიაღწევს დადგენილ მანძილს და ჩართავს ვენტილატორს

თუ ის იგრძნობს ცეცხლს რობოტის მარცხენა მხარეს, იგი იგივეს გააკეთებს, რაც ზემოთ. მაგრამ, ის მარცხნივ მარჯვნივ მოტრიალდება.

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

ნაბიჯი 6: თქვენ დასრულებული ხართ

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

გთხოვთ, ნუ მოგერიდებათ დაუსვათ შეკითხვები კომენტარებში ან ჩვენს ვებგვერდზე mellbell.cc. და როგორც ყოველთვის გააგრძელე:)

გირჩევთ: