विषयसूची:

जोकिंग टैंक: 5 कदम
जोकिंग टैंक: 5 कदम

वीडियो: जोकिंग टैंक: 5 कदम

वीडियो: जोकिंग टैंक: 5 कदम
वीडियो: 5 Different Crimes का क्या है Connection? | Crime Patrol | Special Crime Unit 2024, नवंबर
Anonim
मजाक टैंक
मजाक टैंक

यह एक प्रोजेक्ट है जो मैंने अपने स्कूल एचकेयू में किया था, जिसके लिए हमें एक 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 को सुरक्षित करने के लिए मॉडल के निचले भाग में छोटे छेद ड्रिल करें।

लेकिन अगर मैं गलत नहीं हूं, तो आपको अब किया जाना चाहिए।

सिफारिश की: