विषयसूची:
वीडियो: जोकिंग टैंक: 5 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:21
यह एक प्रोजेक्ट है जो मैंने अपने स्कूल एचकेयू में किया था, जिसके लिए हमें एक Arduino Uno के साथ कुछ बनाने की आवश्यकता थी। मैं कुछ ऐसा बनाना चाहता था जो मेरा पसंदीदा काम करे, लोगों को हंसाए। तो एक मजाक बॉक्स बनाने का फैसला किया जो आपको मजाक उड़ाएगा, लेकिन यह आपको क्या मजाक देता है यह इस बात पर निर्भर करेगा कि उस निश्चित क्षण में कुछ सेंसर मॉड्यूल क्या माप रहे थे। इसे और अधिक व्यक्तिगत बनाने के लिए मैंने इसे एक टैंक बनाने का फैसला किया।
चरण 1: भागों को प्राप्त करना।
इस परियोजना को फिर से बनाने के लिए आपको जिन भागों की आवश्यकता होगी, वे होंगे
- Arduino IDE चलाने में सक्षम 1x कंप्यूटर
- 1x Arduino Uno
- Arduino Uno. के लिए 1x यूएसबी कनेक्टर केबल
- 1x सोनार सेंसर
- 1x स्पीकर (बेहतर गुणवत्ता में से एक (मैंने एक ब्लूटूथ स्पीकर से निकाला था) का उपयोग किया)।
- 1x LM386 एम्पलीफायर मॉड्यूल (इसे स्वयं बनाना संभव है लेकिन मैंने एक मॉड्यूल का उपयोग किया है)।
- 1x LM393 माइक्रोफोन
- 1x एलडीआर
- 1x एलईडी (कोई भी रंग करेगा लेकिन मैंने नीले रंग का इस्तेमाल किया)।
- 4x 1kΩ रोकनेवाला
- 1x 2, 7kΩ रोकनेवाला
- 1x ब्रेडबोर्ड
- 1x माइक्रो एसडी कार्ड (अधिमानतः छोटा (1 या 2 जीबी))।
- 1 एक्स पावर ड्रिल।
- 1x 16 मिमी ड्रिलहेड (अधिमानतः ड्रिलिंग धातु के लिए बनाया गया)।
- 1x 9 मिमी ड्रिलहेड (अधिमानतः ड्रिलिंग धातु के लिए भी बनाया गया)।
- 1x 1 मिमी ड्रिलहेड (फिर से अधिमानतः ड्रिलिंग धातु के लिए बनाया गया)।
- 1x मॉडल टैंक (मैंने 1:35 पैमाने के तेंदुए 2 का इस्तेमाल किया लेकिन अन्य मामले भी ठीक होने चाहिए)।
- सुपरग्लू / हॉटग्लू
- और कुछ तार अधिमानतः विभिन्न रंगों में।
- केबल संबंध (वैकल्पिक)।
चरण 2: वायरिंग
हमें वायरिंग के साथ शुरुआत करने की आवश्यकता है, छवि एक तकनीकी ड्राइंग है कि इसे कैसे तार-तार किया जाना चाहिए। यह आपके ब्लूप्रिंट के रूप में काम करना चाहिए। नोट: सभी Arduino पोर्ट्स को प्रत्येक पोर्ट के लिए AP# नाम दिया गया है। Arduino AP4 है, पोर्ट A0 APA0 है और पोर्ट 6 ~ AP6 ~ है, आदि अन्य सभी पोर्ट को नाम दिया गया है क्योंकि वे स्वयं मॉड्यूल पर दिखाई देते हैं।
चरण 3: प्री कोड चीजें
अब इससे पहले कि हम कोड का उपयोग शुरू कर सकें, हमें कुछ सामग्री की आवश्यकता है। मैं अनुशंसा करता हूं कि अब आप चरण 2 से 4 तक इस मैन्स ट्यूटोरियल का अनुसरण करें।
www.electronoobs.com/eng_arduino_tut8.php
हालाँकि हम उसके कोड का उपयोग नहीं करने जा रहे हैं क्योंकि हम अपने स्वयं के उपयोग करने जा रहे हैं कृपया ध्यान दें कि कुछ स्पीकर विभिन्न आवृत्तियों का उपयोग करते हैं। मेरे स्पीकर ने 16-बिट 32kHz ऑडियो फ़ाइलों का उपयोग किया है। इसलिए अगर आपकी बात किसी तरह का शोर कर रही है लेकिन आपकी फाइल नहीं चला रही है तो अपनी फ्रीक्वेंसी के साथ खेलने की कोशिश करें।
चरण 4: कोड
अब हम कोड को arduino पर अपलोड करने जा रहे हैं। यह सब कॉपी करें और इसे Arduino IDE में पेस्ट करें और इसे अपने Arduino पर अपलोड करें।
// एसडी कार्ड रीडर के लिए पुस्तकालय शामिल है। # शामिल "Wtv020sd16p.h" // सोनार सेंसर के लिए आवश्यक पुस्तकालय शामिल है। #include // Arduino के लिए पिन सेट करता है। इंट रीसेटपिन = 4; इंट क्लॉकपिन = 5; इंट डेटापिन = 6; इंट बिजीपिन = 7; इंट साउंडडिटेक्टेडपिन = 12; int lightDetectedPin = A0; // एसडी कार्ड लाइब्रेरी के लिए पिन सेट करें। Wtv020sd16p wtv020sd16p (रीसेटपिन, क्लॉकपिन, डेटापिन, बिजीपिन); // सोनार सेंसर लाइब्रेरी के लिए पिन सेट करता है। न्यूपिंग सोनार (11, 10); // अन्य इनपुट सेट करें और प्रोग्राम की बिटरेट सेट करें। शून्य सेटअप () {wtv020sd16p.reset (); पिनमोड (लाइटडिटेक्टेडपिन, इनपुट); पिनमोड (ध्वनि डिटेक्टेडपिन, इनपुट); सीरियल.बेगिन (९६००); }//कार्यक्रम का मुख्य भाग। शून्य लूप () {// इंटरजर्स सेट करता है int lightDetectedVal = analogRead (lightDetectedPin); इंट डिस्टेंसवैल = सोनार.पिंग_सेमी (); इंट साउंडडिटेक्टेडवैल = डिजिटलरेड (साउंडडिटेक्टेडपिन); // देरी करें ताकि प्रोजेक्ट प्रोजेक्ट स्पीकर का उपयोग करना जारी न रखे। देरी (30000); // सीरियल प्रिंट और प्रिंट लाइनें ताकि आप आसानी से देख सकें कि सेंसर मॉड्यूल द्वारा कौन से मान लिए गए हैं। सीरियल.प्रिंट ("ध्वनि मान:"); // मल्टीपल इफ स्टेटमेंट ताकि प्रोग्राम अलग-अलग ऑडियो फाइलों को चलाए जो कि मानों के आधार पर सेंसर मॉड्यूल द्वारा मापा जाता है। अगर (soundDetectedVal == 0) { Serial.println(soundDetectedVal); सीरियल.प्रिंट ("दूरी:"); अगर (distanceVal == 0) { Serial.println(distanceVal); सीरियल.प्रिंट ("लाइट वैल्यू:"); अगर (लाइटडिटेक्टेडवैल> = 1000) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(1); // एक और सीरियल प्रिंट ताकि आप देख सकें कि कौन सी सटीक ऑडियो फ़ाइल चलाई गई थी। सीरियल.प्रिंट्लन ("1-----------"); // ऑडियो फ़ाइल को पूरी अवधि तक चलने देने में एक और देरी। देरी (5000); } और अगर (लाइटडिटेक्टेडवैल>= 900) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(2); Serial.println ("2-----------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 800) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(3); सीरियल.प्रिंट्लन ("3 ---------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 700) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(4); सीरियल.प्रिंट्लन ("4 ---------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 600) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(5); सीरियल.प्रिंट्लन ("5-----------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल>= 500 || लाइटडिटेक्टेडवैल 0 || डिस्टेंसवैल == न्यूल) {सीरियल.प्रिंट्लन (डिस्टेंसवैल); सीरियल.प्रिंट ("लाइट वैल्यू:"); अगर (लाइटडिटेक्टेडवैल> = 1000) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(7); Serial.println ("7-----------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 900) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(8); सीरियल.प्रिंट्लन ("8 ---------"); देरी (8000); } और अगर (लाइटडिटेक्टेडवैल> = 800) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(9); सीरियल.प्रिंट्लन ("9 ---------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 700) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(10); सीरियल.प्रिंट्लन ("10 --------"); देरी (8000); } और अगर (लाइटडिटेक्टेडवैल> = 600) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(11); Serial.println ("11-------"); देरी (6000); } और अगर (लाइटडिटेक्टेडवैल>= 500 || लाइटडिटेक्टेडवैल <= 1000) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(13); सीरियल.प्रिंट्लन ("13 --------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल>= 900) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(14); सीरियल.प्रिंट्लन ("14-------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 800) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(15); सीरियल.प्रिंट्लन ("15 --------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 700) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(16); सीरियल.प्रिंट्लन ("16 --------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 600) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(17); सीरियल.प्रिंट्लन ("17-------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल>= 500 || लाइटडिटेक्टेडवैल 0 || डिस्टेंसवैल == न्यूल || डिस्टेंसवैल> = 150) {सीरियल.प्रिंट्लन (डिस्टेंसवैल); सीरियल.प्रिंट ("लाइट वैल्यू:"); अगर (लाइटडिटेक्टेडवैल> = 1000) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(19); सीरियल.प्रिंट्लन ("19 --------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 900) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(20); सीरियल.प्रिंट्लन ("20 --------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 800) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(21); सीरियल.प्रिंट्लन ("21 --------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 700) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(22); सीरियल.प्रिंट्लन ("22-------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल> = 600) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(23); Serial.println ("23-------"); देरी (5000); } और अगर (लाइटडिटेक्टेडवैल>= 500 || लाइटडिटेक्टेडवैल << 500) {सीरियल.प्रिंट्लन (लाइटडिटेक्टेडवैल); wtv020sd16p.playVoice(24); सीरियल.प्रिंट्लन ("24-------"); देरी (5000); } } } }
चरण 5: मामला
अब वास्तविक जटिल हिस्सा आता है।
मामले में यह सब फिट करना थोड़ा मुश्किल हो सकता है यह इस बात पर निर्भर करता है कि आपने अपने ब्रेडबोर्ड पर सब कुछ कैसे फिट किया या आपने चीजों को एक साथ कैसे मिलाया। लेकिन सेंसर को पूरी तरह से चिपकाने के लिए आपको कुछ छेद करने होंगे। मैंने माइक्रोफ़ोन (9 मिमी ड्रिल की आवश्यकता) और सोनार मॉड्यूल (6 मिमी ड्रिल की आवश्यकता) को पीछे और एलडीआर को टैंक के सामने रखा है, लेकिन यदि आपके पास जगह है तो आप उन्हें प्रभावी ढंग से कहीं भी रख सकते हैं।
अपने arduino को कनेक्टर केबल से जोड़ने में सक्षम होने के लिए मॉडल के शरीर में एक छेद को काटना सुनिश्चित करें।
मैं स्पीकर को बुर्ज में रखने की सलाह दूंगा। क्योंकि वहां काफी जगह बची होनी चाहिए।
ऊपर की बाईं छवि यह है कि मैंने तेंदुए 2 मॉडल के अंदर आर्डिनो और प्रिंट को कैसे फिट किया। दाहिनी छवि वह है जिसमें अधिकांश वायरिंग फिट की गई है।
आप क्या कर सकते हैं केबल संबंधों के साथ Arduino को सुरक्षित करने के लिए मॉडल के निचले भाग में छोटे छेद ड्रिल करें।
लेकिन अगर मैं गलत नहीं हूं, तो आपको अब किया जाना चाहिए।
सिफारिश की:
Arduino SN7300 Sinoning के लिए सस्ते ऐक्रेलिक रोबोट टैंक चेसिस: 6 कदम
Arduino SN7300 Sinoning के लिए सस्ते ऐक्रेलिक रोबोट टैंक चेसिस: Arduino SN7000 Sinoning के लिए सस्ते एक्रिलिक टैंक चेसिस से खरीदें: SINONING रोबोट टैंक
SMARS रोबोट कैसे बनाएं - Arduino स्मार्ट रोबोट टैंक ब्लूटूथ: 16 कदम (चित्रों के साथ)
SMARS रोबोट कैसे बनाएं - Arduino स्मार्ट रोबोट टैंक ब्लूटूथ: यह लेख PCBWAY द्वारा गर्व से प्रायोजित है। PCBWAY दुनिया भर के लोगों के लिए उच्च गुणवत्ता वाले प्रोटोटाइप PCB बनाता है। इसे अपने लिए आजमाएं और बहुत अच्छी गुणवत्ता के साथ PCBWAY पर मात्र $5 में 10 PCB प्राप्त करें, धन्यवाद PCBWAY। Arduino Uno के लिए मोटर शील्ड
रिमोट कंट्रोल टैंक ड्राइव कार: 3 कदम
रिमोट कंट्रोल टैंक ड्राइव कार: यह रिमोट कंट्रोल टैंक ड्राइव कार बनाने के तरीके के बारे में एक गाइड है। आज मैं कार बनाने के लिए जिस सेट का उपयोग करूंगा वह एक साधारण टैंक ड्राइव कार किट है, जिसमें एक पथ का अनुसरण करने के लिए एक प्रकाश संवेदक है। आपकी कार को लाइट सेंसर की जरूरत नहीं है, लेकिन एक टैंक ड्राइव कार की जरूरत है
3डी प्रिंटेड आरसी नियंत्रित टैंक !!: 8 कदम (चित्रों के साथ)
३डी प्रिंटेड आरसी नियंत्रित टैंक !!: क्या आप कभी दूर से नियंत्रित वाहन रखना चाहते हैं जो सड़क से बाहर जा सके और आप पहले व्यक्ति को देखने वाले कैमरे से भी देख सकें, तो यह टैंक आपके लिए बहुत बढ़िया है। टैंक पर पटरियां गंदगी जैसे इलाकों में गाड़ी चलाते समय शानदार पकड़ की अनुमति देती हैं
एक ऑनलाइन फिश टैंक वेब कैमरा बनाना !: 8 कदम (चित्रों के साथ)
एक ऑनलाइन फिश टैंक वेब कैमरा बनाना!: आईपी कैमरे के मामले को संशोधित करने के लिए चरण-दर-चरण मार्गदर्शिका ताकि इसे सीधे मछली टैंक से जोड़ा जा सके। इसकी आवश्यकता इसलिए है क्योंकि वेबकैम आमतौर पर विषय के सामने रखने के लिए डिज़ाइन किए जाते हैं, या एक स्टैंड की आवश्यकता होती है। हालांकि एक मछली टा के साथ