विषयसूची:
- चरण 1: रास्पबेरी पीआई और एक्सबी आरसी ट्रांसमीटर
- चरण 2: रास्पबेरी पाई UART को कॉन्फ़िगर करें
- चरण 3: गेम कंट्रोलर वैल्यू पढ़ने के लिए एक पायथन स्क्रिप्ट लिखें
- चरण 4: निष्कर्ष
- चरण 5: रास्पबेरी पाई ज़ीरो को XBee रेडियो से वायर करें
वीडियो: रास्पबेरी पाई + एक्सबी आरसी ट्रांसमीटर: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
यह निर्देश आपको दिखाएगा कि मैंने अपना रास्पबेरी पाई ज़ीरो + एक्सबी आरसी ट्रांसमीटर बनाने के लिए क्या किया
चरण 1: रास्पबेरी पीआई और एक्सबी आरसी ट्रांसमीटर
चरण 2: रास्पबेरी पाई UART को कॉन्फ़िगर करें
सुनो!
रास्पबेरी पाई (सभी विविधताएं) बेहद बहुमुखी हैं और अब कई आसान से सोल्डर ऐड-ऑन के पारिस्थितिकी तंत्र की आधारशिला हैं जो इन उपकरणों को वास्तव में आसान बनाती हैं। दुर्भाग्य से एक चीज जो रास्पबेरी पाई गायब है (वर्तमान में) XBee (ZigBee) रेडियो के लिए एक ब्रेकआउट बोर्ड या टर्नकी GPIO इंटरफ़ेस है। XBee डिवाइस बहुत सारे डाइसिंग और स्लाइसिंग प्रोटोकॉल या डेटा प्रारूपों के बिना सभी प्रकार के उपकरणों के बीच संचार करने का एक शानदार तरीका है और USB उपकरणों को एकीकृत करना और उनके डेटा को अन्य दूरस्थ उपकरणों पर भेजना बहुत आसान बनाता है। शुरू करने के लिए, रास्पबेरी पाई के किसी भी संस्करण से शुरू करें। इस निर्देशयोग्य में मैंने रास्पबेरी पाई शून्य का उपयोग किया, और इस निर्देश का उपयोग करके UART को मुक्त करने के लिए सीरियल कंसोल को कॉन्फ़िगर किया।
चरण 3: गेम कंट्रोलर वैल्यू पढ़ने के लिए एक पायथन स्क्रिप्ट लिखें
पायथन कोड का यह बिट गेम कंट्रोलर द्वारा उठाई गई घटनाओं पर प्रतिक्रिया करता है और ईवेंट को बढ़ाने वाले नियंत्रण पर इनपुट के मूल्य को प्रसारित करता है। यह कोड XBee रेडियो पर निर्धारित बॉड दर जितनी तेजी से डेटा भेजेगा। इस उदाहरण में रेडियो को 57600 पर सेट किया गया है, लेकिन उनकी उच्चतम बॉड दर पर सेट किया जा सकता है। गेम कंट्रोलर एक लॉजिटेक यूएसबी गेम कंट्रोलर है। इस्तेमाल किया गया कोड नीचे है:
आयात पायगेम
आयात धारावाहिक
सॉट = ""
सेर = सीरियल। सीरियल {
पोर्ट = '/ देव/ttyAMA0', बॉड्रेट = 57600, समता = धारावाहिक।PARITY_NONE, स्टॉपबिट्स = सीरियल. STOPBITS_ONE, बाइट्साइज़ = सीरियल। आठ बिट्स, समयबाह्य = 1
}
pygame.init ()
किया = झूठा
जबकि किया == झूठा:
जॉयस्टिक=pygame.जॉयस्टिक.जॉयस्टिक(0)
जॉयस्टिक.इनिट ()
#ईवेंट प्रोसेसिंग
pygame.event.get() में घटना के लिए:
अगर event.type==pygame. JOYAXISMOTION:
sOut="अक्ष:" + str(event.axis) + ";Value:" + str(event.value)
प्रिंट (sOut)
ser.write(sOut)
सेर फ्लश ()
सॉट = ""
अगर event.type==pygame. JOYHATMOTION:
sOut="हैट: + str(event.hat) + ";Value:" + str(event.value)
प्रिंट (sOut)
ser.write(sOut)
सेर फ्लश ()
सॉट = ""
अगर घटना। प्रकार == pygame। जॉयबटनडाउन:
sOut = "बटन डाउन:" + str (event.button)
प्रिंट (sOut)
ser.write(sOut)
सेर फ्लश ()
सॉट = ""
अगर घटना। बटन == 8:
प्रिंट ("छोड़ना")
किया = सच
अगर event.type==pygame. JOYBUTTONUP:
sOut = "बटन ऊपर:" + str (event.button)
प्रिंट (sOut)
ser.write(sOut)
सेर फ्लश ()
सॉट = ""
सेर.क्लोज़ ()
pygame.quit()
चरण 4: निष्कर्ष
इसका अंतिम निर्माण रास्पबेरी पाई को पावर देने के लिए एक सहायक फोन बैटरी का उपयोग करता है, जो एक्सबी और लॉजिटेक गेम कंट्रोलर को शक्ति प्रदान करता है। भविष्य की परियोजना में मैं एक वैक्यूम निर्मित प्लास्टिक कवर जोड़ूंगा जो रास्पबेरी पीआई ज़ीरो, एक्सबी रेडियो और बिजली की आपूर्ति को संलग्न करेगा, सभी एक अच्छे, साफ बंडल में गेम कंट्रोलर से जुड़े होंगे। यह RC ट्रांसमीटर बिल्ड किसी भी चीज़ पर नियंत्रण डेटा भेजना बहुत आसान बनाता है। अपने अगले निर्माण में मैं डेटा को एक हेक्सापॉड रोबोट को भेजूंगा जिसे मैंने सद्भावना से बचाया था। आशा है कि आपको यह निर्देश योग्य मददगार लगा होगा। हैप्पी बिल्डिंग!
चरण 5: रास्पबेरी पाई ज़ीरो को XBee रेडियो से वायर करें
जैसा कि आरेख में दिखाया गया है, Pi GPIO पिन 1 (3.3v) को XBee पिन 1 से कनेक्ट करें। Pi GPIO पिन 6 (Gnd) को XBee पिन 10, और Pi GPIO पिन 8 (TX) को XBee पिन 3 (Din) से कनेक्ट करें।. आप एक XBee ब्रेकआउट बोर्ड का भी उपयोग कर सकते हैं जिसके लिए आपको ब्रेकआउट बोर्ड पर पाई GPIO पिन 2 (5v) को 5v पिन से कनेक्ट करने की आवश्यकता होगी।