Jeffrey Cross
Jeffrey Cross

Arduino संचालित पोकर टेबल

निर्माता से सारांश बनाएँ, जस्टिन ट्रेज़िक:

मैंने प्रत्येक सीट पर RGB LED के साथ एक पोकर टेबल बनाया। वे सफेद पॉली कार्बोनेट के नीचे बैठते हैं जैसे कि प्रकाश पूरे खंड में फैला हुआ है। एल ई डी एक पट्टी पर हैं, लेकिन वे डिजिटल रूप से संबोधित करने योग्य हैं। इस तरह, 96 व्यक्तिगत लैंप में से प्रत्येक को एक माइक्रोकंट्रोलर के केवल दो आउटपुट पिन का उपयोग करके नियंत्रित किया जा सकता है। मैंने इस परियोजना के लिए ईथरनेट ढाल के साथ Arduino UNO R3 का उपयोग किया। ईथरनेट शील्ड के साथ, मैं टेबल को नियंत्रित करने के लिए एक वेब ऐप बनाने में सक्षम था। मैंने मूल रूप से कुछ स्विच और पोटेंशियोमीटर को रोशनी को नियंत्रित करने के लिए उतारा, लेकिन वेब ऐप अधिक सहज हो गया। इसके अलावा, मैंने अपने क्रॉस प्लेटफ़ॉर्म प्रकृति के लिए एक मोबाइल ऐप या डेस्कटॉप एप्लिकेशन पर एक वेब ऐप करना चुना। प्रोग्रामिंग को तीन अलग-अलग स्तरों पर निष्पादित किया जाता है।

अंत-उपयोगकर्ता से टेबल तक, पहला कदम वेब पेज, जावास्क्रिप्ट पर क्लाइंट साइड कोड है। JQuery लाइब्रेरी के साथ, यह कोड उपयोगकर्ता से सभी जानकारी को स्वीकार करता है और इसे वेब सर्वर पर भेजता है। मैनुअल पेज के लिए, यह बस उन रंगों के साथ गुजरता है जो प्रत्येक सीट के अनुरूप हैं। टूर्नामेंट पेज के लिए, हालांकि, जावास्क्रिप्ट वास्तव में यह निर्धारित करने के लिए सभी काम करता है कि प्रत्येक हाथ को रंगों को कैसे स्थानांतरित किया जाए। यह देखता है कि कौन अभी भी है, जहां डीलर स्थित है, और अगले हाथ के लिए खेलने का क्रम निर्धारित करने के लिए टेक्सास होल्ड still एम के नियमों को शामिल करता है। क्लाइंट-साइड कोड हैंडल होने से टूर्नामेंट की कार्यक्षमता अच्छी और बुरी है। Arduino पर कुछ भी संग्रहीत नहीं है, इसलिए, एक तरफ, यदि पृष्ठ ताज़ा होता है, तो खेल की स्थिति खो जाती है। दूसरी ओर, जैसे-जैसे कंप्यूटर और ब्राउज़र तेज होते जाते हैं, वैसे-वैसे यह कार्यक्षमता बढ़ेगी। इसके अलावा, मैनुअल और टूर्नामेंट मोड को आसानी से ब्राउज़र टैब बदलकर आगे और पीछे स्विच किया जा सकता है।

अगला चरण वेब पेज के लिए PHP या सर्वर साइड कोड है। यह एकमात्र कार्य वेब पेज से माइक्रोकंट्रोलर से लिंक होना है। यह कोड रहता है और मेरे होम सर्वर पर निष्पादित होता है। एक तरीका हो सकता है, लेकिन मुझे पता नहीं है कि जावास्क्रिप्ट से सीधे नेटवर्क सॉकेट प्रोग्रामिंग कैसे करें। PHP वेब पेज से POST अनुरोध के रूप में डेटा में खींचती है। यह भी ध्यान देने योग्य है कि वेब पेज AJAX का उपयोग करता है। इस तरह, नया कॉन्फ़िगरेशन सबमिट किए जाने पर पृष्ठ हर बार ताज़ा नहीं होता है। फिर, डेटा को Arduino के लिए पुनर्प्राप्त किया जाता है और पूरे नेटवर्क में भेज दिया जाता है।

अंत में, सभी Arduino को यह करना होगा कि वह वेब पेज से प्राप्त संदेश को ले और तदनुसार रोशनी समायोजित करें। नियंत्रक स्वयं तालिका शीर्ष के नीचे एक छोटे, HTPC मामले में बैठता है। कंप्यूटर केस का उपयोग करना सुविधाजनक था। इसने एक एनक्लोजर, कंट्रोलर के लिए 12 वी पावर सप्लाई, लॉजिक और लाइट्स के लिए 5 वी पावर सप्लाई, खेलने के लिए एक छोटा स्पीकर, और फ्रंट में यूएसबी पोर्ट्स को चार्जर के रूप में वायर करने के लिए दिया। बाड़े में अतिरिक्त कमरा प्रोटोटाइप के लिए भी अच्छा था। सभी सर्किट्री अभी भी सोल्डरलेस ब्रेडबोर्ड से जुड़ी हुई है। यह आदर्श कॉन्फ़िगरेशन नहीं है, लेकिन मुझे यकीन है कि अगर सब कुछ ठीक हो रहा है के लिए काम करने जा रहा था पता नहीं था।

अगर मैंने कभी दूसरी तालिका बनाई, तो मैं सभी इलेक्ट्रॉनिक्स को और अधिक कॉम्पैक्ट बना दूंगा। माइक्रोकंट्रोलर और सभी बाहरी सर्किटरी को एक साथ कस्टम पीसीबी प्राप्त करना बहुत अच्छा होगा। इसके अलावा, टेबल के अंदर रास्पबेरी पाई पर वेब सर्वर को एम्बेड करना सहायक होगा। इसके अलावा, मुझे कुछ बढ़ईगीरी के लिए डिजाइन बदलना होगा। मैंने कभी भी इस परिसर को कुछ भी नहीं बनाया था, और बारीक विवरण बिल्कुल बाहर नहीं आया था जैसे मैंने उम्मीद की थी। पॉली कार्बोनेट और महसूस के बीच बोर्डों में शामिल होने के लिए नए कोष्ठक आवश्यक परिवर्तनों में से एक होगा। चित्र jrtrzeciak.wordpress.com और https://github.com/jrtrzeciak/pokerTable पर कोड से देखे जा सकते हैं।

शेयर

एक टिप्पणी छोड़