विषयसूची:

$1 Arduino- आधारित वेंडिंग मशीन: 8 कदम
$1 Arduino- आधारित वेंडिंग मशीन: 8 कदम

वीडियो: $1 Arduino- आधारित वेंडिंग मशीन: 8 कदम

वीडियो: $1 Arduino- आधारित वेंडिंग मशीन: 8 कदम
वीडियो: Amazing arduino project 2024, नवंबर
Anonim
Image
Image
झलार
झलार

हमें अपना विचार हमारे इंजीनियरिंग शिक्षक से मिला - हम सभी ने सोचा कि हमारी कक्षा के लिए एक वेंडिंग मशीन होना एक अच्छा विचार होगा और उन्होंने कहा - "कूल, एक बनाओ"। यह पता चला कि एक वेंडिंग मशीन एक महान वरिष्ठ परियोजना होगी और जब पूरी हो जाएगी तो हमारे इंजीनियरिंग कार्यक्रम के लिए एक फंडराइज़र के रूप में कार्य करेगी।

इसे $1 वेंडिंग मशीन कहा जाता है, इसलिए नहीं कि इसे बनाने में $1 का खर्च आता है, बल्कि सिर्फ इसलिए कि बिल स्वीकर्ता एक पुराना मॉडल है जो केवल $1 बिल लेता है:)

चरण 1: मानदंड

हम एक ऐसी वेंडिंग मशीन चाहते थे जो एक डेस्क के ऊपर फिट हो और बहुत लंबी न हो। हमने यह सुनिश्चित करने के लिए टेबल की चौड़ाई के आयामों को लिया कि हमारे पास टेबल से लटकी हुई वेंडिंग मशीन नहीं है।

चरण 2: आवरण

झलार
झलार
झलार
झलार
झलार
झलार

हमने अपना बॉक्स 19 इंच चौड़ा 17 इंच लंबा 25 इंच लंबा बनाया। हमने अपनी लकड़ी काटने के लिए एक सीएनसी मशीन का इस्तेमाल किया। हमने चेहरों को डिजाइन करने के लिए सॉलिडवर्क्स का उपयोग किया और फिर उन्हें हमारे सीएनसी सॉफ्टवेयर के लिए ड्राइंग फ़ाइल प्रकारों में परिवर्तित किया। हमने किनारों को रेत दिया और फिर उन्हें 1 से खराब कर दिया। हमने सामने के पैनल को एक काज के साथ जोड़ा और “स्क्रू का इस्तेमाल किया, ताकि स्क्रू दूसरी तरफ न जाए। हमने ऐक्रेलिक ग्लास का भी इस्तेमाल किया जिसे हमने अलमारियों और फ्रंट पैनल के लिए काटा।

चरण 3: इलेक्ट्रॉनिक्स

इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स
इलेक्ट्रानिक्स

अरुडिनो

हमने एक Arduino मेगा 2560 बोर्ड का उपयोग किया। हमने एडफ्रूट मोटर बोर्ड्स का भी इस्तेमाल किया ताकि वे स्टेपर मोटर्स चला सकें। हमने एडफ्रूट में पिन जोड़े ताकि वे एक दूसरे से जुड़ सकें। उन्हें एक दूसरे के ऊपर डाला गया। प्रत्येक 2 मोटर चला सकता है। इसके अलावा, कृपया ध्यान दें कि जम्पर को कनेक्ट करने की आवश्यकता है।

डेस्कटॉप बिजली की आपूर्ति

बेस्टेक एटीएक्स बिजली की आपूर्ति को चालू रखने के लिए एक एडेप्टर का उपयोग करके बिजली की आपूर्ति करता है। एडेप्टर Sparkfun.com से है और विभिन्न वोल्टेज प्रदान करता है।

Coils in Motors

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

एलसीडी और कीपैड

हमने पावर के लिए पावर सप्लाई एडॉप्टर पर 5V लीड से जुड़ी एक Arduino कीपैड और LCD स्क्रीन का इस्तेमाल किया और फिर उसी Arduino Board में

तारों

हम 18 गेज तारों के उपयोग की सलाह देते हैं। हमारे मामले में, हमें विभिन्न गेजों का उपयोग करके समझौता करना पड़ा क्योंकि हमारे पास 18 गेज नहीं थे

एलईडी स्ट्रिप

हमने मशीन को रोशन करने के लिए एक एलईडी पट्टी का इस्तेमाल किया। हमने इसे बिजली आपूर्ति एडाप्टर पर 12V लीड से जोड़ा। हमने जिस एलईडी पट्टी का इस्तेमाल किया, उस पर एक + और - था जिसने इसे जोड़ने की प्रक्रिया को आसान बना दिया।

चरण 4: बिल स्वीकर्ता

बिल स्वीकर्ता
बिल स्वीकर्ता
बिल स्वीकर्ता
बिल स्वीकर्ता
बिल स्वीकर्ता
बिल स्वीकर्ता
बिल स्वीकर्ता
बिल स्वीकर्ता

हमने अपने बिल स्वीकर्ता के रूप में एक Coinco BA30B का उपयोग किया। इसे शक्ति स्रोत के रूप में सीधे दीवार से जोड़ा जाना था। प्लग इन करने और आसान वायरिंग की अनुमति देने के लिए हमने इसे एक atx पावर सप्लाई से 24-पिन एडॉप्टर के साथ जोड़ा। हमने जिन पिनआउट का अनुसरण किया है, वे निम्नलिखित लिंक में पाए जाते हैं:

techvalleyprojects.blogspot.com/2011/07/ard…

हमारे मामले में, हमें बिल स्वीकर्ता को बढ़ाने के लिए एक माउंट बनाना पड़ा क्योंकि अन्यथा यह हमारे आवरण के लिए बहुत कम होगा।

चरण 5: परीक्षण

यह सुनिश्चित करने के लिए कि घटक काम करते हैं, पहले आवरण के बाहर इलेक्ट्रॉनिक्स का परीक्षण करें। जो भी समस्याएं उत्पन्न होती हैं उन्हें आवरण के अंदर रखने से पहले ठीक किया जाना चाहिए।

चरण 6: इलेक्ट्रॉनिक्स से आवरण तक

एक बार जब आप इलेक्ट्रॉनिक्स का परीक्षण कर लेते हैं और उनके परिणामों से संतुष्ट हो जाते हैं, तो उन्हें अपने आवरण में रखना शुरू करें। तार की लंबाई को समायोजित करें ताकि वे आराम से अंदर फिट हो जाएं।

चरण 7: अंतिम परीक्षण

एक बार आवरण में रखे जाने के बाद, सब कुछ फिर से जांचें। अगर सब कुछ आपकी अपेक्षा के अनुरूप काम करता है, बधाई हो! आपने वेंडिंग मशीन बनाई।

चरण 8: Arduino कोड + लिंक

डाउनलोड:

Arduino कोड

drive.google.com/drive/folders/1oC4MhOcMFy…

पार्ट फाइल्स और असेंबली के साथ सॉलिडवर्क्स फोल्डर

drive.google.com/drive/folders/1amZoypiWcZ…

बस अगर लिंक को कुछ हुआ है, तो यहां पूरी तरह से प्रदर्शित किया गया आर्डिनो कोड है। Arduino कोड <<

#शामिल करें #शामिल करें #"Arduino.h" शामिल करें #शामिल करें #शामिल करें

कॉन्स्ट इंट स्टेप्सपेर रेवोल्यूशन = २००; कॉन्स्ट बाइट ROWS = 4; // चार पंक्तियाँ कॉन्स्ट बाइट COLS = 3; // तीन कॉलम चार कुंजियाँ [ROWS] [COLS] = {{'1', '2', '3'}, {'4', '5', '6'}, {'7', '8', '9'}, {'*', '0', '#'}}; बाइट रोपिन्स [ROWS] = {५, ६, ७, ८}; // कीपैड बाइट colPins[COLS] = {2, 3, 4} के रो पिनआउट से कनेक्ट करें; // कीपैड कीपैड कीपैड के कॉलम पिनआउट से कनेक्ट करें = कीपैड (मेककेमैप (कुंजी), रोपिन, कॉलपिन, आरओडब्ल्यूएस, कोल्स); Adafruit_MotorShield AFMS1 = Adafruit_MotorShield (); Adafruit_StepperMotor *myMotor1 = AFMS1.getStepper(-200, 1); Adafruit_StepperMotor *myMotor2 = AFMS1.getStepper(-200, 2); Adafruit_MotorShield AFMS2 = Adafruit_MotorShield(0x61); Adafruit_StepperMotor *myMotor3 = AFMS2.getStepper(-200, 1); Adafruit_StepperMotor *myMotor4 = AFMS2.getStepper(-200, 2); Adafruit_MotorShield AFMS3 = Adafruit_MotorShield (0x62); Adafruit_StepperMotor *myMotor5 = AFMS3.getStepper(-200, 1); Adafruit_StepperMotor *myMotor6 = AFMS3.getStepper(-200, 2); Adafruit_MotorShield AFMS4 = Adafruit_MotorShield(0x63); Adafruit_StepperMotor *myMotor7 = AFMS4.getStepper(-200, 1); Adafruit_StepperMotor *myMotor8 = AFMS4.getStepper(-200, 2); लिक्विड क्रिस्टल एलसीडी (1, 11, 9, 10, 12, 13); // डिजिटल पिन एलसीडी से जुड़ा है // कॉन्स्टेंट // // बिल सत्यापनकर्ता के क्रेडिट के लिए पिन (-) लाइन कॉन्स्ट इंट बिलवैलिडेटर = 22;

// चर /

/ नाड़ी की अवधि (मिलीसेकंड) की रिकॉर्डिंग अहस्ताक्षरित लंबी अवधि;

// कुल डॉलर दर्ज किए गए int डॉलरकाउंटर = 0; शून्य सेटअप () {lcd.begin (१६, १); // सेट एलसीडी टेक्स्ट LCD.print कोऑर्डिनेट करता है ("केवल $1 सम्मिलित करें"); // पाठ सेट करें Serial.begin (९६००); // संचार के लिए सीरियल पोर्ट को इनिशियलाइज़ करें। Serial.println ("स्टेपर टेस्ट!"); // सीरियल मॉनिटर में स्टेपर टेस्ट टाइप करें ताकि हम जान सकें कि कौन सी स्टेपर मोटर दबाई गई है। AFMS1.begin (); AFMS2.begin (); AFMS3.begin (); AFMS4.begin (); myMotor1->सेटस्पीड (100); // मोटर स्पीड सेट करें जिस पर वे myMotor2->setSpeed(100) चलाएंगे; myMotor3-> सेटस्पीड (100); myMotor4-> सेटस्पीड (100); myMotor5->setSpeed(100); myMotor6-> सेटस्पीड (100); myMotor7-> सेटस्पीड (100); myMotor8->setSpeed(100); // बिल सत्यापनकर्ता और बटन पिनमोड (बिल वैलिडेटर, INPUT) के लिए पिन सेटअप; // बिल स्वीकारकर्ता सेट करता है

// संचार के लिए सीरियल पोर्ट को इनिशियलाइज़ करें। सीरियल.बेगिन (९६००); Serial.println ("डॉलर की प्रतीक्षा कर रहा है …"); } शून्य लूप () {{अवधि = पल्सइन (बिल वैलिडेटर, हाई); // बिल स्वीकर्ता से प्राप्त पल्स लेंथ की तलाश शुरू करता है यदि (अवधि> 12000) // सीरियल.प्रिंट को समझने के लिए जाँच की जा रही है ("डॉलर का पता चला। / n कुल:"); // नई डॉलर गिनती प्रदर्शित करें Serial.println (डॉलर काउंटर); // लूप एक बटन दबाए जाने तक प्रतीक्षा करने के लिए (अवधि> 12000) {चार कुंजी = कीपैड। गेटकी (); // कीओड कनेक्ट हो जाता है और यह देखना शुरू कर देता है कि कौन सा दबाया गया है अगर (कुंजी! = NO_KEY) {// कुंजी दबाए गए Serial.println (कुंजी) की तलाश में होगा; // हमें बताएं कि सीरियल मॉनिटर में कौन सा दबाया गया था} {अगर (कुंजी == '1') {//यदि कुंजी 1 दबाया जाता है, तो निम्न कार्य करता है: int keyPressed = key - '1'; myMotor8-> स्टेप (580, फॉरवर्ड, डबल); // मोटर शुरू करता है और आगे की दिशा में 350 डिग्री तक घूमता है। myMotor8-> रिलीज (); // मोटर को अपने स्थान पर रखने की स्थिति से मुक्त करता है। वापसी; // लूप कोड की शुरुआत में वापस जाता है}

अगर (कुंजी == '2') {// यदि कुंजी 2 दबाया जाता है, तो निम्न कार्य करता है: int keyPressed = key - '2'; myMotor7-> स्टेप (400, फॉरवर्ड, डबल); // मोटर शुरू करता है और आगे की दिशा में 350 डिग्री तक घूमता है। myMotor7-> रिलीज (); // मोटर को अपने स्थान पर रखने की स्थिति से मुक्त करता है। वापसी; // लूप कोड की शुरुआत में वापस जाता है } अगर (कुंजी == '3') {// यदि कुंजी 3 दबाया जाता है, तो निम्न कार्य करता है: int keyPressed = key - '3'; myMotor6-> स्टेप (400, फॉरवर्ड, डबल); // मोटर शुरू करता है और आगे की दिशा में 350 डिग्री तक घूमता है। myMotor6-> रिलीज (); // मोटर को अपने स्थान पर रखने की स्थिति से मुक्त करता है। वापसी; // लूप कोड की शुरुआत में वापस जाता है } अगर (कुंजी == '4') {// यदि कुंजी 4 दबाया जाता है, तो निम्न कार्य करता है: int keyPressed = key - '4'; myMotor5-> स्टेप (180, फॉरवर्ड, डबल); // मोटर शुरू करता है और आगे की दिशा में 350 डिग्री तक घूमता है। myMotor5-> रिलीज (); // मोटर को अपने स्थान पर रखने की स्थिति से मुक्त करता है। वापसी; // लूप कोड की शुरुआत में वापस जाता है } अगर (कुंजी == '5') {// यदि कुंजी 5 दबाया जाता है, तो निम्न कार्य करता है: int keyPressed = key - '5'; myMotor4-> स्टेप (6900, फॉरवर्ड, डबल); // मोटर शुरू करता है और आगे की दिशा में 350 डिग्री तक घूमता है। myMotor4-> रिलीज (); // मोटर को अपने स्थान पर रखने की स्थिति से मुक्त करता है। वापसी; // लूप कोड की शुरुआत में वापस जाता है } अगर (कुंजी == '6') {// यदि कुंजी 6 दबाया जाता है, तो निम्न कार्य करता है: int keyPressed = key - '6'; myMotor3-> स्टेप (400, फॉरवर्ड, डबल); // मोटर शुरू करता है और आगे की दिशा में 350 डिग्री तक घूमता है। myMotor3-> रिलीज (); // मोटर को अपने स्थान पर रखने की स्थिति से मुक्त करता है। वापसी; // लूप कोड की शुरुआत में वापस जाता है } अगर (कुंजी == '7') {// यदि कुंजी 7 दबाया जाता है, तो निम्न कार्य करता है: int keyPressed = key - '7'; myMotor7-> स्टेप (400, फॉरवर्ड, डबल); // मोटर शुरू करता है और आगे की दिशा में 350 डिग्री तक घूमता है। myMotor7-> रिलीज (); // मोटर को अपने स्थान पर रखने की स्थिति से मुक्त करता है। वापसी; // लूप कोड की शुरुआत में वापस जाता है } अगर (कुंजी == '8') {// यदि कुंजी 8 दबाया जाता है, तो निम्न कार्य करता है: int keyPressed = key - '8'; myMotor8-> स्टेप (400, फॉरवर्ड, डबल); // मोटर शुरू करता है और आगे की दिशा में 350 डिग्री घूमता है। myMotor8-> रिलीज (); // मोटर को अपने स्थान पर रखने की स्थिति से मुक्त करता है। वापसी; // लूप कोड की शुरुआत में वापस जाता है } } } } } } >>

सिफारिश की: