विषयसूची:
- चरण 1: चरण 1: अपने भागों को इकट्ठा करें
- चरण 2: चरण 2: वायरिंग और इलेक्ट्रॉनिक्स
- चरण 3: चरण 3: ऑपरेटिंग सिस्टम सॉफ़्टवेयर सेटअप
- चरण 4: चरण 4: JSON कॉन्फ़िगरेशन अपडेट करें
वीडियो: एनएचएल बेडसाइड हॉकी लाइट और एलसीडी: 4 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
परिचय
"एनएचएल लाइट" उन हॉकी प्रशंसकों के लिए है जो अपनी टीम का अनुसरण करना चाहते हैं, लेकिन हर खेल नहीं देख सकते। इसकी सबसे अच्छी विशेषता यह है कि यह हॉकी हॉर्न (आपकी टीम के लिए कस्टम), और प्रकाश के साथ एक गोल स्कोर का अनुकरण करता है।
हॉकी हॉर्न और लाइट के अलावा, "एनएचएल लाइट" में एक डिस्प्ले है जो वर्तमान, या सबसे हालिया गेम का स्कोर, गेम का समय या अगले गेम का समय, और वर्तमान दिनांक और समय प्रदान करता है।
"एनएचएल लाइट" भागों की एक साधारण सूची पर चलता है, जो इलेक्ट्रॉनिक्स को इकट्ठा करना आसान है, और कोड जो स्वतंत्र रूप से उपलब्ध है।
विशेषताएं
- अपनी टीम और वाईफाई के चयन के लिए वेबपेज आधारित विन्यास
- जब आपकी टीम स्कोर करती है तो लाइट और हॉर्न बजाता है (तब भी जब आप दूर की टीम हों)
- खेल की शुरुआत की घोषणा करने के लिए ध्वनि बजाता है
- खेल के समापन की घोषणा करने के लिए ध्वनि बजाता है
- यदि कोई खेल प्रगति पर नहीं है, तो अगले गेम का समय और तारीख प्रदान करता है।
- खेल प्रगति पर है, तो वर्तमान खेल समय और अवधि प्रदर्शित करता है।
- वर्तमान दिनांक और समय प्रदर्शित करता है।
चरण 1: चरण 1: अपने भागों को इकट्ठा करें
यहाँ एक भागों की सूची है।
-
रास्पबेरी पाई डब्ल्यू *
- वीरांगना
- मैं माइक्रोसेंटर से खदान प्राप्त करना पसंद करता हूं, लेकिन अन्य स्थानों पर कम कीमत पर ऑनलाइन पाया जा सकता है।
- $10
- एसडी कार्ड (न्यूनतम 4 जीबी)*
- स्पीकर - अमेज़न - ~$2 *
- amp - PAM8403* - अमेज़न - ~$1 प्रत्येक
- प्रकाश - अमेज़न - ~$5
-
केस - $1*
- माइकल का
- मैं माइकल के शिल्प की दुकान से लकड़ी के छोटे शिल्प मामले की सलाह देता हूं, लेकिन आपको छोड़ दूंगा!
-
I2C 2004 एलसीडी - $3-7
- वीरांगना
- कोड 3 प्रकार के LCD का समर्थन करता है, लेकिन I2C 2004 वह है जिसे मैंने सर्वोत्तम मूल्य और आकार के रूप में तय किया है। (SSD1306 भी संभव है)
- 2 ट्रांजिस्टर - 2N2222A- Amazon
- विविध तार / मिलाप12V
- बिजली की आपूर्ति - अमेज़न
- 12V -> 5V हिरन कनवर्टर - Amazon
*जब इस भाग को चुनने की बात आती है तो इसमें लचीलापन होता है।
नोट: आप इस परियोजना के अधिकांश भाग को केवल अपने रास्पबेरी पाई के साथ शुरू कर सकते हैं, जबकि आप अन्य वस्तुओं के शिप होने की प्रतीक्षा करते हैं।
चरण 2: चरण 2: वायरिंग और इलेक्ट्रॉनिक्स
-
प्रकाश इकट्ठा करें
- प्रकाश के लिए तारों को प्रकाश में 12+ चलाना है।
- ट्रांजिस्टर में से किसी एक के माध्यम से प्रकाश से नकारात्मक चलाएं।
- ट्रांजिस्टर का एमिटर जमीन पर चला जाता है।
- ट्रांजिस्टर का संग्राहक रास्पबेरी पाई में जाता है।
-
ध्वनि इकट्ठा करें
- PI से amp. तक दाएँ या बाएँ ध्वनि चलाएँ
- +5V से amp. तक चलाएँ
- दूसरे ट्रांजिस्टर के लिए amp ग्राउंड चलाएँ।
- दूसरे ट्रांजिस्टर के एमीटर को जमीन पर चलाएं
- ट्रांजिस्टर के संग्राहक को रास्पबेरी पाई पर चलाएँ
- पीआई को वायरिंग असेंबल करें
-
यह पीआई के लिए पिनआउट निर्देश है (इनमें से कुछ JSON के माध्यम से कॉन्फ़िगर करने योग्य हैं)
-
एलसीडी
- 3 - एसडीए
- 5 - एससीएल
- 5 - वीसीसी (+5)
- एएमपी 8 (जीपीआईओ 14)
- लाइट 10 (GPIO15)
- साउंड राइट - GPIO 18
-
चरण 3: चरण 3: ऑपरेटिंग सिस्टम सॉफ़्टवेयर सेटअप
-
रास्पबेरी पाई W. तैयार करें
- रास्पबेरी पाई को रास्पियन (या अन्य डेबियन) का हाल का संस्करण चलाना चाहिए।
- इन निर्देशों का पालन करने के लिए अनुशंसित:
- वाईफाई wpa_supplicant फ़ाइल शामिल करना सुनिश्चित करें।
- ssh एक्सेस की अनुमति देने के लिए ssh फ़ाइल को sdcard पर रखें।
-
तृतीय पक्ष सॉफ़्टवेयर तैयार करें:
- मैंने सभी आवश्यक तृतीय पक्ष टूल खींचने के लिए इस प्रक्रिया को स्वचालित कर दिया है, लेकिन इन्हें मैन्युअल रूप से चलाने के लिए स्वतंत्र महसूस करें, और यह सुनिश्चित करने के लिए समीक्षा करें कि कोई चरण विफल न हो।
- निम्न स्क्रिप्ट डाउनलोड करें और चलाएं:https://github.com/wga22/nodejs/blob/master/nhl/mi…
ऑपरेटिंग सिस्टम को स्थापित करने के लिए इंस्टॉलेशन स्क्रिप्ट क्या करती है, इसका एक ब्रेकडाउन यहां दिया गया है। इन पंक्तियों को मैन्युअल रूप से चलाना सबसे अच्छा है, ताकि आप त्रुटियों को देख सकें।
स्क्रिप्ट हैडर:
#!/bin/sh -e##curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… के माध्यम से कॉल किया जा सकता है। sudo -E bash - # TODO: इस स्क्रिप्ट को कुछ इस तरह से स्वचालित करें: curl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash - # TODO: सेटअप वाईफाई # TODO: सेटअप पासवार्ड और अधिकृत कुंजियाँ # नोट्स:
OS स्तर पर सॉफ़्टवेयर अपडेट करें:
#उपयुक्त-प्राप्त सामग्री(उपयुक्त-अपडेट प्राप्त करें && apt-get -y अपग्रेड) > /dev/null apt-get dist-upgrad -y #General Dev apt-get install -y git बिल्ड-आवश्यक पायथन-देव पायथन-पाइप अजगर-smbus libasound2-देव नोडज # GPIO उपयुक्त-स्थापित करें -y raspi-gpio अजगर-इमेजिंग
नेटवर्किंग सेटअप। यहां लक्ष्य का एक हिस्सा सिस्टम को एक्सेस प्वाइंट के माध्यम से कॉन्फ़िगर करने की अनुमति देना था, अपने स्वयं के वाईफाई से कनेक्ट करने के लिए, लेकिन यह अभी तक पूरी तरह से परीक्षण नहीं किया गया है। वर्तमान में वाईफाई की स्थापना के लिए wpa_supplicant विधि का उपयोग करने की सिफारिश की गई है।
#networking setupecho nhllight > /etc/hostname #TODO: /etc/hosts को ठीक करें #TODO: सेटअप br0 mkdir /etc/hostapd/ # नोट: अन्य सेटअप कॉन्फिग फाइलों के जरिए किया जाता है और शेल को अपडेट के एक हिस्से के रूप में नीचे खींचा जाता है
नोड और नोड लाइब्रेरी अपडेट करें
#अपडेट नोडेसीडी/टीएमपी एक्सपोर्ट नोडवर्जन=8.9.0 #wget https://nodejs.org/dist/v7.4.0/node-v7.4.0-linux-… #wget https://nodejs.org/dist/v7. 4.0/नोड-v7.4.0-linux-… wget https://nodejs.org/dist/v7.4.0/node-v7.4.0-linux-… tar -xvf node-v${nodeversion}-linux-armv6l। tar.xz cd node-v${nodeversion}-linux-armv6l rm -f *.md rm -f LICENSE cp -R * /usr/local/ rm -R /tmp/node-v${nodeversion}-linux- armv6l rm /tmp/node-v${nodeversion}-linux-armv6l.tar.xz #TODO: नोड बाइनरी के लिए सिम लिंक बनाएं? उपयुक्त-निकालें -y --purge npm नोड नोडज
#नोड सेटअपmkdir /opt/nhl mkdir /opt/nhl/logs mkdir /opt/nhl/horns mkdir /opt/nhl/node_modules/
#अपडेट नोड
#nhl निर्देशिका में नोड निर्भरता स्थापित करें निर्यात NODE_PATH=/usr/local/lib/node_modules
#HACK - TODO - ठीक करें कि लंगड़ा विश्व स्तर पर स्थापित नहीं होगा
cd /opt/nhl npm लंगड़ा स्थापित करें # लंगड़ा, लंगड़ा है, विश्व स्तर पर cp -R /opt/nhl/node_modules/लंगड़ा $NODE_PATH npm स्थापित स्पीकर स्थापित नहीं करेगा #विश्व स्तर पर cp -R /opt/nhl/node_modules/speaker $NODE_PATH स्थापित नहीं करेगा npm i2c-bus स्थापित करें # विश्व स्तर पर cp -R /opt/nhl/node_modules/i2c-bus $NODE_PATH स्थापित करें npm oled-i2c-bus स्थापित करें #विश्व स्तर पर cp -R /opt/nhl/node_modules/oled-i2c-bus स्थापित न करें $NODE_PATH npm LCD स्थापित करें #विश्व स्तर पर cp -R /opt/nhl/node_modules/lcd $NODE_PATH स्थापित करें npm LCDi2c स्थापित करें #wont विश्व स्तर पर cp -R /opt/nhl/node_modules/lcdi2c $NODE_PATH स्थापित करें
npm old-font-5x7 इंस्टॉल करें #विश्व स्तर पर इंस्टॉल नहीं होगा
सीपी-आर/ऑप्ट/एनएचएल/नोड_मॉड्यूल/ओल्ड-फॉन्ट-5x7 $NODE_PATH
npm ऑनऑफ़ इंस्टॉल करें #विश्व स्तर पर इंस्टॉल नहीं होगा
सीपी-आर/ऑप्ट/एनएचएल/नोड_मॉड्यूल/ऑनऑफ़ $NODE_PATH
#npm pm2 इंस्टॉल करें #विश्व स्तर पर इंस्टॉल नहीं होगा
#cp -R /opt/nhl/node_modules/pm2 $NODE_PATH #npm इंस्टाल एक्सप्रेस #wont इंस्टाल विश्व स्तर पर #cp -R /opt/nhl/node_modules/express $NODE_PATH
# कोई भी वैश्विक मॉड्यूल
npm एक्सप्रेस बॉडी-पार्सर चाइल्ड_प्रोसेस pm2 -g. स्थापित करें
नवीनतम कोड खींचो:
#pull git codecd /opt/nhl #JSON वन टाइम क्रिएशन wget --no-cache -O /opt/nhl/nhl_config.json https://raw.githubusercontent.com/wga22/nodejs/ma… #wget -O है /opt/nhl/NHL_work.js https://raw.githubusercontent.com/wga22/nodejs/ma… #NHL कर्ल-एसएल के लिए अन्य सभी चीजों को स्थापित करने के लिए स्वचालित स्क्रिप्ट को कॉल करें https://raw.githubusercontent.com/wga22/nodejs /मा… | सुडो-ई बैश -
हॉर्न डाउनलोड करें!
#पुल हॉर्नएससीडी/ऑप्ट/एनएचएल/हॉर्न कर्ल-एसएल https://raw.githubusercontent.com/wga22/nodejs/ma… | सुडो-ई बैश -
रास्पबेरी पाई कॉन्फिग फाइलों को अपडेट करें - - आपके सिस्टम के लिए बदलने की आवश्यकता हो सकती है
#कॉन्फ़िगर फ़ाइल अपडेट#ध्वनि जोड़ें cp /boot/config.txt /boot/config.txt.bak printf '\ndtoverlay=pwm-2chan, pin=18, func=2, pin2=13, func2=4' >> / boot/config.txt #टर्न ऑन i2c प्रिंटफ '\n\ndtparam=i2c1=on\n' >> /boot/config.txt printf '\n\ndtparam=i2c_arm=on\n' >> /boot/config. टेक्स्ट
#TODO: क्या इसकी जरूरत है?cp /etc/modules /etc/modules.bak printf '\ni2c-dev\ni2c-bcm2708\n' >> /etc/modules
एमिक्सर सीसेट numid=1
#TODO: वॉल्यूम सेट करें, 60%?
ऑटोमेशन को स्वचालित करें, जैसे कि बूटअप और कोड अपडेट:
# अद्यतन rc.local# नोट: फ़ाइल को स्थानांतरित करना, क्योंकि मानक एक में अंतिम पंक्ति में एक "निकास" शामिल है, इसलिए इसे केवल mv /etc/rc.local /etc/rc.local.bak स्पर्श /etc/rc.local संलग्न नहीं किया जा सकता है। chmod u+x /etc/rc.local printf '#!/bin/sh'> /etc/rc.local printf '\n /etc/bootup_nhl.sh > /tmp/rclocal.log' >> /etc/rc.लोकल प्रिंटफ '\n एग्जिट 0' >> /etc/rc.local
#TODO: इस तरह साप्ताहिक नियमित सॉफ़्टवेयर अपडेट करने के लिए कुछ जोड़ने की आवश्यकता है# शायद इस फ़ाइल को सीधे rc.weekly फ़ोल्डर में कॉपी करें? rm /etc/cron.weekly/nhl_updater printf '#!/bin/sh\ncurl -sL https://raw.githubusercontent.com/wga22/nodejs/ma… | sudo -E bash -' > /etc/cron.weekly/nhl_updater chmod u+x /etc/cron.weekly/nhl_updater
विविध सामग्री, जैसे टाइमज़ोन सेट करना:
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
# नोड_पथ के साथ पर्यावरण चर अपडेट करें
cp /etc/environment /etc/environment.bak printf '\nexport NODE_PATH=/usr/local/lib/node_modules\n' >> /etc/environment #TODO: इसे नोड के लिए परिभाषित करें self.ipaddress = process.env. NODEJS_IP; #TODO: self.port = process.env. NODEJS_PORT || 80;
नोड सर्वर सेटअप के लिए PM2 का उपयोग करें:
#TODO: परीक्षण सेटअप PM2cd /tmp/ npm install -g pm2 pm2 स्टार्टअप cd /opt/nhl pm2 start NHL_work.js --node-args="--max_old_space_size=100 एक्सपोज़-gc" pm2 start webserver.js --node -args="--max_old_space_size 100M" pm2 सेव pm2 स्टार्टअप एग्जिट 0
चरण 4: चरण 4: JSON कॉन्फ़िगरेशन अपडेट करें
अपनी पसंद की टीम के लिए अपनी JSON कॉन्फ़िगरेशन फ़ाइल सेट करें, आदि। यह फ़ाइल /opt/nhl GO CAPITALS में स्थित है! कॉन्फिग JSON फाइल
सॉफ़्टवेयर आपके द्वारा अनुसरण किए जा रहे हार्डवेयर और टीम को कॉन्फ़िगर करने के लिए JSON फ़ाइल का उपयोग करता है। टीम को वेबसर्वर के माध्यम से सेट किया जा सकता है जो चल रहा होगा, लेकिन हार्डवेयर सेटअप को मैन्युअल रूप से सेट करने की आवश्यकता है:
{ "myteam": "WSH", "डीबग": "1", "आउटपुट": "एलसीडी", "लाइट": {"टाइप": "मल्टील्ड", "जीपीओ": ["10", "13"] }, "amp": {"gpio":"14"}, "lcdaddress": "0x3F", "lightid": "22" }
यहां प्रत्येक संभावित मूल्य का स्पष्टीकरण दिया गया है:
- myteam: यह उस टीम का 3 अक्षर का कोड है जिसका आप अनुसरण करना चाहते हैं
- डिबग: संभावित मान 1 (सत्य) या 0 (गलत) हैं, और यह नियंत्रित करेगा कि कितनी लॉगिंग लिखी गई है।
-
आउटपुट: यह वह तरीका है जिसके द्वारा स्कोर/विवरण दिखाए जाने हैं। संभावित मान हैं:
- एलसीडी: यह 2004 का एलसीडी है
- कंसोल: यह केवल टर्मिनल को लिखेगा (कमांड लाइन चलाने के लिए)
- ओलेड: SSD6404 पुराने डिस्प्ले के लिए समर्थन
-
प्रकाश: दो प्रकार की रोशनी समर्थित हैं
- अलार्म: यह ट्रांजिस्टर को चालू/बंद करने के लिए एक GPIO चलाएगा
- बहु-एलईडी: एक बहुरंगा, या कई एलईडी का समर्थन करता है
- कोई नहीं: कोई प्रकाश संलग्न नहीं है
- amp: यह GPIO है जो amp. के लिए ट्रांजिस्टर चलाता है
सिफारिश की:
बेडसाइड एमपी३ अलार्म लेटर क्लॉक: ६ कदम (चित्रों के साथ)
बेडसाइड एमपी3 अलार्म लेटर क्लॉक: इस प्रोजेक्ट के लिए मैं एक सुविधाजनक और पूरी तरह कार्यात्मक बेडसाइड अलार्म वर्ड क्लॉक बनाना चाहता था। बेडसाइड अलार्म घड़ी के लिए मेरी व्यक्तिगत पूर्वापेक्षाएँ हैं: किसी भी प्रकाश में पठनीय, जबकि रात में एमपी3 अलार्म ट्यून्स को अंधा नहीं करना आकर्षित करना
कार्डबोर्ड, आरजीबी लाइट और सेंसर के साथ DIY चुंबकीय टेबल हॉकी: 11 कदम (चित्रों के साथ)
कार्डबोर्ड, आरजीबी लाइट और सेंसर के साथ DIY चुंबकीय टेबल हॉकी: आपने एयर हॉकी खेली होगी! गेमिंग ज़ोन में कुछ $$$$$$ का भुगतान करें और अपने दोस्तों को हराने के लिए केवल गोल करना शुरू करें। क्या यह बहुत नशे की लत नहीं है? आपने घर में एक टेबल रखने के बारे में सोचा होगा, लेकिन हे! कभी खुद बनाने के बारे में सोचा?हम
सेंसर सुहु डेंगन एलसीडी डैन एलईडी (एलसीडी और एलईडी के साथ तापमान सेंसर बनाना): 6 कदम (चित्रों के साथ)
सेंसर SUHU DENGAN LCD DAN LED (एलसीडी और एलईडी के साथ तापमान सेंसर बनाना): है, साया देवी रिवाल्डी महसिस्वा UNIVERSITAS NUSA PUTRA दारी इंडोनेशिया, दी सिनी साया और बरबागी कारा मेम्बुएट सेंसर सुहु मेंगगुनाकन Arduino डेंगन आउटपुट के एलसीडी और एलईडी। इन अदलाह पेम्बाका सुहु डेंगन देसाईं साया सेंदिरी, डेंगन सेंसर इन औरा
मिनी एलईडी बेडसाइड नाइट लाइट / लैंप: 5 कदम
मिनी एलईडी बेडसाइड नाइट लाइट / लैंप: सबसे पहले मुझे कहना चाहिए कि यह सनबैंक्स द्वारा मिनी फ्री स्टैंडिंग एलईडी लैंप से प्रेरित था। लेड को डेस्क से दूर रखने के लिए बायो का उपयोग करने के बजाय मैंने आधार से प्रकाश को प्रोजेक्ट करने के लिए कुछ स्पष्ट दृष्टिकोण का उपयोग किया है। यह छोटी परियोजना एक प्रोटोटाइप है
डिमिंग इल्यूमिनेटर- बेडसाइड क्लॉक आदि के लिए: 4 कदम (चित्रों के साथ)
डिमिंग इल्यूमिनेटर- बेडसाइड क्लॉक आदि के लिए: यह यूनिट मेरी पत्नी की शिकायत के कारण अस्तित्व में आई कि वह बेडरूम की घड़ी नहीं देख सकती थी जब बेडरूम में अंधेरा था, और वह मुझे जगाने के लिए लाइट चालू नहीं करना चाहती थी। . मेरी पत्नी नहीं चाहती थी कि घड़ी पर एक चकाचौंध करने वाली रोशनी, बस पर्याप्त रोशनी