विषयसूची:

भूलभुलैया पहेली के लिए Gyro सेंसर नियंत्रित प्लेटफार्म: 3 कदम
भूलभुलैया पहेली के लिए Gyro सेंसर नियंत्रित प्लेटफार्म: 3 कदम

वीडियो: भूलभुलैया पहेली के लिए Gyro सेंसर नियंत्रित प्लेटफार्म: 3 कदम

वीडियो: भूलभुलैया पहेली के लिए Gyro सेंसर नियंत्रित प्लेटफार्म: 3 कदम
वीडियो: How to navigate VEX IQ robot through a maze using Modkit for VEX 2024, नवंबर
Anonim
भूलभुलैया पहेली के लिए Gyro सेंसर नियंत्रित मंच
भूलभुलैया पहेली के लिए Gyro सेंसर नियंत्रित मंच

यह निर्देश दक्षिण फ्लोरिडा विश्वविद्यालय (www.makecourse.com) में मेक कोर्स की परियोजना की आवश्यकता को पूरा करने के लिए बनाया गया था।

यह सरल प्रोजेक्ट एक सेल्फ-बैलेंसिंग प्लेटफॉर्म से प्रेरित है जो एक्सेलेरोमीटर सेंसर से फीडबैक लेता है। इसे देखें यदि आपने पहले से नहीं किया है।

प्रोजेक्ट Arduino UNO का उपयोग करता है - एक माइक्रोकंट्रोलर का उपयोग करना आसान है जिसे आप ऑनलाइन शॉपिंग वेबसाइटों से प्राप्त कर सकते हैं! इस निर्देशयोग्य में, मैं दिखा रहा हूँ कि आप अपना प्रोग्राम योग्य टिल्टिंग प्लेटफ़ॉर्म कैसे बना सकते हैं - डिज़ाइन प्रक्रिया से लेकर सोर्सिंग पार्ट्स, 3D प्रिंटिंग फ़ाइलें, असेंबली और प्रोग्रामिंग तक। लगे रहो और आगे बढ़ते चलो!

चरण 1: आवश्यक घटक और 3D मुद्रित भाग

आवश्यक अवयव और 3D मुद्रित भाग
आवश्यक अवयव और 3D मुद्रित भाग
आवश्यक अवयव और 3D मुद्रित भाग
आवश्यक अवयव और 3D मुद्रित भाग
आवश्यक अवयव और 3D मुद्रित भाग
आवश्यक अवयव और 3D मुद्रित भाग

परियोजना के लिए उपयोग किए जाने वाले घटकों की सूची:

1. Arduino UNO माइक्रोकंट्रोलर।

2. जम्पर तारों के साथ ब्रेडबोर्ड।

3. एक बॉक्स।

4. परिपत्र मंच

5. भूल भुलैया।

6.लिंक्स - 3 नंबर

7. तीन सर्वो को माउंट करने के लिए एक आधार।

8. जायरो/एक्सेलेरोमीटर सेंसर। (एमपीयू6050)

9.1 वर्ग मिमी तार (500 सेमी) - 4 संख्या

10. 3 मिमी व्यास स्टील की गेंदें।

परियोजना के लिए उपयोग किए जाने वाले अधिकांश भाग 3डी प्रिंटेड हैं और मैंने एसटीएल संलग्न किया है। मुद्रण के लिए तैयार फ़ाइलें।

जैसा कि चित्र में दिखाया गया है, सभी भागों को इकट्ठा करें। चित्र में देखने के लिए भूलभुलैया को गोलाकार मंच पर गर्म-चिपकाया गया है। बॉक्स के ढक्कन पर लगे 3डी प्रिंटेड बेस पर तीन सर्वो को हॉट ग्लू से चिपकाया जाना चाहिए। बॉक्स में Arduino UNO और Breadboard असेंबल हैं जैसा कि चित्र में दिखाया गया है। अगले चरण में ब्रेडबोर्ड सेटअप पर चर्चा की जाएगी।

असेंबली के बाद, अंतिम प्रोटोटाइप अंतिम तस्वीर की तरह दिखना चाहिए।

चरण 2: ब्रेडबोर्ड सेटअप

ब्रेडबोर्ड सेटअप
ब्रेडबोर्ड सेटअप
ब्रेडबोर्ड सेटअप
ब्रेडबोर्ड सेटअप
ब्रेडबोर्ड सेटअप
ब्रेडबोर्ड सेटअप

असेंबली के बाद, Arduino, Accelerometer sensor, Seros जुड़े हुए हैं जैसा कि निम्नलिखित में वर्णित है।

ब्रेडबोर्ड पर सकारात्मक और नकारात्मक रेल क्रमशः Arduino के 5V और GND से जुड़े होते हैं। सेंसर को आधे मीटर के तारों का उपयोग करके Arduino से जोड़ा जाता है, जिन्हें सेंसर से इस तरह मिलाया जाता है कि सेंसर के VCC और GND पिन को क्रमशः ब्रेडबोर्ड पर + ve और -ve रेल से जोड़ा जाए। सेंसर के SCL और SDA पिन को Arduino के A5 और A4 एनालॉग पिन से जोड़ा जाना है। तीन सर्वो के PWM पिन क्रमशः Arduino के 2, 3, 4 पिन से जुड़े होते हैं और सभी सर्वो के + ve और -ve पिन ब्रेडबोर्ड के + ve और -ve रेल से जुड़े होते हैं। इसके साथ, हमारे कनेक्शन हो जाते हैं।

चरण 3: परियोजना के लिए कोड।

आप इंटरनेट से MPU6050 और सर्वो लाइब्रेरी डाउनलोड कर सकते हैं और प्रोजेक्ट के लिए इसका इस्तेमाल कर सकते हैं। निम्नलिखित कोड को Arduino पर संकलित करें और अपलोड करें और प्रोजेक्ट तैयार है। सेंसर को झुकाएं और आप भूलभुलैया को उसी दिशा में झुका हुआ देख सकते हैं! पहेली को हल करने में कुछ समय लगता है क्योंकि यह थोड़ा चुनौतीपूर्ण है लेकिन इसके साथ खेलने में मजा आता है।

#शामिल

#शामिल

#शामिल

सर्वो सर्वो1;

सर्वो सर्वो २;

सर्वो सर्वो3;

MPU6050 सेंसर;

इंट सर्वोपोस१=९०;

इंट सर्वोपोस२=९०;

इंट सर्वोपोस३=९०;

int16_t कुल्हाड़ी, अय, एज़;

int16_t जीएक्स, जीई, जीजेड;

व्यर्थ व्यवस्था ()

{

सर्वो1.अटैच (2);

Servo2.attach (3);

सर्वो3.अटैच (4);

वायर.बेगिन ();

सीरियल.बेगिन (९६००);

}

शून्य लूप ()

{

sensor.getMotion6 (&ax, &ay, &az, &gx, &gy, &gz);

कुल्हाड़ी = नक्शा (कुल्हाड़ी, -17000, 17000, 0, 180);

एई = नक्शा (एवाई, -17000, 17000, 0, 180);

सीरियल.प्रिंट ("कुल्हाड़ी =");

सीरियल.प्रिंट (कुल्हाड़ी);

सीरियल.प्रिंट ("एवाई =");

सीरियल.प्रिंट्लन (एवाई);

अगर (कुल्हाड़ी <80 && प्र <80){

Servo1.write(servoPos1++);

Servo2.write(servoPos2--);

Servo3.write(servoPos3--); }

अगर (कुल्हाड़ी 120) {

Servo1.write(servoPos1--);

Servo2.write(servoPos2++);

Servo3.write(servoPos3--); }

अगर (कुल्हाड़ी> 120 && आयु> 0) {

Servo1.write(servoPos1--);

Servo2.write(servoPos2--);

Servo3.write(servoPos3++); }

अगर (कुल्हाड़ी == ९० && प्र == ९०){

सर्वो1.लिखें (0);

सर्वो २.लिखें(०);

सर्वो3.लिखें(0);

}

}

सिफारिश की: