विषयसूची:
- चरण 1: मास्टर और गुलाम दोनों एक ही कोड में
- चरण 2: ब्लूटूथ मॉड्यूल सीरियल के माध्यम से बात करते हैं पढ़ें और लिखें
- चरण 3: दौड़ को नियंत्रित करना
- चरण 4: शेष कोड
- चरण 5: आगे क्या है?
वीडियो: Arduino हॉट व्हील्स स्पीड ट्रैक पार्ट # 2 - कोड: 5 चरण
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
इस परियोजना के पहले भाग में हमने 2 ब्रेडबोर्ड पर प्रोटोटाइप के लिए हार्डवेयर बनाया।
और इस भाग में हम कोड को देखेंगे कि यह कैसे काम करता है और फिर इसका परीक्षण करेंगे।
संपूर्ण कोड समीक्षा और कार्य कोड के प्रदर्शन के लिए उपरोक्त वीडियो देखना सुनिश्चित करें।
चरण 1: मास्टर और गुलाम दोनों एक ही कोड में
कोड 2 भागों में है, लेकिन एक ही फाइल के अंदर है। मैं यह निर्धारित करने के लिए #define और #ifdef का उपयोग करता हूं कि कौन सा कोड संकलित या अनदेखा किया जाएगा ताकि मैं किसी भी कोड को अलग कर सकूं जो केवल मास्टर ब्रेडबोर्ड और कोड जो केवल स्लेव ब्रेडबोर्ड के लिए है।
मूल रूप से, यदि परिभाषित मास्टर मिल जाता है, तो मास्टर कोड ब्लॉक के अंदर बैठे किसी भी कोड को संकलित किया जाएगा और उस ब्लॉक के बाहर किसी भी कोड को संकलन समय पर हटा दिया जाएगा।
#ifdef मास्टर
// मास्टर विशिष्ट कोड यहाँ है
#अन्यथा
#दास को परिभाषित करें
// गुलाम विशिष्ट कोड यहाँ है
#अगर अंत
जब मास्टर को संकलित किया जाता है तो मैं उसी तकनीक का उपयोग #दास को परिभाषित करने के लिए भी कर रहा हूं, इसलिए आपको केवल मास्टर को परिभाषित करने के बारे में चिंता करने की आवश्यकता है या सक्षम दास को परिभाषित करने के लिए नहीं।
चरण 2: ब्लूटूथ मॉड्यूल सीरियल के माध्यम से बात करते हैं पढ़ें और लिखें
इस प्रोजेक्ट में केवल SLAVE ब्रेडबोर्ड मास्टर ब्रेडबोर्ड से बात करता है। मास्टर कभी वापस बात नहीं करता है, यह केवल सुनता है और फिर आने वाले डेटा पर कार्य करता है।
मॉड्यूल Arduino कोडिंग इकोसिस्टम में बिल्ट इन सीरियल क्लास का उपयोग करके बात करते हैं और सुनते हैं।
ब्लूटूथ मॉड्यूल 38400 बॉड पर संचार करते हैं, इसलिए दोनों कोड पथ अपने सीरियल संचार का उपयोग करके आरंभ करते हैं:
सीरियल.बेगिन (38400);
और दास उपयोग करता है:
Serial.write (यहां डेटा);
मास्टर से बात करने के लिए, और मास्टर उपयोग करता है:
डेटा = सीरियल.रीड ();
सीरियल स्ट्रीम को सुनने और इसकी सामग्री को पढ़ने के लिए और इसे एक वेरिएबल के अंदर स्टोर करने के लिए।
चरण 3: दौड़ को नियंत्रित करना
स्लेव मास्टर को बताता है कि क्या यह माइक्रो-कंट्रोलर से जुड़े हरे बटन के माध्यम से अधिक या तैयार मोड में दौड़ में है। रेडी मोड में, IR सेंसर कुछ भी नहीं करते हैं और मास्टर डिस्प्ले पर 8 डैश दिखाएगा यह इंगित करने के लिए कि यह रेडी मोड में है।
जब दास मास्टर को बताता है कि एक दौड़ शुरू होने जा रही है, तो दास नीचे से गुजरने के लिए कारों के लिए इसके किनारे (रेस ट्रैक की शुरुआत) पर आईआर सेंसर को मतदान करना शुरू कर देता है।
चूंकि प्रत्येक कार प्रत्येक आईआर सेंसर के नीचे से गुजरती है, यह मास्टर को ए (कार 1) या बी (कार 2) भेजती है।
जब मास्टर को ए या बी प्राप्त होता है, तो यह उस विशिष्ट कार के लिए टाइमर को सक्षम करता है और फिर फिनिश लाइन पर संबंधित आईआर सेंसर के नीचे कार के गुजरने की प्रतीक्षा करता है।
2 दशमलव स्थानों के साथ सेकंड में प्रत्येक कार के लिए वर्तमान समय प्रदर्शित करने के लिए डिस्प्ले को हर 50ms में अपडेट किया जाता है।
एक बार जब दोनों कारें फिनिश लाइन से टकराती हैं, तो मास्टर तय करता है कि कौन सी कार सबसे तेज थी और विजेता को इंगित करने के लिए उस समय डिस्प्ले पर चमकती है।
चरण 4: शेष कोड
बाकी कोड सिर्फ यूटिलिटी कोड है जो या तो 8 अंकों के डिस्प्ले पर डेटा प्रदर्शित करने को नियंत्रित करता है, या बटन प्रेस लॉजिक आदि को हैंडल करता है।
इस परियोजना के परिचय खंड में वीडियो के अंत में, मैं 2 ब्रेडबोर्ड पर चल रहे कोड का एक उदाहरण दिखाता हूं, इसलिए सुनिश्चित करें कि आप इसे देखें!
आप इस प्रोजेक्ट के लिए मेरे जीथब रेपो से कोड ले सकते हैं।
चरण 5: आगे क्या है?
अभी के लिए बस इतना ही… भाग ३ में हम ब्रेडबोर्ड से घटकों को ले जाने और कुछ और स्थायी पर देखेंगे… देखते रहें!
मुझे आशा है कि आप इस परियोजना का आनंद ले रहे हैं!
मुझे इस पर फ़ॉलो करें:
www.youtube.com/c/unexpectedmaker
twitter.com/unexpectedmaker
www.facebook.com/unexpectedmaker
www.instagram.com/unexpectedmaker
www.tindie.com/stores/seonr/
सिफारिश की:
वेंटमैन पार्ट II: बूस्टर प्रशंसकों के लिए अरुडिनो-ऑटोमेटेड फर्नेस डिटेक्शन: 6 चरण
वेंटमैन पार्ट II: बूस्टर प्रशंसकों के लिए अरुडिनो-ऑटोमेटेड फर्नेस डिटेक्शन: मुख्य बिंदु: यह पता लगाने के लिए एक अस्थायी हैक लगाया गया था कि मेरा एसी / फर्नेस ब्लोअर मोटर कब चल रहा था, ताकि मेरे दो बूस्टर पंखे चालू हो सकें। मुझे अपने डक्टवर्क में दो बूस्टर पंखे चाहिए ताकि अधिक गर्म/ठंडी हवा दो दो अलग-अलग शयनकक्षों को धक्का दे सके। लेकिन मैं
RC ने Arduino का उपयोग करके रोबोट को ट्रैक किया - चरण दर चरण: 3 चरण
Arduino का उपयोग करते हुए RC ट्रैक किए गए रोबोट - चरण दर चरण: अरे दोस्तों, मैं BangGood के एक और शानदार रोबोट चेसिस के साथ वापस आ गया हूं। आशा है कि आप हमारे पिछले प्रोजेक्ट्स - स्पिनल क्रूक्स वी1 - द जेस्चर कंट्रोल्ड रोबोट, स्पिनल क्रूक्स एल2 - अरुडिनो पिक एंड प्लेस रोबोट विथ रोबोटिक आर्म्स और द बैडलैंड ब्रॉ
स्टैंडर्ड हॉट व्हील्स को R/C हॉट व्हील्स में कैसे बदलें:D: 6 स्टेप्स (चित्रों के साथ)
मानक हॉट व्हील्स को R/C हॉट व्हील्स में कैसे बदलें:D: चूंकि मैं एक छोटा बच्चा था, मुझे हॉट व्हील्स कारें पसंद हैं। इसने मुझे फंतासी वाहनों के डिजाइन के लिए प्रेरणा दी। इस बार उन्होंने स्टार वार हॉट व्हील्स, सी-3पीओ से खुद को पीछे छोड़ दिया। हालांकि, मैं सिर्फ एक ट्रैक पर धक्का देने या यात्रा करने से ज्यादा चाहता हूं, मैंने फैसला किया, "एल
एसएमडी सोल्डरिंग 101 - हॉट प्लेट, हॉट एयर ब्लोअर, एसएमडी स्टैंसिल और हैंड सोल्डरिंग का उपयोग करना: 5 कदम
एसएमडी सोल्डरिंग 101 | हॉट प्लेट, हॉट एयर ब्लोअर, एसएमडी स्टैंसिल और हैंड सोल्डरिंग का उपयोग करना: नमस्कार! सोल्डरिंग करना बहुत आसान है…. कुछ फ्लक्स लगाएं, सतह को गर्म करें और सोल्डर लगाएं। लेकिन जब एसएमडी घटकों को सोल्डर करने की बात आती है तो इसके लिए थोड़े से कौशल और कुछ उपकरण और सहायक उपकरण की आवश्यकता होती है। इस निर्देश में, मैं आपको अपना
Arduino हॉट व्हील्स स्पीड ट्रैक - भाग 1 - प्रोटोटाइप: 4 चरण
Arduino Hot Wheels Speed Track - Part 1 - Prototype: इसमें कोई आश्चर्य की बात नहीं है कि मेरे बेटे को गर्म पहियों से प्यार है और पूरे घर में अपनी कारों की दौड़ लगा रहा है! उनकी पसंदीदा चीजों में से एक यह निर्धारित करने के लिए अपनी सभी कारों (अब 100 से अधिक) से दौड़ना है कि कौन सी सबसे तेज कार है। अभी वह यह सब आंखों से करता है, और