विषयसूची:

इन्वेंटरी दराज "स्मार्ट सिटीज़ हैकाथॉन क्वालकॉम17": 13 कदम
इन्वेंटरी दराज "स्मार्ट सिटीज़ हैकाथॉन क्वालकॉम17": 13 कदम

वीडियो: इन्वेंटरी दराज "स्मार्ट सिटीज़ हैकाथॉन क्वालकॉम17": 13 कदम

वीडियो: इन्वेंटरी दराज
वीडियो: Product Listing on Daraz | How to list Product on Daraz | How to upload Product on Daraz 2024, जुलाई
Anonim
सूची दराज
सूची दराज

अगले दस्तावेज़ में, आप एक बुद्धिमान दराज के निर्माण और प्रोग्रामिंग की प्रक्रिया देख सकते हैं। शहरों की गुणवत्ता में सुधार लाने के उद्देश्य से इस ड्रॉअर को ड्रैगन बोर्ड 410c में प्रोग्राम किया गया था। यह परियोजना "स्मार्ट सिटी हैकथॉन क्वालकॉम 17" प्रतियोगिता का हिस्सा है।

इस परियोजना का विचार एक ऐसी समस्या से शुरू हुआ जिसे बहुत कम लोग देखते हैं, जो कि कारखानों और यहां तक कि अस्पतालों जैसी कंपनियों द्वारा प्रदान किए जाने वाले उपकरणों और सामग्रियों का खोया और खराब प्रबंधन है। इन स्थानों पर श्रमिकों को गतिविधियाँ करने के लिए कुछ सामग्री और उपकरण प्रदान किए जाते हैं, इस सामग्री और उपकरणों का पुन: उपयोग किया जाना चाहिए क्योंकि वे महंगे हैं या उन्हें बदलने के लिए आर्थिक संसाधनों की कमी है।

अस्पतालों में ऐसे लोग होते हैं जो हटाई गई सामग्री को अपने नियंत्रण में ले लेते हैं, लेकिन जब कोई मानवीय हस्तक्षेप होता है तो त्रुटि होती है, जिससे अनावश्यक खर्च हो सकता है। इस समस्या का सबसे अच्छा समाधान एक बुद्धिमान दराज है जो उधार ली गई और लौटाई गई वस्तुओं की एक सूची बनाए रखने में सक्षम है और साथ ही यह जानता है कि कौन जिम्मेदार है।

चरण 1: सामग्री

परियोजना के लिए आवश्यक सामग्री अगला है:1 x ड्रैगन बोर्ड 410c

ड्रैगन बोर्ड 410c. के लिए 1 एक्स सेंसर मेजेनाइन 96 बोर्ड

1 एक्स ब्रेडबोर्ड

1 एक्स एमडीएफ (मध्यम घनत्व फाइबरबोर्ड) शीट 61 x 122 सेमी

5 एक्स सेंसर सीएनवाई 70

1 एक्स टीआईपी31बी

1 एक्स इलेक्ट्रोमैग्नेट

1 एक्स 7408

1 एक्स कीबोर्ड

1 एक्स स्क्रीन

3 एक्स स्क्रू

प्रतिरोध (विविधता)

तांबे के तार

गोंद

ड्रिल

चरण 2: दराज के लिए टुकड़ों को एमडीएफ में काटें। (बेहतर परिणामों के लिए लेजर कटर का प्रयोग करें)

एमडीएफ में दराज के लिए टुकड़े काटें। (बेहतर परिणामों के लिए लेजर कटर का प्रयोग करें)
एमडीएफ में दराज के लिए टुकड़े काटें। (बेहतर परिणामों के लिए लेजर कटर का प्रयोग करें)

चरण 3: दो छोटे दराज और एक बड़े के साथ एक दराज बनाने के लिए सभी टुकड़ों को एक साथ चिपकाएं।

चरण 4: प्रत्येक दराज के बीच में पेंच पेंच।

प्रत्येक दराज के बीच में पेंच पेंच।
प्रत्येक दराज के बीच में पेंच पेंच।

चरण 5: ड्रिल के साथ पीछे की ओर दराज के माध्यम से छेद करें, छेद सेंसर के आकार का होना चाहिए।

ड्रिल के साथ पीछे की ओर दराज के माध्यम से छेद करें, छेद सेंसर के आकार का होना चाहिए।
ड्रिल के साथ पीछे की ओर दराज के माध्यम से छेद करें, छेद सेंसर के आकार का होना चाहिए।

चरण 6: तांबे के तारों के साथ प्रत्येक सेंसर CNY 70 को वेल्ड करें। (4 गुना अधिक दोहराएं)

तांबे के तारों के साथ प्रत्येक सेंसर CNY 70 को वेल्ड करें। (4 गुना अधिक दोहराएं)
तांबे के तारों के साथ प्रत्येक सेंसर CNY 70 को वेल्ड करें। (4 गुना अधिक दोहराएं)

चरण 7: सेंसर के लिए एक विशेष सर्किट का उपयोग किया जाता है।

सेंसर के लिए एक विशेष सर्किट का उपयोग किया जाता है।
सेंसर के लिए एक विशेष सर्किट का उपयोग किया जाता है।

चरण 8: सेंसर मेजेनाइन को ड्रैगन बोर्ड 410c से कनेक्ट करें। (GPIO तक पहुँचने के लिए प्रयुक्त)

सेंसर मेजेनाइन को ड्रैगन बोर्ड 410c से कनेक्ट करें। (GPIO तक पहुँचने के लिए प्रयुक्त)
सेंसर मेजेनाइन को ड्रैगन बोर्ड 410c से कनेक्ट करें। (GPIO तक पहुँचने के लिए प्रयुक्त)

यह बहुत महत्वपूर्ण है कि यह कदम ड्रैगन बोर्ड को बंद करके किया जाए, यदि नहीं तो यह जल सकता है, इसके अलावा सभी पिन को सही ढंग से रखने की आवश्यकता है।

चरण 9: सर्किट को ब्रेडबोर्ड से मेजेनाइन से कनेक्ट करें

सर्किट को ब्रेडबोर्ड से मेजेनाइन से कनेक्ट करें
सर्किट को ब्रेडबोर्ड से मेजेनाइन से कनेक्ट करें
सर्किट को ब्रेडबोर्ड से मेजेनाइन से कनेक्ट करें
सर्किट को ब्रेडबोर्ड से मेजेनाइन से कनेक्ट करें
सर्किट को ब्रेडबोर्ड से मेजेनाइन से कनेक्ट करें
सर्किट को ब्रेडबोर्ड से मेजेनाइन से कनेक्ट करें
सर्किट को ब्रेडबोर्ड से मेजेनाइन से कनेक्ट करें
सर्किट को ब्रेडबोर्ड से मेजेनाइन से कनेक्ट करें

चरण 10: कोड लिखें या कॉपी करें।

#शामिल करें #शामिल करें #शामिल करें //#शामिल करें

#शामिल "libsoc_gpio.h"

#शामिल "libsoc_debug.h" #शामिल "libsoc_board.h"

/* नीचे दिया गया यह कोड इस उदाहरण को सभी ९६ बोर्डों पर काम करता है */

अहस्ताक्षरित int LED_1; // इलेक्ट्रो इमान

अहस्ताक्षरित int BUTTON_1;//पहला सेंसर

अहस्ताक्षरित int BUTTON_2;//दूसरा सेंसर अहस्ताक्षरित int BUTTON_3;// अहस्ताक्षरित int BUTTON_4 बंद करें;//तीसरा सेंसर

संरचना उपयोगकर्ता {

चार उपयोगकर्ता नाम [20]; चार पासवर्ड [20]; }उपयोगकर्ता;

संरचना डेटाबेस {

चार लेख_नाम[20]; चार स्थान [20]; }डेटाबेस;

इंट सेंसर1;

इंट सेंसर2; इंट सेंसर3;

इंट सेंसर1_last_state;

इंट सेंसर2_last_state; इंट सेंसर3_last_state;

चार उपयोगकर्ता नाम [50];

चार पासवर्ड [50];

चार हाँ नहीं [४०];

फ़ाइल *pFILE;

चार हां [20] = {"हां"};

इंट रनिंग = 1;

_विशेषता_((निर्माता)) स्थिर शून्य _init ()

