विषयसूची:

रास्पबेरी पाई मॉडल 3 ए+ के साथ ब्राउज़र नियंत्रित रूमबा रोबोट: 6 कदम (चित्रों के साथ)
रास्पबेरी पाई मॉडल 3 ए+ के साथ ब्राउज़र नियंत्रित रूमबा रोबोट: 6 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी पाई मॉडल 3 ए+ के साथ ब्राउज़र नियंत्रित रूमबा रोबोट: 6 कदम (चित्रों के साथ)

वीडियो: रास्पबेरी पाई मॉडल 3 ए+ के साथ ब्राउज़र नियंत्रित रूमबा रोबोट: 6 कदम (चित्रों के साथ)
वीडियो: Meet the Maker - Camilo Parra Palacio, OttoDIY 2024, नवंबर
Anonim
रास्पबेरी पाई मॉडल 3 ए+. के साथ ब्राउज़र नियंत्रित रूमबा रोबोट
रास्पबेरी पाई मॉडल 3 ए+. के साथ ब्राउज़र नियंत्रित रूमबा रोबोट
रास्पबेरी पाई मॉडल 3 ए+. के साथ ब्राउज़र नियंत्रित रूमबा रोबोट
रास्पबेरी पाई मॉडल 3 ए+. के साथ ब्राउज़र नियंत्रित रूमबा रोबोट

अवलोकन

यह निर्देशयोग्य इस बात पर ध्यान केंद्रित करेगा कि कैसे एक मृत रूंबा को एक नया मस्तिष्क (रास्पबेरी पाई), आंखें (वेबकैम), और एक वेब ब्राउज़र से सब कुछ नियंत्रित करने का एक तरीका दिया जाए।

बहुत सारे Roomba हैक्स हैं जो सीरियल इंटरफ़ेस के माध्यम से नियंत्रण की अनुमति देते हैं। मैं इतना भाग्यशाली नहीं रहा कि मुझे एक रूमबा मिला जिसमें वर्तमान फर्मवेयर या काम करने वाला मदरबोर्ड है। या तो Roomba बहुत पुराना है या Roomba मर चुका है। मुझे इस परियोजना के लिए इस्तेमाल किया गया रूमबा मिला, जो स्थानीय थ्रिफ्ट स्टोर बार्गेन बिन में $ 5 के लिए था। इसमें अभी भी एक अच्छी बैटरी थी, लेकिन एक मृत मदरबोर्ड। (मुझे उसी थ्रिफ्ट स्टोर पर लगभग $5 में वेबकैम भी मिला)। मैं मूल रूमबा से केवल मोटर, चेसिस और बैटरी का उपयोग कर रहा हूं। इस परियोजना के लिए आपको रूमबा का उपयोग करने की आवश्यकता नहीं है। आप चाहें तो विभिन्न मोटरों, पहियों और चेसिस का उपयोग कर सकते हैं। मैं सिर्फ कबाड़ के एक टुकड़े को प्रयोग करने योग्य चीज में बदलना चाहता हूं।

इस निर्माण के लिए मैंने रास्पबेरी पाई मॉडल 3 ए + और एक रिओरैंड मोटर नियंत्रक का उपयोग किया। मैं डेक्सटर इंडस्ट्रीज ब्राउज़र नियंत्रित रोबोट से कोड का उपयोग कर रहा हूं जिसे मैंने संशोधित किया है। डेक्सटर इंडस्ट्रीज संस्करण पीआई को एक वेबसोकेट सर्वर के रूप में स्थापित करता है जो आपको किसी अन्य कंप्यूटर को चलाने वाले क्लाइंट एचटीएमएल फाइल से उनके रोबोट (ईंट पीआई प्लेटफॉर्म) को नियंत्रित करने की अनुमति देता है।

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

मैं एक सरल, सस्ता बेस रोबोट बनाने का तरीका दिखाने की उम्मीद में यहां प्रक्रिया का दस्तावेजीकरण कर रहा हूं।

प्रयुक्त भाग

रास्पबेरी पाई 3 ए+ (एडफ्रूट लिंक) $30

रिओरैंड डुअल मोटर ड्राइवर कंट्रोलर एच-ब्रिज (अमेज़ॅन लिंक) $22

मोटर्स के लिए 12 वी बैटरी (अमेज़ॅन लिंक) $19

रास्पबेरी पाई के लिए 5V बैटरी (अमेज़ॅन लिंक) $10

8GB माइक्रो एसडी कार्ड (अमेज़ॅन लिंक) $5

जम्पर तार (अमेज़ॅन लिंक) $7

रूंबा 500 सीरीज

.सब एक साथ सिर्फ $100 के तहत।

चरण 1: रास्पियन स्थापित करें और एक स्थिर आईपी पता सेटअप करें

रास्पियन स्थापित करें और एक स्थिर आईपी पता सेटअप करें
रास्पियन स्थापित करें और एक स्थिर आईपी पता सेटअप करें

मैंने रास्पियन स्ट्रेच लाइट का इस्तेमाल किया। मुझे डेस्कटॉप की आवश्यकता नहीं दिखाई दी, लेकिन आप चाहें तो डेस्कटॉप संस्करण स्थापित कर सकते हैं।

मैं यह मानने जा रहा हूं कि आप पहले से ही जानते हैं कि रास्पियन कैसे स्थापित करें। यदि आपको सहायता की आवश्यकता है, तो आप यहां रास्पबेरी पाई फाउंडेशन की मार्गदर्शिका पा सकते हैं।

एक बार जब आप रास्पियन ऊपर और चल रहे हों, तो लॉगिन करें और रास्पि-कॉन्फ़िगरेशन प्रोग्राम चलाएं।

pi@raspberrypi:~ $ sudo raspi-config

रास्पि-कॉन्फ़िगरेशन में अपना वाईफाई कनेक्शन सेट करें

चुनते हैं

2 नेटवर्क विकल्प

चुनते हैं

N2 वाई-फाई

एक देश चुनें, अपना एसएसआईडी दर्ज करें, और अपना पासफ़्रेज़ दर्ज करें

रास्पि-कॉन्फ़िगरेशन में एसएसएच सेटअप करें

एक बार जब मैंने प्रारंभिक कॉन्फ़िगरेशन किया, तो मैंने सब कुछ हेडलेस सेट करने के लिए एसएसएच का उपयोग किया। (यदि आप मॉनिटर का उपयोग करते हैं तो आप इसे छोड़ सकते हैं। रोबोट को रोकने और मॉनिटर में प्लग किए बिना कोड में बदलाव करना मेरे लिए आसान था।)

रास्पि-कॉन्फ़िगरेशन मुख्य मेनू पर वापस जाएं

चुनते हैं

5 इंटरफेसिंग विकल्प

चुनते हैं

पी२ एसएसएच

चुनते हैं

हां

रास्पि-कॉन्फ़िगरेशन मुख्य मेनू पर वापस चयन करें

सत्यापित करें कि आप अपने नेटवर्क से जुड़े हैं

पीआई@रास्पबेरीपी:~ $ ifconfig

आपको इसके समान आउटपुट प्राप्त करना चाहिए। (आईपी पते पर ध्यान दें; आपको बाद में इसकी आवश्यकता हो सकती है। उदा.192.168.1.18)

wlan0: झंडे = ४१६३ एमटीयू १५००

inet 192.168.1.18 netmask 255.255.255.0 प्रसारण 192.168.1.255 inet6 fe80::c74f:42ec:8cd3:2fda प्रीफिक्सलेन 64 स्कोपिड 0x20 ईथर b8:27:eb:6a:a4:95 txqueuelen 1000 (ईथरनेट) RX पैकेट 44396 बाइट्स 5847726 (5.5 MiB) RX त्रुटियाँ 0 गिरा 0 ओवररन 0 फ्रेम 0 TX पैकेट 30530 बाइट्स 39740576 (37.8 MiB) TX त्रुटियाँ 0 गिरा 0 ओवररन 0 कैरियर 0 टकराव 0

सत्यापित करें कि आप इंटरनेट तक पहुंच सकते हैं।

pi@raspberrypi:~ $ पिंग google.com

आपको इसके समान आउटपुट प्राप्त करना चाहिए।

पिंग google.com (२१६.५८.१९४.११०) ५६ (८४) डेटा के बाइट्स।

dfw06s48-in-f14.1e100.net (216.58.194.110) से 64 बाइट्स: icmp_seq=1 ttl=54 time=18.2 ms 64 बाइट्स dfw06s48-in-f14.1e100.net (216.58.194.110) से: icmp_seq=2 ttl =54 समय=19.4 एमएस 64 बाइट्स dfw06s48-in-f14.1e100.net (216.58.194.110) से: icmp_seq=3 ttl=54 समय=23.6 एमएस 64 बाइट्स dfw06s48-in-f14.1e100.net से (216.58.194.110)): icmp_seq=4 ttl=54 time=30.2 ms ^C --- google.com पिंग आँकड़े --- 4 पैकेट प्रेषित, 4 प्राप्त, 0% पैकेट हानि, समय 3004ms rtt min/avg/max/mdev = 18.209/ 22.901/30.267/4.715 एमएस

एक स्टेटिक आईपी सेटअप करें

अपने नेटवर्क पर समान पते का उपयोग करके अपने रोबोट से लगातार कनेक्ट होने में सक्षम होने के लिए, आप एक स्थिर आईपी सेट करना चाहेंगे।

अपना वर्तमान नेटवर्क पता प्राप्त करें जैसे 192.168.1.18

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

टेक्स्ट एडिटर में dhcp.conf खोलें। (मैं नैनो का उपयोग करता हूं)

pi@raspberrypi:~ $ sudo nano /etc/dhcpcd.conf

#Example स्थिर IP कॉन्फ़िगरेशन तक स्क्रॉल करें और निम्न पंक्तियों को बदलें।

#इंटरफ़ेस eth0

#स्थिर ip_address=192.168.11.13 #स्थिर राउटर=192.168.11.1 #स्थिर डोमेन_नाम_सर्वर=192.168.11.1 8.8.8.8

अपने नेटवर्क से मेल खाने के लिए बदलें और प्रत्येक पंक्ति की शुरुआत में # हटा दें।

उदाहरण:

इंटरफ़ेस wlan0

स्थिर ip_address=192.168.1.18 स्थिर राउटर=192.168.1.1 स्थिर डोमेन_नाम_सर्वर=192.168.1.1 8.8.8.8

सुरषित और बहार।

रीबूट करें और SSH. के माध्यम से पाई से कनेक्ट करें

पीआई@रास्पबेरीपी:~ $ सूडो रिबूट

SSH का उपयोग करके दूसरे कंप्यूटर से कनेक्ट करें। विंडोज उपयोगकर्ता लिनक्स (विंडोज 10) के लिए पुटी या विंडोज सबसिस्टम का उपयोग कर सकते हैं।

इयान@कंप्यूटर:~$ एसएसएच पीआई@192.168.1.18

अपना पासवर्ड दर्ज करें (डिफ़ॉल्ट रास्पबेरी है)।

[email protected] का पासवर्ड:

अब आपको अपने Pi के कमांड प्रॉम्प्ट पर होना चाहिए।

पाई@रास्पबेरीपी:~$

चरण 2: मोशन को स्थापित और कॉन्फ़िगर करें

मोशन स्थापित और कॉन्फ़िगर करें
मोशन स्थापित और कॉन्फ़िगर करें

मोशन एक प्रोग्राम है जिसका उपयोग बहुत सारे सुरक्षा कैमरा / वेब कैमरा परियोजनाओं में किया जाता है। मोशन में बहुत सारी विशेषताएं हैं। हालांकि, हम इसे वेबकैम से पोर्ट 8081 पर वीडियो स्ट्रीम करने के लिए सेट अप कर रहे हैं।

अपने वेबकैम का परीक्षण करें

अपने वेबकैम में प्लग इन करें और कनेक्टेड यूएसबी डिवाइस सूचीबद्ध करें (कनेक्ट करने के बाद आपको रीबूट करने की आवश्यकता हो सकती है)।

पाई@रास्पबेरीपी:~ $ lsusb

आपको इसके समान आउटपुट मिलना चाहिए। लॉजिटेक C210 पर ध्यान दें।

बस 001 डिवाइस 002: आईडी 046d:0819 लॉजिटेक, इंक। वेब कैमरा C210

बस 001 डिवाइस 001: आईडी 1d6b: 0002 लिनक्स फाउंडेशन 2.0 रूट हब

यदि आपका कैमरा दिखाई नहीं देता है, तो यह संगत नहीं हो सकता है या आपको अतिरिक्त ड्राइवर स्थापित करने की आवश्यकता हो सकती है।

मोशन स्थापित करें

पैकेज अपडेट करें।

pi@raspberrypi:~ $ sudo apt-get update

मोशन स्थापित करें।

pi@raspberrypi:~ $ sudo apt-get install speed -y

एक बार मोशन इंस्टॉल हो जाने के बाद कॉन्फिग फाइल को एडिट करें।

pi@raspberrypi:~ $ sudo nano /etc/motion/motion.conf

नीचे दी गई पंक्तियों को मिलान करने के लिए बदलें।

डेमॉन ऑन

चौड़ाई 640 ऊंचाई 480 फ्रैमरेट 100 आउटपुट_चित्र बंद ffmpeg_output_movies टेक्स्ट_राइट स्ट्रीम_पोर्ट 8081 स्ट्रीम_क्वालिटी 100 स्ट्रीम_लोकलहोस्ट ऑफ वेबकंट्रोल_लोकलहोस्ट बंद

बूट पर मोशन डेमॉन शुरू करें

/etc/default/motion फ़ाइल खोलें।

pi@raspberrypi:~ $ sudo nano /etc/default/motion

में बदलो

start_motion_daemon=हाँ

फ़ाइल सहेजें और बाहर निकलें

रीबूट

पीआई@रास्पबेरीपी:~ $ सूडो रिबूट

पाई के रिबूट होने के बाद ब्राउज़र खोलें और सत्यापित करें कि आपके पास पोर्ट 8081. पर ब्राउज़र में वीडियो स्ट्रीमिंग है

उदाहरण:

192.168.1.18:8081

मोशन डेमॉन का समस्या निवारण

जब मैं Motion.conf फ़ाइल में विभिन्न विकल्पों को आज़मा रहा था, तब मुझे गति डेमॉन को बूट पर शुरू करने में समस्या हो रही थी।

यदि आप रास्पियन स्ट्रेच में गति डेमॉन से पहले गति शुरू करते हैं, तो संभवतः आप इसे बाद में बूट पर शुरू करने के मुद्दों में भाग लेंगे। डिमन को कॉन्फ़िगर किए बिना "सुडो मोशन" चलाना पहले उपयोगकर्ता को लिखित अनुमति दिए बिना निर्देशिका /var/log/motion बनाता है।

चरण 3: अपाचे और सेटअप वेब नियंत्रण पृष्ठ स्थापित करें

अपाचे और सेटअप वेब नियंत्रण पृष्ठ स्थापित करें
अपाचे और सेटअप वेब नियंत्रण पृष्ठ स्थापित करें

अपाचे रोबोट के नियंत्रण वेब पेज के लिए वेब सर्वर है। हम डिफ़ॉल्ट Apache index.html फ़ाइल को github से डाउनलोड की गई फ़ाइल से बदलने जा रहे हैं। आप मोशन वीडियो स्ट्रीम को प्रदर्शित करने के लिए कोड की कुछ पंक्तियों को भी बदलेंगे और रोबोट को नियंत्रित करने के लिए कमांड भेजने के लिए असाइन करेंगे।

अपाचे और गिट स्थापित करें

pi@raspberrypi:~ $ sudo apt-get install apache2 git -y

एक बार apache और git इंस्टॉल हो जाने के बाद फाइलें डाउनलोड करें।

pi@raspberrypi:~ $ git क्लोन

रूमबारोबोट निर्देशिका खोलें।

pi@raspberrypi:~ $ cd roombarobot

/var/www/html फ़ोल्डर में index.html फ़ाइल को /home/pi/roombarobot में index.html फ़ाइल से बदलें

pi@raspberrypi:~/roombarobot $ sudo cp index.html /var/www/html

index.html फ़ाइल संपादित करें

टेक्स्ट संपादक के साथ index.html फ़ाइल खोलें।

pi@raspberrypi:~/roombarobot $ sudo nano /var/www/html/index.html

इन दो पंक्तियों का पता लगाएँ

वर होस्ट = "डब्ल्यूएस://YourIPADDRESS:9093/ws";

"YourIPADDRESS" को चरण 1 में आपके द्वारा सेट किए गए स्थिर IP पते में बदलें और फ़ाइल को सहेजें।

उदाहरण:

वर होस्ट = "ws://192.168.1.18:9093/ws";

दूसरे कंप्यूटर पर, एक ब्राउज़र खोलें और अपने पाई का आईपी पता दर्ज करें। आपको नियंत्रण वेब पेज को बाईं ओर एक बॉक्स के साथ देखना चाहिए, अपने वेबकैम से वीडियो स्ट्रीमिंग और दाईं ओर वेब नियंत्रण बटन देखना चाहिए।

चरण 4: कोड को सेटअप और परीक्षण करें

कोड को सेटअप और टेस्ट करें
कोड को सेटअप और टेस्ट करें

यह कोड अजगर में लिखा गया है और इसके लिए बवंडर पुस्तकालय की आवश्यकता है। कोड 9093 पोर्ट पर वेबसोकेट के माध्यम से नियंत्रण वेब पेज से कमांड सुनने के लिए सर्वर सेट करने के लिए लाइब्रेरी का उपयोग करता है।

पीआईपी और टॉरनेडो लाइब्रेरी स्थापित करें

पाइप स्थापित करें

pi@raspberrypi:~ $ sudo apt-get install python-pip

बवंडर पुस्तकालय स्थापित करें

pi@raspberrypi:~ $ sudo pip install tornado

रूमबाबोट प्रोग्राम शुरू करें और कनेक्शन का परीक्षण करें

Roombabot.py प्रोग्राम शुरू करें

pi@raspberrypi:~$ sudo python /home/pi/roombarobot/roombabot.py

एक बार चलने के बाद, आपको टर्मिनल में "रेडी" देखना चाहिए। ब्राउज़र में कंट्रोल वेब पेज खोलें और कनेक्ट पर क्लिक करें। फिर पृष्ठ पर किसी भी दिशात्मक बटन पर क्लिक करें। आप अपने कीबोर्ड पर भी तीर कुंजियों का उपयोग कर सकते हैं।

आपको टर्मिनल में इसी तरह का आउटपुट देखना चाहिए।

तैयार

कनेक्शन खोला गया… कनेक्शन खोला गया… प्राप्त किया गया: यू 8 रनिंग फॉरवर्ड कनेक्शन खोला गया … प्राप्त किया गया: एल 6 बाएं मुड़ना कनेक्शन खोला गया … प्राप्त किया गया: डी 2 रिवर्स कनेक्शन खोला गया … प्राप्त किया गया: आर 4 दाएं मुड़ना

प्रोग्राम को रोकने के लिए ctrl+c दबाएं।

एक बार जब आप पाई से बिजली का परीक्षण कर लेते हैं।

pi@raspberrypi:~$ sudo poweroff

कीड़े

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

चरण 5: विधानसभा

सभा
सभा
सभा
सभा
सभा
सभा
सभा
सभा

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

व्हील मॉड्यूल

Roomba के पहिये और मोटर एक साथ हटाने योग्य मॉड्यूल में रखे गए हैं। प्रत्येक मॉड्यूल में एक नीला बाहरी आवास होता है जिसमें मोटर, गियरबॉक्स, पहिया, निलंबन वसंत और इंटरफ़ेस बोर्ड होता है।

इंटरफ़ेस बोर्ड

प्रत्येक इंटरफ़ेस बोर्ड में छह तार चल रहे हैं। दो तार (लाल [+], काला [-]) हैं जो मोटर को घुमाते हैं, एक हॉल इफेक्ट सेंसर के लिए एक डेटा तार, व्हील ड्रॉप स्विच के लिए एक तार, एक 5 वी तार, और सेंसर को बिजली देने के लिए एक जीएनडी तार। इंटरफ़ेस बोर्ड तक पहुँचने के लिए आपको मॉड्यूल को अलग रखना होगा। मैंने सब कुछ वापस मोटर में हटा दिया और मोटर में नए [+] और [-] तारों को मिलाया (फोटो देखें)। यह आप पर निर्भर करता है कि आप सेंसर को सुरक्षित रखना चाहते हैं या नहीं।

सस्पेंशन स्प्रिंग्स

एक बार जब आप वैक्यूम वाले हिस्से को हटा देते हैं, तो Roomba का वज़न कम हो जाता है। यदि आप स्प्रिंग्स को नहीं हटाते हैं तो Roomba एक कोण पर बैठेगा। मैंने मूल रूप से इन्हें हटा दिया था, लेकिन फिर उन्हें वापस जोड़ दिया जब मैंने पाया कि यह कालीन पर लुढ़कने के लिए संघर्ष कर रहा था। वसंत को वापस लाने से समस्या ठीक हो गई।

मोटर नियंत्रक को मोटरों को तार देना

मोटर्स एक दूसरे से दूर का सामना कर रहे हैं। इसका मतलब है कि रूंबा को आगे की दिशा में चलाने के लिए, एक मोटर को आगे की ओर घूमना होगा जबकि दूसरे को पीछे की ओर घूमना होगा। जब तक मैंने सब कुछ तार-तार कर दिया, तब तक मैंने इस बारे में ज्यादा नहीं सोचा। मैंने शुरू में मोटरों को कैसे तार-तार किया था, इसके बारे में कोड लिखना समाप्त कर दिया। यह एक सुखद दुर्घटना थी क्योंकि जब भी रास्पबेरी पाई चालू/बंद होती है, तो जीपीआईओ पिन में वोल्टेज आउटपुट होता है। जिस तरह से मेरे पास चीजें हैं, रूमबा तब तक घूमती है जब तक रास्पबेरी पाई बूट नहीं हो जाती (लगभग तीस सेकंड) और जब तक बिजली हटा दी जाती है तब तक बंद हो जाती है। यदि अलग तरीके से तार दिया जाता है, तो यह संभावित रूप से आगे/पीछे लुढ़क जाएगा जो परेशान करने वाला होगा। मैं अंततः मोटर नियंत्रक के लिए एक साधारण स्विच के साथ इसे ठीक करने की योजना बना रहा हूं।

मोटर नियंत्रक को मोटर्स और बैटरी को तार देना

पावर- - - - - - - - - - - - - - - - 12 वी [+]- - - - - - - - - - - - - - रूमबा बैटरी [+]

मोटर 2- - - - - - - - - - - - - - - काला- - - - - - - - - - - - - - - बाएं मोटर [-] मोटर 2- - - - - - - - - - - - - - - लाल - - - - - - - - - - - - - - - - बाएं मोटर [+] मोटर 1- - - - - - - - - - - - - - - काला- - - - - - - - - - - - - - राइट मोटर[-] मोटर 1- - - - - - - - - - - - - - - - लाल- - - - - - - - - - - - - - - - राइट मोटर[+] जीएनडी- - - - - - - - - - - - - - - - - 12 वी [-]- - - - - - - - - - - - - रूमबा बैटरी [-]

रास्पबेरी पाई के लिए मोटर नियंत्रक को तार करना

मोटर नियंत्रक पिन तार का रंग (तस्वीरें देखें) रास्पबेरी पाई पिन

जीएनडी- - - - - - - - - - - - - - - - ब्लैक- - - - - - - - - - - - - - -जीएनडी पीडब्लूएम 2- - - - - - - - - - - - - - - - - नीला - - - - - - - - - - - - - जीपीआईओ 18 डीआईआर 2- - - - - - - - - - - - - - - - हरा - - - - - - - - - - - - - -जीपीआईओ 23 पीडब्लूएम 1- - - - - - - - - - - - - - - - पीला - - - - - - - - - - - - जीपीआईओ 24 डीआईआर 1- - - - - - - - - - - - - - - - नारंगी - - - - - - - - - - - - - जीपीआईओ 25 5वी - - - - - - - - - - - - - - - - - लाल - - - - - -5 वी

इलेक्ट्रॉनिक्स को माउंट करना

सब कुछ एक साथ रखने में बहुत कुछ नहीं है। मैंने रूमबा को उसकी चेसिस से नीचे उतार दिया। कवर को हटाकर, आप मौजूदा प्लास्टिक स्टैंडऑफ को आसानी से बंद कर सकते हैं और इलेक्ट्रॉनिक्स को माउंट करने के लिए छेद ड्रिल कर सकते हैं। मोटर्स से केबल चलाने के लिए मौजूदा पोर्ट हैं। यदि आप स्टॉक रूमबा बैटरी का उपयोग कर रहे हैं, तो बैटरी टर्मिनलों तक पहुंच के लिए पहले से ही एक कटआउट है।

बैटरियों

मैंने रास्पबेरी पाई और मोटर नियंत्रक के लिए अलग-अलग बैटरी का इस्तेमाल किया। पाई की बैटरी सिर्फ 5V बैटरी पैक है जिसका उपयोग सेलफोन को बढ़ावा देने के लिए किया जाता है। मोटर नियंत्रक के लिए मैंने मूल रूमबा बैटरी का उपयोग किया जो इसके साथ आई थी। बैटरी टर्मिनलों को लेबल नहीं किया गया है, इसलिए इससे पहले कि आप इसे मोटर नियंत्रक तक तार दें, वोल्टमीटर के साथ वोल्टेज की जांच करना सबसे अच्छा है। रूंबा बैटरी से तारों को जोड़ने के लिए, मैंने चार नियोडिमियम मैग्नेट (फोटो देखें) का उपयोग किया। मैंने दो चुम्बकों को तारों में मिलाया और अन्य दो को मैं बैटरी टर्मिनलों से चिपका दिया। सोल्डरिंग मैग्नेट को डीमैग्नेटाइज करता है। हालांकि, बाहर की कोटिंग अभी भी टर्मिनलों पर चुंबक से जुड़ी हो सकती है और बिजली का संचालन कर सकती है। यह बैटरी को केक का एक टुकड़ा जोड़ने और डिस्कनेक्ट करने का काम करता है।

परिक्षण

एक बार जब आपके पास सब कुछ एक साथ हो जाए, तो सत्यापित करें कि आपने सब कुछ सही ढंग से तार-तार कर दिया है, अपने रोबोट को किसी चीज़ पर आगे बढ़ाएँ (ताकि यह लुढ़क न जाए), और इसे चालू करें।

लॉग इन करें और Roombabot.py प्रोग्राम शुरू करें

pi@raspberrypi:~$ sudo python /home/pi/roombarobot/roombabot.py

वेब कंट्रोल पेज पर जाएं और इसका परीक्षण करें। यदि सब कुछ सही ढंग से जुड़ा हुआ है, तो पहियों को संबंधित दिशा में घुमाना चाहिए जब बटन क्लिक किए जाते हैं / तीर कुंजी दबाए जाते हैं (कनेक्ट पर क्लिक करना न भूलें)।

चरण 6: बूट / फिनिशिंग अप पर पायथन कोड शुरू करना

बूट/फिनिशिंग अप पर पायथन कोड शुरू करना
बूट/फिनिशिंग अप पर पायथन कोड शुरू करना
बूट/फिनिशिंग अप पर पायथन कोड शुरू करना
बूट/फिनिशिंग अप पर पायथन कोड शुरू करना

आखिरी चीज जो हमें करने की ज़रूरत है वह है रास्पियन को बूट पर पायथन प्रोग्राम शुरू करने के लिए कहें। ऐसा करने के लिए हम स्क्रिप्ट बनाने जा रहे हैं और इसे क्रॉस्टैब का उपयोग करके रिबूट पर चलाने के लिए शेड्यूल करेंगे।

स्क्रिप्ट बनाएं

पीआई उपयोगकर्ता निर्देशिका में startrobot.sh नामक एक नई स्क्रिप्ट फ़ाइल बनाएं

pi@raspberrypi:~ $ sudo nano startrobot.sh

निम्न पंक्तियों को फ़ाइल में कॉपी करें

#!/बिन/श

#startrobot.sh cd / cd /home/pi/roombarobot sudo python roombabot.py cd /

फ़ाइल सहेजें और बाहर निकलें

startrobot.sh फ़ाइल को निष्पादन योग्य बनाएं

pi@raspberrypi:~$ sudo chmod 755 startrobot.sh

इसका परीक्षण करें (रोकने के लिए ctrl + c दबाएं)

pi@raspberrypi:~$ श startrobot.sh

क्रोंटैब फ़ाइल संपादित करें

pi@raspberrypi:~$ sudo crontab -e

फ़ाइल के नीचे निम्न पंक्ति जोड़ें

# एम एच डोम मोन डॉव कमांड

@reboot sh /home/pi/startrobot.sh

सुरषित और बहार

Roombabot.py प्रोग्राम अब तब शुरू होना चाहिए जब पाई रिबूट हो या पावर साइकल हो।

पूरी तरह खत्म करना

इस बिंदु पर आपके पास एक कार्यात्मक रोबोट होना चाहिए जिसे आप अपने नेटवर्क पर किसी भी डिवाइस से ब्राउज़र का उपयोग करके नियंत्रित कर सकते हैं। जब मैं घर से दूर होता हूं तो रोबोट तक पहुंचने में सक्षम होने के लिए मूल निर्माण और वीपीएन सेटअप के बाद से मैंने इसे थोड़ा आगे ले लिया है। मैं भविष्य में कुछ अतिरिक्त बदलाव करने का इरादा रखता हूं। मैं इसे स्वायत्त बनाने की योजना बना रहा हूं और जब भी मैं चाहता हूं तब भी नियंत्रण लेने में सक्षम होने के दौरान आंदोलन का पालन करना संभव है।

सिफारिश की: