विषयसूची:

एक रोबोट जो बताता है कि कोई इलेक्ट्रॉनिक्स विक्रेता आपको धोखा दे रहा है या नहीं: 6 कदम
एक रोबोट जो बताता है कि कोई इलेक्ट्रॉनिक्स विक्रेता आपको धोखा दे रहा है या नहीं: 6 कदम

वीडियो: एक रोबोट जो बताता है कि कोई इलेक्ट्रॉनिक्स विक्रेता आपको धोखा दे रहा है या नहीं: 6 कदम

वीडियो: एक रोबोट जो बताता है कि कोई इलेक्ट्रॉनिक्स विक्रेता आपको धोखा दे रहा है या नहीं: 6 कदम
वीडियो: फोन में ये Aadami बटन क्यों होता है? 99% लोग नहीं जानते हैं ये Button का खुफिया राज !! Tips & Trick 2024, जुलाई
Anonim
एक रोबोट जो बताता है कि कोई इलेक्ट्रॉनिक्स विक्रेता आपको धोखा दे रहा है या नहीं
एक रोबोट जो बताता है कि कोई इलेक्ट्रॉनिक्स विक्रेता आपको धोखा दे रहा है या नहीं

पिछले साल, मैं और मेरे पिताजी एक नए खुले रोबोटिक्स/इलेक्ट्रॉनिक्स स्टोर में गए, जहां हम रहते हैं। जैसे ही मैंने वहां प्रवेश किया, यह इलेक्ट्रॉनिक्स, सेरोव, सेंसर, रास्पबेरी पीआईएस और अरुडिनो से भरा था। अगले दिन, हम उसी स्टोर पर गए और लगभग 150 USD मूल्य के कई सीनेटर और 3 Arduinos खरीदे। जैसे ही मैं घर गया, अरुडिनो मेगा के अलावा किसी अन्य उत्पाद ने काम नहीं किया। हमें लगभग १३० अमरीकी डालर के लिए घोटाला किया गया था जो कि बहुत अधिक है।

इसलिए, मैंने एक रोबोट बनाने का फैसला किया जो लगभग 12 सेंसर और 2 मोटर्स (अभी भी सर्वो पर काम कर रहा है) का परीक्षण कर सकता है और यह निर्धारित कर सकता है कि उत्पाद दोषपूर्ण है या नहीं।

आइए सीधे इसमें शामिल हों!

आपूर्ति

1. अरुडिनो यूएनओ

2. 2.4 TFT टचस्क्रीन डिस्प्ले

3. जम्पर तारों की जोड़ी

4. सेंसर और मोटर ताकि आप उनका परीक्षण कर सकें (यहां मैंने इस्तेमाल किया - मोशन सेंसर, एमक्यू 6 गैस सेंसर, साउंड सेंसर, पोटेंशियोमीटर और वाटर लेवल सेंसर)

चरण 1: यह कैसे काम करता है…

Image
Image

मैंने एक टीएफटी डिस्प्ले के साथ यूआई बनाने और इंटरैक्टिव करने के लिए एक Arduino प्रोग्राम किया है। जैसा कि हम जानते हैं, TFT डिस्प्ले में केवल एक फ्री पिन यानी A5 पिन होता है। (यदि आप यूएनओ का उपयोग करते हैं)। तो कोई भी सेंसर जो डेटा को पढ़ने के लिए एनालॉग पिन का उपयोग करता है, इस सेटअप के साथ संगत है…

UI में, आप डेस्कटॉप पृष्ठभूमि का रंग बदल सकते हैं, और आप उस ऐप को खोल सकते हैं जिसे Arduino के लिए मेरे द्वारा सेंसरों का परीक्षण करने के लिए विकसित किया गया था।

ऐप को ओपन करने पर आपको 2 ऑप्शन दिखाई देंगे INPUT और OUTPUT। इसलिए यदि आप इनपुट पर क्लिक करते हैं, तो यह 4 सेंसर दिखाता है (यह 12 के साथ संगत है, लेकिन मैंने अभी तक इसे प्रोग्राम नहीं किया है क्योंकि मेरी परीक्षाएं आ रही हैं… कोई समय नहीं:(। कोई भी कोड संपादित करने के लिए स्वतंत्र है…)

और यह भी जांच सकता है कि क्या आप का सर्वो मोटर काम करता है इसे स्लॉट में जोड़ता है।

एक नज़र देख लो:

चरण 2: कोड अपलोड करना

कोड एक ६०० लाइन प्रोग्राम है जिसे मैंने लगभग ५० घंटों में सावधानीपूर्वक कोडित किया है। इसमें कुछ बग हैं, इसलिए कृपया इसे संशोधित करें और मुझे मेरे मेल ([email protected]) पर भेजें।

कोड अपलोड करें और TFT शील्ड को Arduino से कनेक्ट करें। मैं आपको यूआई के साथ खेलने की सलाह देता हूं ताकि आप इसे बेहतर तरीके से समझ सकें।

कोड:

#शामिल

#शामिल करें #शामिल करें #शामिल करें #एलसीडी_सीएस ए3 को परिभाषित करें #एलसीडी_सीडी ए2 को परिभाषित करें #एलसीडी_डब्ल्यूआर ए1 को परिभाषित करें #एलसीडी_आरडी ए0 को परिभाषित करें #एलसीडी_आरईसेट ए4 को परिभाषित करें #मैजेंटा 0xF81F को परिभाषित करें #YELLOW 0xFFE0 को परिभाषित करें #सफेद 0xFFFF को परिभाषित करें #LIGHTGREY 0xC618 को परिभाषित करें 160 #define TS_MAXX 160 #define TS_MAXY 970 TouchScreen ts = TouchScreen(XP, YP, XM, YM, 300); Adafruit_TFTLCD tft (LCD_CS, LCD_CD, LCD_WR, LCD_RD, LCD_RESET); #define BOXSIZE 40 #define PENRADIUS 3 #define MINPRESSURE 10 #define MAXPRESSURE 1000 int sound; चार राज्य = 6; इंट टच = 0; इंट रंग = काला; इंट रेडिर = 0; इंट ओटा; शून्य सेटअप () {Serial.begin (९६००); tft.रीसेट (); tft.setFont(&FreeMonoBoldOblique12pt7b); tft.begin (0x9325); tft.setRotation(45); tft.setTextSize (0.5); tft.fillScreen (सफेद); tft.setCursor (६०, १६०); tft.setTextColor (काला); tft.print ("लॉग इन करने के लिए स्वाइप करें"); } शून्य लूप () {फ्लोट सेंसर वोल्टेज; फ्लोट सेंसरवैल्यू; TSPoint p = ts.getPoint (); पिनमोड (एक्सएम, आउटपुट); पिनमोड (वाईपी, आउटपुट); अगर (पीजेड > मिनप्रेशर && पीजेड 240 && पीएक्स 130 && पीई 240 && पीएक्स 20 && पीई 240 && पीएक्स 20 && पीई 160 && पीएक्स 12 && पीई 240 && पीएक्स 20 && पीई 240 && पीएक्स 20 && पीई 40 && पीएक्स 15 && पीई 150 && px 40 && py 150 && px 80 && py 150 && px 120 && py 150 && px 170 && py 90 && px 40 && py 90 && px 80 && py 90 && px 120 && py 150 && px 170 && py 150 && px 170 && py 150 && px 170 && py 150 && px 170 && py 150 && px 170 && py 100 && px 20 && py 200 && px 100 && py 100 && px 20 && py 100 && px 20 && py 100 && px 20 && पीई <100) {स्पर्श = 26; } } अगर (स्पर्श == 1 && राज्य == 6) { tft.setRotation(0); tft.fillScreen (रंग); ध्वनि = 0; tft.fillRect (200, 180, 80, 140, सफेद); tft.drawRect (२०१, १८१, ८१, १४१, काला); tft.fillRect (८०, ३०, १००, १००, सियान); tft.drawRect (८१, ३१, १०१, १०१, काला); tft.fillRect(१०, ३०, ५०, १००, नौसेना); tft.drawRect (11, 31, 51, 101, काला); tft.fillRect(१०, १८०, ३०, १२०, पर्पल); tft.drawRect (११, १८१, ३१, १२१, काला); tft.fillRect (45, 180, 30, 120, नीला); tft.drawRect (46, 181, 31, 121, काला); tft.fillRect (८०, १८०, ३०, १२०, सियान); tft.drawRect (८१, १८१, ३१, १२१, काला); tft.fillRect(११५, १८०, ३०, १२०, हरा); tft.drawRect (११६, १८१, ३१, १२१, काला); tft.fillRect (150, 180, 30, 120, पीला); tft.drawRect(१५१, १८१, ३१, १२१, काला); tft.fillTriangle (210, 30, 210, 50, 220, 40, सफेद); tft.fillRect (200, 35, 12, 12, सफेद); tft.drawTriangle(210, 30, 210, 50, 220, 40, BLACK); tft.drawRect (२००, ३५, १२, १२, ब्लैक); tft.drawCircle(210, 40, 14, सफेद); //tft.fillTriange(a1, b1, a2, b2, c1, c2, RED); tft.setRotation(45); tft.setCursor (२००, २०); tft.print ("सेटिंग"); tft.fillRoundRect (45, 75, 75, 75, 4, सफेद); tft.drawRoundRect (45, 75, 75, 75, 4, काला); tft.fillRect (75, 75, 15, 30, काला); tft.fillRect (75, 120, 15, 30, काला); tft.fillRect (९०, १०५, ३०, १५, काला); tft.fillRect (४५, १०५, ३०, १५, काला); राज्य = 7; स्पर्श = 0; ओटा = 0; } अगर (स्पर्श == 2) { tft.fillScreen (सफेद); tft.setRotation(0); tft.fillTriangle (210, 30, 210, 50, 220, 40, सफेद); tft.fillRect (200, 35, 12, 12, सफेद); tft.drawTriangle(210, 30, 210, 50, 220, 40, BLACK); tft.drawRect (२००, ३५, १२, १२, ब्लैक); tft.drawCircle (२१०, ४०, १४, काला); tft.setRotation(45); tft.fillTriangle (270, 40, 270, 20, 260, 30, काला); tft.drawLine (३००, ३०, २७०, ३०, काला); tft.setCursor(२०, २००); tft.print ("निजीकरण"); tft.setCursor(20, 170); tft.print ("लॉग आउट"); tft.setCursor(20, 140); tft.print ("परिधीय"); tft.setCursor(20, 110); tft.print ("के बारे में"); स्पर्श = 1; राज्य = 2; } अगर (स्पर्श == 10 && राज्य == 2){ tft.fillScreen (सफेद); tft.setCursor(१०, १६०); tft.setTextColor (काला); tft.print ("बनाया और विकसित किया गया"); tft.setCursor (100, 190); tft.print ("द्वारा:"); tft.setCursor (६०, २२०); tft.print ("भारत से एक किशोर"); tft.setRotation(0); tft.fillTriangle (210, 30, 210, 50, 220, 40, सफेद); tft.fillRect (200, 35, 12, 12, सफेद); tft.drawTriangle(210, 30, 210, 50, 220, 40, BLACK); tft.drawRect (२००, ३५, १२, १२, ब्लैक); tft.drawCircle (२१०, ४०, १४, काला); tft.setRotation(45); tft.fillTriangle (270, 40, 270, 20, 260, 30, काला); tft.drawLine (३००, ३०, २७०, ३०, काला); राज्य = ६; } अगर (स्पर्श == 11 && राज्य == 2){ tft.fillScreen (सफेद); tft.setCursor (६०, ४०); tft.print ("एक चुनें"); tft.setCursor (४०, ६०); tft.print ("पृष्ठभूमि रंग"); tft.fillRect (६०, १८०, ४५, ४५, लाल); tft.fillRect (120, 180, 45, 45, पीला); tft.fillRect (180, 180, 45, 45, नीला); tft.fillRect (240, 180, 45, 45, हरा); tft.fillRect (६०, १३०, ४५, ४५, मैजेंटा); tft.fillRect (120, 130, 45, 45, नौसेना); tft.fillRect (180, 130, 45, 45, लाइटग्रे); tft.fillRect (240, 130, 45, 45, CYAN); tft.fillRect (६०, ८०, ४५, ४५, सफेद); tft.drawRect (६०, ८०, ४५, ४५, काला); tft.fillRect (120, 80, 45, 45, काला); tft.fillRect (180, 80, 45, 45, जैतून); tft.fillRect (240, 80, 45, 45, पर्पल); tft.setRotation(0); tft.fillTriangle (210, 30, 210, 50, 220, 40, सफेद); tft.fillRect (200, 35, 12, 12, सफेद); tft.drawTriangle(210, 30, 210, 50, 220, 40, BLACK); tft.drawRect (२००, ३५, १२, १२, ब्लैक); tft.drawCircle (२१०, ४०, १४, काला); tft.setRotation(45); tft.fillTriangle (270, 40, 270, 20, 260, 30, काला); tft.drawLine (३००, ३०, २७०, ३०, काला); राज्य = ६; अगर (रेडिर == 1) {रंग = सफेद; } अगर (रेडिर == 2) {रंग = काला; } अगर (रेडिर == 3) {रंग = जैतून; } अगर (लाल रंग == 4) {रंग = बैंगनी; } अगर (रेडिर == 5) {रंग = मैजेंटा; } अगर (रेडिर == 6) {रंग = नौसेना; } अगर (रेडिर == 7) {रंग = लाइटग्रे; } अगर (रेडिर == 8) {रंग = सियान; } अगर (रेडिर == 9) {रंग = लाल; } अगर (रेडिर == 10) {रंग = पीला; } अगर (रेडिर == 11) {रंग = नीला; } अगर (रेडिर == 12) {रंग = हरा; } } अगर (स्पर्श == 26){ ओटा = 1; tft.fillScreen (सफेद); tft.setRotation(0); tft.fillTriangle (210, 30, 210, 50, 220, 40, सफेद); tft.fillRect (200, 35, 12, 12, सफेद); tft.drawTriangle(210, 30, 210, 50, 220, 40, BLACK); tft.drawRect (२००, ३५, १२, १२, ब्लैक); tft.drawCircle (२१०, ४०, १४, काला); tft.setRotation(45); tft.fillTriangle (270, 40, 270, 20, 260, 30, काला); tft.drawLine (३००, ३०, २७०, ३०, काला); tft.setRotation(1); tft.setCursor (30, 80); tft.print ("इनपुट"); tft.setCursor (30, 150); tft.print ("आउटपुट"); tft.drawRect (25, 130, 90, 30, काला); tft.drawRect (25, 60, 90, 30, काला); अगर (p.x> 190 && p.x 30 && p.y <90){ tft.setCursor(150, 220); tft.print ("जल स्तर"); tft.setCursor (१५०, १७०); tft.print ("गैस स्तर"); tft.setCursor (150, 120); tft.print ("दूरी"); tft.setCursor (१५०, ७०); tft.print ("ध्वनि"); स्पर्श = 1; राज्य = 2; } } } जबकि (ध्वनि == 1){ tft.fillScreen(सफेद); सेंसरवैल्यू = एनालॉगरेड (ए 5); सेंसरवोल्टेज = सेंसरवैल्यू; tft.setCursor (६०, १६०); tft.print (सेंसर वोल्टेज); Serial.println ("ध्वनि स्तर ="); Serial.println (सेंसर वोल्टेज); देरी (1000); अगर (ध्वनि == 0) {ब्रेक; } } } }

चरण 3: आवश्यक पुस्तकालय:

  • Adafruit_GFX.h
  • Adafruit_TFTLCD.h
  • टचस्क्रीन.एच

उसी के लिए जीथब लिंक:

github.com/adafruit/Adafruit-GFX-Library

github.com/adafruit/TFTLCD-Library

github.com/adafruit/Adafruit_TouchScreen

चरण 4: कनेक्शन

यह सब एक साथ थप्पड़ मारो
यह सब एक साथ थप्पड़ मारो

आपको 6 जम्पर तारों की आवश्यकता है। 3 नर और 3 मादा। उन्हें सीधे Arduino बोर्ड में इस तरह मिलाप करें:

चरण 5: यह सब एक साथ थप्पड़ मारो

तारों को arduino में टक करें (छवि देखें), यदि आवश्यक हो तो कुछ गोंद बंदूक का उपयोग करें …

फिर TFT शील्ड संलग्न करें और फिर अपने सेंसर का परीक्षण करें।

सभी तरह से नीचे स्क्रॉल करने के लिए धन्यवाद। अगर आपको लगता है कि यह परियोजना अद्वितीय और सहायक थी तो मुझे वोट देना सुनिश्चित करें

हैप्पी मेकिंग और इलेक्ट्रॉनिक्स स्कैमर से सावधान रहें?

चरण 6: और सुधार:

  • अधिक सेंसर संगतता
  • सर्वो मोटर कोड समाप्त करना पड़ा
  • एक अन्य ऐप जो ब्लूटूथ मॉड्यूल के साथ इंटरफेस कर सकता है ताकि हम इसके साथ ब्लूटूथ संचालित रोबोट को नियंत्रित कर सकें।
  • कंप्यूटर प्रोग्राम या प्रणाली में बग को दूर करना

सिफारिश की: