Სარჩევი:

Arduino უკაბელო კონტროლის რობოტი მანქანა: 5 ნაბიჯი
Arduino უკაბელო კონტროლის რობოტი მანქანა: 5 ნაბიჯი

ვიდეო: Arduino უკაბელო კონტროლის რობოტი მანქანა: 5 ნაბიჯი

ვიდეო: Arduino უკაბელო კონტროლის რობოტი მანქანა: 5 ნაბიჯი
ვიდეო: CS50 2015 - Week 10 2024, ნოემბერი
Anonim
Arduino უკაბელო კონტროლის რობოტი მანქანა
Arduino უკაბელო კონტროლის რობოტი მანქანა

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

გადამცემის მხარე მოიცავს Arduino nano, ჯოისტიკ მოდულს და NRF24L01 მონაცემებს უსადენოდ გაგზავნის. მიმღების მხარეში იქნება Arduino nano, NRF24L01 მონაცემების მისაღებად და L293D ძრავის მძღოლის IC ძრავების გასაკონტროლებლად. გადამცემის და მიმღების სქემები იკვებება 9 ვ ბატარეით.

კომპონენტები, რომლებიც დაგჭირდებათ ამ პროექტისთვის, არის შემდეგი

გადამცემის მხარე

  • არდუინო ნანო
  • ჯოისტიკის მოდული
  • NRF24L01
  • 100uf კონდენსატორი
  • 3 პინიანი სლაიდების გადამრთველი
  • 2 პინიანი ტერმინალის ბლოკი
  • 9 ვ ბატარეა

მიმღების მხარე

  • არდუინო ნანო
  • NRF24L01
  • 100uf კონდენსატორი
  • კონდენსატორი 0.1uf
  • 10uf კონდენსატორი
  • 3 პინიანი სლაიდების გადამრთველი
  • 2 პინიანი ტერმინალური ბლოკი (3 ცალი)
  • L293D საავტომობილო დრაივერის IC
  • 9 ვ ბატარეა

ნაბიჯი 1: წრიული დიაგრამა

Წრიული დიაგრამა
Წრიული დიაგრამა

გადამცემის და მიმღების სქემების ძირითადი ნაწილი არის Arduino nano, რომელიც იკვებება 9 ვ ბატარეით. შემდეგ ჩვენ გვაქვს NRF24L01 მოდული ორივე მხრიდან უკაბელო კომუნიკაციისთვის.

ჯოისტიკის მოდული გადამცემის მხარეს გამოყენებული იქნება x და y მნიშვნელობების მისაღებად, რომლებიც გაიგზავნება მიმღების მხარეს და გამოყენებული იქნება ძრავების გასაკონტროლებლად. L293D ძრავის მძღოლი IC მიმღების მხარეს ასევე მიიღებს ენერგიას 9 ვ კვების წყაროდან და გააკონტროლებს ძრავებს.

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

ნაბიჯი 2: PCB დიზაინი

PCB დიზაინი
PCB დიზაინი
PCB დიზაინი
PCB დიზაინი

მას შემდეგ რაც დავრწმუნდი, რომ ყველაფერი კარგად მუშაობს პურის დაფაზე, მე შევქმენი PCB EasyEDA– ზე. EasyEDA არის ღია კოდის ონლაინ PCB დიზაინის ინსტრუმენტი.

აქ მოცემულია ამ პროექტის PCB დიზაინის ბმული. PCB– ის შემუშავების შემდეგ, მე შევქმენი გერბერის ფაილები, რომლებიც საჭიროა PCB– ის წარმოებისთვის.

შეგიძლიათ ჩამოტვირთოთ გერბერის ფაილები შემდეგი ბმულების საშუალებით

Gerber_Transmitter_20190711100324 გადმოწერა

Gerber_Receiver_20190711100335 გადმოწერა

ნაბიჯი 3: PCB– ების შეკვეთა

