विषयसूची:
- चरण 1: अपने फोन पर ऐप बनाना
- चरण 2: पीआई तैयार करना
- चरण 3: अपना प्रोजेक्ट बनाना
- चरण 4: MyProject.js
- चरण 5: Arduino में MyProject
- चरण 6: वायरिंग
- चरण 7: बस इतना ही
वीडियो: रास्पबेरी पीआई और अरुडिनो - ब्लिंक स्टेपर कंट्रोल: 7 कदम (चित्रों के साथ)
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:23
यह ट्यूटोरियल आपको दिखाएगा कि कैसे एक Arduino, एक रास्पबेरी पाई और Blynk एप्लिकेशन के साथ एक स्टेपर मोटर को नियंत्रित किया जाए।
एक अखरोट के खोल में, ऐप वर्चुअल पिन के माध्यम से रास्पबेरी पाई को अनुरोध भेजता है, फिर पाई Arduino को उच्च / निम्न संकेत भेजता है और Arduino फिर स्टेपर मोटर से संबंधित है।
मुझे लगता है कि उस दृष्टिकोण का उपयोग करना आसान है क्योंकि अधिकांश लोग Arduino के साथ काम करने के लिए उपयोग किए जाते हैं और रास्पबेरी पाई पर नोड.जेएस के साथ बहुत कुछ नहीं करते हैं।
इसके लिए आवश्यक घटक:
- रास्पबेरी पीआई (मैं रास्पबेरी पीआई 3 मॉडल बी का उपयोग कर रहा हूं)
- Arduino (मैं एक Arduino नैनो का उपयोग कर रहा हूँ)
- सर्वो मोटर (मैं इसके नियंत्रक के साथ 28BYJ-48 5VDC का उपयोग कर रहा हूं)
- कुछ जम्पर तार
- शक्ति स्रोत (5VDC 2A.)
Arduino स्केच और Node.js कोड डाउनलोड करने के लिए उपलब्ध है। बस फाइलों को देखो।
चरण 1: अपने फोन पर ऐप बनाना
AppStore या GooglePlay से Blynk डाउनलोड करें
ऐप खोलें और एक यूजर बनाएं या फेसबुक से लॉग इन करें।
- एक नया प्रोजेक्ट बनाएं
अपने प्रोजेक्ट को नाम दें: MyProject
डिवाइस चुनें: रास्पबेरी पाई 3 बी
कनेक्शन का प्रकार: वाईफ़ाई (या ईथरनेट यदि आपका पाई आपके नेटवर्क से जुड़ा हुआ है)
- बनाएं क्लिक करें
अपने टोकन के लिए अपना ईमेल देखें
(यह 3aa19bb8a9e64c90af11e3f6b0595b3c जैसा दिखता है)
यह टोकन आपके वर्तमान ऐप से जुड़ा हुआ है। यदि आप कोई अन्य ऐप करते हैं, तो आप एक और टोकन जेनरेट करेंगे।
ऐप में निम्नलिखित विजेट जोड़ें (चित्र देखें)
- 3 बटन जोड़ें
- 1 एलसीडी जोड़ें
- बटन संपादित करें
पहले एक को कमांड 1 नाम दें, पिन को वर्चुअल पिन 1 के रूप में सेट करें और मोड को स्विच के रूप में सेट करें
दूसरे CW को नाम दें, पिन को वर्चुअल पिन 2 के रूप में सेट करें और मोड को PUSH के रूप में सेट करें
तीसरे एक CCW को नाम दें, पिन को वर्चुअल पिन 3 के रूप में सेट करें और मोड को PUSH के रूप में सेट करें
- एलसीडी संपादित करें
पिन को वर्चुअल पिन 4 और वर्चुअल पिन 5 के रूप में सेट करें और मोड को PUSH पर सेट करें
चरण 2: पीआई तैयार करना
सबसे पहले, आपको Node.js इंस्टॉल करना होगा। Node.js को अपडेट करने से पहले, कृपया पुराने संस्करणों को हटाना सुनिश्चित करें:
टर्मिनल खोलें और टाइप करें
sudo apt-get purge nodejs
node.js -ysudo apt-get autoremove
स्वचालित Node.js स्थापना रिपॉजिटरी जोड़ें:
कर्ल-एसएल https://deb.nodesource.com/setup_6.x | सुडो-ई बैश -
Node.js स्थापित करें
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install बिल्ड-एसेंशियल नोडज -y
एक बार Node.js स्थापित हो जाने के बाद, Blynk स्थापित करें
sudo npm blynk-library -g. स्थापित करें
sudo npm onoff -g. स्थापित करें
चरण 3: अपना प्रोजेक्ट बनाना
निर्देशिका (cd कमांड) को pi निर्देशिका में बदलकर प्रारंभ करें
टर्मिनल खोलें और टाइप करें:
सीडी / घर / पीआई /
फिर, एक निर्देशिका बनाएं जहां आपका प्रोजेक्ट रहेगा
एमकेडीआईआर माईप्रोजेक्ट
निर्देशिका को MyProject में बदलें, टर्मिनल में निम्न टाइप करें
सीडी माईप्रोजेक्ट
निर्देशिका की सामग्री की जाँच करें (यह खाली होनी चाहिए)। टर्मिनल में बस निम्नलिखित टाइप करें
रास
इसके बाद, अपना प्रोजेक्ट विवरण बनाने के लिए निम्नलिखित टाइप करें (package.json)
npm init
बस प्रोजेक्ट का नाम, लेखक, संस्करण, आदि टाइप करें…
एक बार यह हो जाने के बाद, अपनी प्रोजेक्ट निर्देशिका में Blynk लाइब्रेरी, ऑनऑफ़ लाइब्रेरी और सिस्टम-स्लीप लाइब्रेरी स्थापित करें। अपने टर्मिनल में निम्नलिखित टाइप करें
npm blynk-लाइब्रेरी स्थापित करें --save
npm ऑनऑफ़ स्थापित करें --save
npm इंस्टाल सिस्टम-स्लीप --save
अंत में, अपनी.js फ़ाइल बनाएँ (यह वह जगह होगी जहाँ आपका कोड रहेगा)। टर्मिनल में निम्नलिखित टाइप करें
नैनो MyProject.js
एक बार जब आप उस कमांड को निष्पादित करते हैं, तो नैनो (टर्मिनल टेक्स्ट एडिटर) खुल जाएगा।
चरण 4: MyProject.js
नैनो में, कोड की निम्नलिखित पंक्तियाँ लिखिए
var Blynk = आवश्यकता ('ब्लींक-लाइब्रेरी');
वर प्राधिकरण = '******'; यह आपका टोकन है
var blynk = नया Blynk. Blynk (AUTH);
वर Gpio = आवश्यकता ('onoff')। Gpio,
कमांड 1 = नया जीपीओ (18, 'आउट'), // Arduino D2 से जुड़ा होगा
कमांड सीडब्ल्यू = नया जीपीओ (23, 'आउट'), // Arduino D3 से जुड़ा होगा
कमांडसीसीडब्ल्यू = नया जीपीओ (24, 'आउट'); // Arduino D4 से जुड़ा होगा
वर नींद = आवश्यकता ('सिस्टम-नींद');
var v1 = नया blynk. VirtualPin(1); // यह ऐप में आपका कमांड 1 बटन है
वर v2 = नया blynk. VirtualPin(2); // यह ऐप में आपका सीडब्ल्यू बटन है
var v3 = नया blynk. VirtualPin(3); // यह ऐप में आपका सीसीडब्ल्यू बटन है
var v4 = नया blynk. VirtualPin(4); // यह ऐप में आपकी एलसीडी लाइन 1 है
वर v5 = नया blynk. VirtualPin(5); // यह ऐप में आपकी एलसीडी लाइन 2 है
v1.on ('लिखें', फ़ंक्शन (परम) // ऐप में कमांड 1 बटन की जांच करें
{
अगर (परम == 1) // यदि बटन दबाया जाता है (जो कि 1 है) तो निम्न कार्य करें
{
v4.लिखें ("निष्पादन"); // LCD की पहली लाइन पर "Executing" लिखें
v5.लिखें ("कमांड"); // LCD की दूसरी लाइन पर "कमांड" लिखें
कमांड 1. राइटसिंक (1); // GPIO18 (जो चर कमांड 1 है) को 1 (उच्च) पर सेट करें
नींद (4000); // 4 सेकंड के लिए प्रतीक्षा करें
कमांड 1. राइटसिंक (0); // GPIO18 (जो चर कमांड 1 है) को 0 (LOW) पर सेट करें
v4.लिखें ("हो गया"); // LCD की पहली लाइन पर "Done" लिखें
v5.लिखें (""); // LCD की दूसरी लाइन पर "" (कुछ नहीं) लिखें
v1.लिखें (0); // अपने कमांड 1 बटन पर 0 लिखें, जो इसे बंद स्थिति में रीसेट कर देगा
}
});
v2.on('write', function (param) // ऐप में CW बटन की जांच करें
{
अगर (परम == 1) // यदि बटन दबाया जाता है (जो कि 1 है) तो निम्न कार्य करें
{
कमांड सीडब्ल्यू.राइटसिंक(1); // GPIO23 (जो चर कमांडCW है) को 1 (उच्च) पर सेट करें
}
और अगर (परम == 0) // यदि बटन दबाया नहीं गया है (जो कि 0 है) तो निम्न कार्य करें
{
commadCW.writeSync(0); // GPIO23 (जो चर कमांडCW है) को 0 (LOW) पर सेट करें
}
});
v3.on('write', function (param) // ऐप में CCW बटन की जांच करें
{
अगर (परम == 1) // यदि बटन दबाया जाता है (जो कि 1 है) तो निम्न कार्य करें
{
कमांडसीसीडब्ल्यू.राइटसिंक(1); // GPIO24 (जो चर कमांडCCW है) को 1 (उच्च) पर सेट करें
}
और अगर (परम == 0) // यदि बटन दबाया नहीं गया है (जो कि 0 है) तो निम्न कार्य करें
{
कमांडसीसीडब्ल्यू.राइटसिंक(0); // GPIO24 (जो चर कमांडCCW है) को 1 (उच्च) पर सेट करें
}
});
इसे सहेजें और नैनो से बाहर निकलें
- CTRL+O. को सेव करने के लिए
- CTRL+X छोड़ने के लिए
आप रास्पबेरी पाई के साथ कर रहे हैं।
अब यह देखने के लिए इसका परीक्षण करें कि क्या किसी प्रकार की त्रुटियाँ हैं (ज्यादातर समय टाइपो त्रुटियाँ हैं)
इसका परीक्षण करने के लिए, बस अपने टर्मिनल में निम्नलिखित टाइप करें
नोड MyProject.js
आपको ऐसा आउटपुट मिलना चाहिए जो इस तरह दिखता है
ऑनऑफ मोड
से जुड़ रहा है: blynk-cloud.com 8441
एसएसएल प्राधिकरण…
अधिकार दिया गया
चरण 5: Arduino में MyProject
ठीक है तो अब हमारे पास 2/3 चीजें पूरी हो गई हैं!
अब हमें सिर्फ Arduino के लिए कुछ कोड लिखने की जरूरत है।
- एक नया Arduino स्केच बनाएं और निम्न कोड टाइप करें।
#शामिल
#परिभाषित करें STEPS_PER_MOTOR_REVOLUTION 32
#परिभाषित करें STEPS_PER_OUTPUT_REVOLUTION 32 * 64 ///2048
// पिन कनेक्शन को पिन 8, 9, 10, 11 कनेक्टेड होना चाहिए
// मोटर चालक को In1, In2, In3, In4
// फिर उचित अनुक्रमण के लिए अनुक्रम 1-3-2-4 में पिन यहां दर्ज किए जाते हैं
स्टेपर स्माल_स्टेपर (STEPS_PER_MOTOR_REVOLUTION, 8, 10, 9, 11);
इंट Step2टेक;
इंट कमांड1;
इंट कमांड सीडब्ल्यू;
इंट कमांडसीसीडब्ल्यू;
व्यर्थ व्यवस्था()
{
पिनमोड (2, इनपुट);
पिनमोड (3, इनपुट);
पिनमोड (4, इनपुट);
// (स्टेपर लाइब्रेरी आउटपुट के रूप में पिन सेट करती है)
}
शून्य लूप ()
{
कमांड १ = डिजिटलरीड(२);
CommandCW = digitalRead(3);
CommandCCW = digitalRead(4);
अगर (कमांड 1 == 0)
{
//कुछ नहीं करना
}
अन्यथा
{
निष्पादन समारोह ();
}
अगर (कमांडसीडब्ल्यू == 1)
{
small_stepper.setSpeed(700);
small_stepper.step(-1);
देरी(1);
}
अगर (कमांडसीसीडब्ल्यू ==1)
{
small_stepper.setSpeed(700);
small_stepper.step(1);
देरी(1);
}
}
शून्य निष्पादन समारोह ()
{
Step2टेक = STEPS_PER_OUTPUT_REVOLUTION / 4; // सीसीडब्ल्यू घुमाएँ 1/4 मोड़
small_stepper.setSpeed(700);
small_stepper.step (Steps2Take); // आप Step2Take को 0 और 2048 के बीच किसी भी मान से बदल सकते हैं
देरी (500);
Step2टेक = - STEPS_PER_OUTPUT_REVOLUTION / 4; // सीडब्ल्यू घुमाएँ 1/4 मोड़
small_stepper.setSpeed(700);
small_stepper.step (Steps2Take); // आप Step2Take को 0 और 2048 के बीच किसी भी मान से बदल सकते हैं
देरी (2000);
}
संकलित करें और अपने Arduino पर अपलोड करें।
अब सुनिश्चित करें कि आपने सब कुछ सही ढंग से कनेक्ट किया है! वायरिंग के लिए अगला चरण देखें।
चरण 6: वायरिंग
Arduino D3 को रास्पबेरीपी GPIO18 से कनेक्ट करें (जो वास्तव में पिन 12 है)
Arduino D4 को रास्पबेरीपी GPIO23 से कनेक्ट करें (जो वास्तव में पिन 16 है)
Arduino D4 को रास्पबेरीपी GPIO24 से कनेक्ट करें (जो वास्तव में पिन 18 है)
Arduino GND को RaspberryPi GND से कनेक्ट करें (पिन 6)
Arduino D8 को स्टेपर कंट्रोलर In1. से कनेक्ट करें
Arduino D9 को स्टेपर कंट्रोलर In2. से कनेक्ट करें
Arduino D10 को स्टेपर कंट्रोलर In3. से कनेक्ट करें
Arduino D11 को Stepper Controller In4. से कनेक्ट करें
5VDC को Arduino, रास्पबेरी पाई और स्टेपर कंट्रोलर से कनेक्ट करें
चरण 7: बस इतना ही
वीडियो देखें, और आपको समाप्त कर देना चाहिए!
धन्यवाद और आनंद लें!
सिफारिश की:
Howto: रास्पबेरी पीआई 4 हेडलेस (वीएनसी) आरपीआई-इमेजर और चित्रों के साथ स्थापित करना: 7 चरण (चित्रों के साथ)
कैसे करें: आरपीआई-इमेजर और पिक्चर्स के साथ रास्पबेरी पीआई 4 हेडलेस (वीएनसी) स्थापित करना: मैं अपने ब्लॉग में मजेदार परियोजनाओं के एक समूह में इस रैप्सबेरी पीआई का उपयोग करने की योजना बना रहा हूं। जांचने के लिए स्वतंत्र हैं। मैं अपने रास्पबेरी पीआई का उपयोग करने में वापस आना चाहता था लेकिन मेरे पास मेरे नए स्थान पर कीबोर्ड या माउस नहीं था। जब से मैंने रास्पबेरी की स्थापना की थी, तब तक कुछ समय हो गया था
स्टेपर मोटर नियंत्रित स्टेपर मोटर बिना माइक्रोकंट्रोलर (V2): 9 कदम (चित्रों के साथ)
स्टेपर मोटर नियंत्रित स्टेपर मोटर बिना माइक्रोकंट्रोलर (V2): मेरे पिछले निर्देशों में से एक में, मैंने आपको दिखाया था कि बिना माइक्रोकंट्रोलर के स्टेपर मोटर का उपयोग करके स्टेपर मोटर को कैसे नियंत्रित किया जाता है। यह एक त्वरित और मजेदार परियोजना थी, लेकिन यह दो समस्याओं के साथ आई, जो इस निर्देश में हल हो रही हैं। तो, बुद्धि
स्टेपर मोटर नियंत्रित मॉडल लोकोमोटिव - स्टेपर मोटर एक रोटरी एनकोडर के रूप में: 11 कदम (चित्रों के साथ)
स्टेपर मोटर नियंत्रित मॉडल लोकोमोटिव | रोटरी एनकोडर के रूप में स्टेपर मोटर: पिछले निर्देशों में से एक में, हमने सीखा कि स्टेपर मोटर को रोटरी एन्कोडर के रूप में कैसे उपयोग किया जाए। इस परियोजना में, अब हम एक Arduino माइक्रोकंट्रोलर का उपयोग करके एक मॉडल लोकोमोटिव को नियंत्रित करने के लिए स्टेपर मोटर से बने रोटरी एन्कोडर का उपयोग करेंगे। तो, फू के बिना
स्टेपर मोटर नियंत्रित स्टेपर मोटर - स्टेपर मोटर एक रोटरी एनकोडर के रूप में: 11 कदम (चित्रों के साथ)
स्टेपर मोटर नियंत्रित स्टेपर मोटर | स्टेपर मोटर एक रोटरी एनकोडर के रूप में: क्या कुछ स्टेपर मोटर्स चारों ओर पड़ी हैं और कुछ करना चाहते हैं? इस निर्देशयोग्य में, एक Arduino माइक्रोकंट्रोलर का उपयोग करके एक अन्य स्टेपर मोटर की स्थिति को नियंत्रित करने के लिए एक स्टेपर मोटर को रोटरी एन्कोडर के रूप में उपयोग करें। तो बिना ज्यादा देर किए, आइए जानते हैं
रास्पबेरी पीआई कैमरा और लाइट कंट्रोल डेथ स्टार: 5 कदम (चित्रों के साथ)
रास्पबेरी पीआई कैमरा और लाइट कंट्रोल डेथ स्टार: हमेशा की तरह मैं ऐसे उपकरणों का निर्माण करना चाहता हूं जो उपयोगी हों, मजबूती से काम करें और अक्सर शेल्फ समाधानों की तुलना में सुधार भी करें। यहाँ अभी तक एक और बेहतरीन प्रोजेक्ट है, जिसका नाम मूल रूप से शैडो 0f फीनिक्स है, जो सह में रास्पबेरी पीआई शील्ड है