{board_config *config = libsoc_board_init (); BUTTON_1 = libsoc_board_gpio_id (कॉन्फ़िगरेशन, "GPIO-A"); // मुट्ठी सेंसर BUTTON_2 = libsoc_board_gpio_id (कॉन्फ़िगरेशन, "GPIO-C"); // दूसरा सेंसर BUTTON_3 = libsoc_board_gpio_id (कॉन्फ़िगरेशन, "GPIO-D"); // क्लोज रैक BUTTON_4 = libsoc_board_gpio_id (कॉन्फ़िगरेशन, "GPIO-B"); // तीसरा सेंसर // BUTTON_5 = libsoc_board_gpio_id (कॉन्फ़िगरेशन, "GPIO-E");

LED_1 = libsoc_board_gpio_id (कॉन्फ़िगरेशन, "GPIO-E"); // इलेक्ट्रो इमान

libsoc_board_free (कॉन्फ़िगर); } /* ९६बोर्ड्स के विशेष कोड का अंत */

मुख्य प्रवेश बिंदु()

{ gpio *led_1, *button_1, *button_2, *button_3, *button_4; // इंट टच; संरचना उपयोगकर्ता करीना; संरचना उपयोगकर्ता प्रबंधक; strcpy (Karina.username, "करीना वाल्वरडे"); strcpy(Karina.password, "टालर वर्टिकल"); strcpy (प्रबंधक। उपयोगकर्ता नाम, "बॉस"); strcpy (प्रबंधक.पासवर्ड, "आईटीईएसएम"); संरचना डेटाबेस उपकरण; स्ट्रक्चर डेटाबेस पेन; संरचना डेटाबेस केस; strcpy (टूल। आर्टिकल_नाम, "टूल"); संरचना डेटाबेस उपकरण; स्ट्रक्चर डेटाबेस पेन; संरचना डेटाबेस केस; strcpy (टूल। आर्टिकल_नाम, "टूल"); strcpy (पेन.आर्टिकल_नाम, "पेन"); strcpy (केस। आर्टिकल_नाम, "केस"); libsoc_set_debug (0); एलईडी_1 = libsoc_gpio_request (LED_1, LS_SHARED); बटन_1 = libsoc_gpio_request (बटन_1, LS_SHARED); बटन_2 = libsoc_gpio_request (बटन_2, LS_SHARED); बटन_3 = libsoc_gpio_request (बटन_3, LS_SHARED); बटन_4 = libsoc_gpio_request (बटन_4, LS_SHARED); //button_5 = libsoc_gpio_request(BUTTON_5, LS_SHARED);

अगर ((led_1 == NULL) || (बटन_1 == न्यूल) || (बटन_2 == न्यूल) || (बटन_3 == न्यूल) || (बटन_4 == न्यूल))

{गोटो फेल; } libsoc_gpio_set_direction(led_1, OUTPUT); libsoc_gpio_set_direction (बटन_1, INPUT); libsoc_gpio_set_direction (बटन_2, INPUT); libsoc_gpio_set_direction (बटन_3, INPUT); libsoc_gpio_set_direction (बटन_4, INPUT); //libsoc_gpio_set_direction(button_5, INPUT);

अगर ((libsoc_gpio_get_direction (led_1)! = आउटपुट)

|| (libsoc_gpio_get_direction(button_1) != INPUT) || (libsoc_gpio_get_direction(button_2) != INPUT) || (libsoc_gpio_get_direction(button_3) != INPUT) || (libsoc_gpio_get_direction(button_4)!= INPUT)) { गोटो फेल; } सेंसर1 = libsoc_gpio_get_level(button_1); सेंसर 2 = libsoc_gpio_get_level (बटन_2); सेंसर ३ = libsoc_gpio_get_level (बटन_४); सेंसर1_लास्ट_स्टेट = सेंसर1; सेंसर२_लास्ट_स्टेट = सेंसर२; सेंसर3_लास्ट_स्टेट = सेंसर3; अगर (सेंसर 1 == 1) {strcpy (टूल। स्थान, "रैक पर स्थित"); } और अगर (सेंसर 1 == 0) {strcpy (टूल। स्थान, "इस रैक में कभी नहीं रखा गया"); } if (sensor2 ==1){ strcpy(Pen. Location, "Rack पर स्थित"); } और अगर (सेंसर 2 == 0) {strcpy (पेन। स्थान, "इस रैक में कभी नहीं रखा गया"); } अगर (सेंसर 3 == 1) {strcpy (केस। स्थान, "रैक पर स्थित"); } और अगर (सेंसर 3 == 0) {strcpy (केस। स्थान, "इस रैक में कभी नहीं रखा गया"); } जबकि (चल रहा है) {libsoc_gpio_set_level (led_1, उच्च); प्रिंटफ ("कृपया उपयोगकर्ता नाम दर्ज करें:"); स्कैनफ ("% s", उपयोगकर्ता नाम); प्रिंटफ ("कृपया पासवर्ड दर्ज करें:"); स्कैनफ ("% s", पासवर्ड); अगर (strcmp (उपयोगकर्ता नाम, "करीना") == 0 && strcmp (पासवर्ड, "लंबा") == 0) {libsoc_gpio_set_level (led_1, LOW); libsoc_gpio_set_level (led_1, कम); जबकि(libsoc_gpio_get_level(button_3)!= 1){ sensor1 = libsoc_gpio_get_level(button_1); सेंसर 2 = libsoc_gpio_get_level (बटन_2); सेंसर ३ = libsoc_gpio_get_level (बटन_४); } libsoc_gpio_set_level(led_1, उच्च); अगर (सेंसर 1 == 1 && सेंसर 1! = सेंसर 1_लास्ट_स्टेट) {strcpy (टूल। स्थान, करीना। उपयोगकर्ता नाम); }else if (sensor1 == 0 && sensor1 != sensor1_last_state){ strcpy(Tool. Location, "Located on Rack"); } अगर (sensor2 == 1 && sensor2 != sensor2_last_state){ strcpy(Pen. Location, Karina.username); }else if (sensor2 == 0 && sensor2 != sensor2_last_state){ strcpy(Pen. Location, "Located on Rack"); }

अगर (सेंसर ३ == १ && सेंसर ३! = सेंसर ३_लास्ट_स्टेट) {

strcpy (केस। स्थान, करीना। उपयोगकर्ता नाम); }else if (sensor3 == 0 && sensor3 != sensor3_last_state){ strcpy(Case. Location, "Located on Rack"); } }else if (strcmp(username, "Boss") == 0 && strcmp(password, "ITESM") == 0){ printf(" क्या आप डेटाबेस के साथ टेक्स्ट फाइल जेनरेट करना चाहते हैं? [हां/नहीं] "); स्कैनफ ("% s", हाँ नहीं); अगर ((strcmp(YesNo, Yes) == 0)){//Manager_user(pFILE); pFILE = fopen ("डेटाबेस। txt", "w"); fprintf (pFILE, "%s", "---------- रैक का डेटाबेस----- \n"); fprintf (pFILE, "%s", "लेख का नाम:"); fprintf(pFILE, "%s", Tool. Article_Name); fprintf (pFILE, "% s", "\ t"); fprintf (pFILE, "%s", "लेख का स्थान:"); fprintf(pFILE, "%s", Tool. Location); fprintf (pFILE, "% s", "\ n"); fprintf (pFILE, "%s", "लेख का नाम:"); fprintf(pFILE, "%s", Pen. Article_Name); fprintf (pFILE, "% s", "\ t"); fprintf (pFILE, "%s", "लेख का स्थान:"); fprintf(pFILE, "%s", Pen. Location); fprintf (pFILE, "% s", "\ n");

fprintf (pFILE, "%s", "लेख का नाम:");

fprintf(pFILE, "%s", Case. Article_Name); fprintf (pFILE, "% s", "\ t"); fprintf (pFILE, "%s", "लेख का स्थान:"); fprintf(pFILE, "%s", Case. Location); fprintf (pFILE, "% s", "\ n");

एफक्लोज़ (pFILE);

}

प्रिंटफ ("प्रवेश निषेध / n");

} } विफल: अगर (led_1 || बटन_1 || बटन_2 || बटन_3) { प्रिंटफ ("जीपीओ संसाधन लागू करें विफल! / n"); libsoc_gpio_free(led_1); libsoc_gpio_free (बटन_1); libsoc_gpio_free (बटन_2); libsoc_gpio_free(button_3); }

चरण 11: प्रोग्राम चलाएँ।

चरण 12: निष्कर्ष

परियोजना का भविष्य आशाजनक है, क्योंकि यह बहुत प्रभावी तरीके से सुधार कर सकता है, सेंसर को आरएफआईडी´एस टैग के लिए बदला जा सकता है और साथ ही आरएफआईडी के साथ आईडी कार्ड का उपयोग यह निगरानी करने के लिए संभव है कि सामग्री के लिए कौन जिम्मेदार है।

सिफारिश की: