Სარჩევი:
- ნაბიჯი 1: ორივე MASTER და SLAVE იმავე კოდში
- ნაბიჯი 2: BLUETOOTH მოდულები საუბრობენ სერიული კითხვისა და წერის გზით
- ნაბიჯი 3: რბოლის კონტროლი
- ნაბიჯი 4: დანარჩენი კოდი
- ნაბიჯი 5: რა არის შემდეგი?
ვიდეო: Arduino Hot Wheels Speed Track ნაწილი #2 - კოდი: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
ამ პროექტის პირველ ნაწილში ჩვენ შევქმენით აპარატურა პროტოტიპისთვის 2 დაფაზე.
ამ ნაწილში ჩვენ გადავხედავთ კოდს, როგორ მუშაობს და შემდეგ გამოვცდით მას.
დარწმუნდით, რომ უყურეთ ზემოთ მოცემულ ვიდეოს მთელი კოდის მიმოხილვისა და სამუშაო კოდის ვიტრინისათვის.
ნაბიჯი 1: ორივე MASTER და SLAVE იმავე კოდში
კოდი არის 2 ნაწილად, მაგრამ ერთი და იგივე ფაილის შიგნით. მე ვიყენებ #define- ს და #ifdef- ს იმის დასადგენად, თუ რომელი კოდი იქნება შედგენილი ან იგნორირებული, ასე რომ მე შემიძლია გამოვყო ნებისმიერი კოდი, რომელიც არის მხოლოდ MASTER breadboard- ისთვის და კოდი, რომელიც მხოლოდ SLAVE breadboard- ისთვისაა.
ძირითადად, თუ განსაზღვრული MASTER მოიძებნება, მაშინ ნებისმიერი კოდი, რომელიც მდებარეობს MASTER კოდის ბლოკში, შედგენილი იქნება და ნებისმიერი კოდი ამ ბლოკის გარეთ წაიშლება შედგენის დროს.
#fdef MASTER
// სამაგისტრო კონკრეტული კოდი აქ არის
#სხვა
#განსაზღვრეთ მონა
// მონების კონკრეტული კოდი აქ არის
#დაასრულე თუ
მე ასევე ვიყენებ იმავე ტექნიკას #განვსაზღვრო SLAVE როდესაც MASTER შედგენილია, ასე რომ თქვენ მხოლოდ უნდა იდარდოთ MASTER- ის განსაზღვრის შესახებ თუ არა SLAVE- ის განსაზღვრისათვის.
ნაბიჯი 2: BLUETOOTH მოდულები საუბრობენ სერიული კითხვისა და წერის გზით
ამ პროექტში მხოლოდ SLAVE breadboard ესაუბრება MASTER breadboard- ს. MASTER არასოდეს ლაპარაკობს უკან, ის მხოლოდ უსმენს და შემდეგ მოქმედებს შემოსულ მონაცემებზე.
მოდულები საუბრობენ და უსმენენ Arduino კოდირების ეკოსისტემაში ჩაშენებული სერიული კლასის გამოყენებით.
Bluetooth მოდულები ურთიერთობენ 38400 baud– ით, ამიტომ ორივე კოდის ბილიკი ახდენს მათი სერიული კომუნიკაციის ინიციალიზაციას:
სერიული.დაწყება (38400);
და SLAVE იყენებს:
Serial.write (მონაცემები აქ);
მასტერთან სასაუბროდ და სამაგისტრო იყენებს:
მონაცემები = Serial.read ();
სერიული ნაკადის მოსასმენად და მისი შინაარსის წასაკითხად და შესანახად ცვლადში.
ნაბიჯი 3: რბოლის კონტროლი
SLAVE ეუბნება მასტერს, არის თუ არა იგი რბოლაში უფრო მეტად ან მზა რეჟიმში, მისი მწვანე მიკროკონტროლერთან დაკავშირებული მწვანე ღილაკის საშუალებით. მზა რეჟიმში, IR სენსორები არაფერს აკეთებენ და MASTER აჩვენებს ეკრანზე 8 ტირეს, რომ მიუთითოს, რომ ის მზა რეჟიმშია.
როდესაც SLAVE ეუბნება მასტერს, რომ რბოლა დაიწყება, SLAVE იწყებს IR სენსორების გამოკითხვას მის მხარეს (რბოლაზე დაწყება), რომ მანქანები გაიარონ ქვევით.
თითოეული მანქანა გადის თითოეული IR სენსორის ქვეშ, ის აგზავნის A (მანქანა 1) ან B (მანქანა 2) მასტერს.
როდესაც MASTER იღებს A ან B, ის აძლევს ტაიმერს კონკრეტული მანქანისთვის და შემდეგ ელოდება, რომ მანქანა გაივლის შესაბამისი IR სენსორის ქვეშ ფინიშის ხაზზე.
ეკრანი განახლდება ყოველ 50 ms– ში, რომ აჩვენოს თითოეული მანქანის ამჟამინდელი დრო წამებში 2 ათობითი ადგილით.
მას შემდეგ, რაც ორივე მანქანა ფინიშის ხაზზე მოხვდა, MASTER გადაწყვეტს რომელი მანქანა იყო ყველაზე სწრაფი და ეკრანზე ანათებს იმ დროს გამარჯვებულის დასახატად.
ნაბიჯი 4: დანარჩენი კოდი
დანარჩენი კოდი არის მხოლოდ სასარგებლო კოდი, რომელიც აკონტროლებს მონაცემების ჩვენებას 8 ნიშნა ეკრანზე, ან ამუშავებს ღილაკზე დაჭერის ლოგიკას და ა.
ამ პროექტის შესავალი ნაწილში ვიდეოს დასასრულს მე ვაჩვენებ კოდის მაგალითს, რომელიც მუშაობს 2 დაფაზე, ასე რომ დარწმუნდით, რომ შეამოწმეთ ეს!
თქვენ შეგიძლიათ აიღოთ ამ პროექტის კოდი ჩემი github repo– დან.
ნაბიჯი 5: რა არის შემდეგი?
ეს ჯერჯერობით ასეა … მე –3 ნაწილში ჩვენ შევხედავთ კომპონენტების გადატანას დაფაზე და რაღაც უფრო მუდმივზე … დაელოდეთ!
იმედი მაქვს მოგეწონებათ ეს პროექტი!
გამომყევი შემდეგზე:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
გირჩევთ:
Arduino-tomation ნაწილი 5: LE TUNNEL DE CHAUFFE: 4 ნაბიჯი
Arduino-tomation ნაწილი 5: LE TUNNEL DE CHAUFFE: ორი თვის წინ მე გადავწყვიტე გადავიტანო პატარა დავიწყებული სისტემა, რომელიც ინახებოდა სამხედრო სახლში იმ ადგილას, სადაც მე ვმუშაობ. ეს სისტემა გათბობის და გათბობის ელექტრონული მოწყობილობებისათვის ან იმისთვის, რაც განსაკუთრებულ მაღალ ტემპერატურას აყენებს წინააღმდეგობა გაუწიეთ კონვეიერის ქამარს. ასე რომ, მე შევქმენი რაღაც
Arduino LTC6804 BMS - ნაწილი 2: ბალანსის დაფა: 5 ნაბიჯი
Arduino LTC6804 BMS - ნაწილი 2: ბალანსი განსაზღვრული დიაპაზონი, პაკეტი შეიძლება იყოს დისკო
VentMan ნაწილი II: Arduino- ავტომატური ღუმელის გამოვლენა გამაძლიერებელი გულშემატკივრებისთვის: 6 ნაბიჯი
VentMan ნაწილი II: Arduino- ავტომატური ღუმელის გამოვლენა გამაძლიერებელი გულშემატკივრებისთვის: ძირითადი პუნქტები: ეს იყო დროებითი გატეხვა, რათა დამედგინა, როდის მუშაობდა ჩემი AC/ღუმელი გამწოვი ძრავა, ისე რომ ჩემი ორი გამაძლიერებელი გულშემატკივარი ჩართულიყო. მე მჭირდება ორი გამაძლიერებელი ჩემს სადინარში, რომ უფრო თბილ/გრილ ჰაერს გავუშვა ორი ორი იზოლირებული საძინებელი. Მაგრამ მე
Arduino პორტატული სამუშაო მაგიდა ნაწილი 3: 11 ნაბიჯი
Arduino პორტატული სამუშაო მაგიდა ნაწილი 3: თუ თქვენ ნახეთ 1, 2 და 2B ნაწილები, მაშინ ამ პროექტში ჯერ არ ყოფილა ბევრი Arduino, მაგრამ მხოლოდ რამდენიმე დაფის მავთული და ა.შ. ეს არ არის და ინფრასტრუქტურის ნაწილი. უნდა აშენდეს დანარჩენი სამუშაოების დაწყებამდე. ეს არის ელექტრონიკა და
პორტატული Arduino Workbench ნაწილი 1: 4 ნაბიჯი
პორტატული Arduino Workbench ნაწილი 1: ფრენის დროს მრავალი პროექტის განხორციელება ნიშნავს იმას, რომ მე მალე ვიქნები არაორგანიზებული და ჩემი მაგიდის სურათი გვიჩვენებს რა შეიძლება მოხდეს. არა მხოლოდ ეს მაგიდა, მე მაქვს სალონი, რომელიც მთავრდება მსგავს მდგომარეობაში და ხის სახელოსნოში, თუმცა ეს უფრო დახვეწილი, ელექტრო ინსტრუმენტებია