PCB– ების შეკვეთა
PCB– ების შეკვეთა
PCB– ების შეკვეთა
PCB– ების შეკვეთა
PCB– ების შეკვეთა
PCB– ების შეკვეთა
PCB– ების შეკვეთა
PCB– ების შეკვეთა

ახლა ჩვენ მივიღეთ PCB დიზაინი და დროა შეუკვეთოთ PCB– ები. ამისათვის თქვენ უბრალოდ უნდა შეხვიდეთ JLCPCB.com– ზე და დააჭიროთ ღილაკს „QUOTE NOW“.

JLCPCB ასევე არის ამ პროექტის სპონსორი. JLCPCB (Shenzhen JLC Electronics Co., Ltd.), არის ყველაზე დიდი PCB პროტოტიპის საწარმო ჩინეთში და მაღალტექნოლოგიური მწარმოებელი, რომელიც სპეციალიზირებულია სწრაფი PCB პროტოტიპისა და მცირე ზომის PCB წარმოებაში. თქვენ შეგიძლიათ შეუკვეთოთ მინიმუმ 5 PCB სულ რაღაც 2 დოლარად.

PCB წარმოების მისაღებად, ატვირთეთ გერბერის ფაილი, რომელიც გადმოწერეთ ბოლო ეტაპზე. ატვირთეთ.zip ფაილი ან ასევე შეგიძლიათ გადააადგილოთ გერბერის ფაილები.

Zip ფაილის ატვირთვის შემდეგ, თქვენ იხილავთ წარმატების შეტყობინებას ბოლოში, თუ ფაილი წარმატებით აიტვირთა. თქვენ შეგიძლიათ გადახედოთ PCB- ს გერბერის მაყურებელში, რათა დარწმუნდეთ, რომ ყველაფერი კარგადაა.

თქვენ შეგიძლიათ ნახოთ PCB ორივე ზედა და ქვედა.

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

შეკვეთის განთავსებისთვის დააჭირეთ ღილაკს "შეინახეთ კალათაში".

ჩემი PCB– ების დამზადებას 2 დღე დასჭირდა და ერთი კვირის განმავლობაში ჩამოვიდა DHL– ის მიწოდების ვარიანტის გამოყენებით. PCB– ები კარგად იყო შეფუთული და ხარისხი ნამდვილად კარგი იყო.

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

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

გადამცემის კოდი

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

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

მარყუჟის ფუნქციაში, ჩვენ პირველად ვკითხულობთ ჯოისტიკ მოდულის მნიშვნელობებს და ვინახავთ მასივში. ამის შემდეგ, radio.write () ფუნქციის გამოყენებით ჩვენ ამ შეტყობინებას გავუგზავნით მიმღებს. ამ ფუნქციის პირველი არგუმენტი არის შეტყობინება და მეორე არგუმენტი არის ამ შეტყობინებაში არსებული ბაიტების რაოდენობა. Radio.write () ფუნქცია აბრუნებს bool- ს და ეს სიმართლეა, მაშინ ეს ნიშნავს, რომ მონაცემები მიღებულ იქნა მიმღებამდე და თუ ის ბრუნდება ყალბი, მონაცემები დაიკარგა.

მიმღების კოდი, ჩვენ ასევე უნდა შევიტანოთ SPI და RF24 ბიბლიოთეკები უკაბელო კომუნიკაციისთვის. შემდეგ ჩვენ უნდა განვსაზღვროთ ციფრული ქინძისთავები NRF24L01 მოდულისთვის და l293d საავტომობილო დრაივერის IC და ზოგიერთი ცვლადი. ამის შემდეგ ჩვენ უნდა განვსაზღვროთ რადიო ობიექტი, მისთვის საკომუნიკაციო მისამართი და მასივი მასში შესასვლელი მნიშვნელობების შესანახად.

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

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

ასევე შეგიძლიათ მიიღოთ კოდები

გირჩევთ: