Სარჩევი:

ბრაუზერით კონტროლირებადი Roomba Robot Raspberry Pi Model 3 A+: 6 ნაბიჯი (სურათებით)
ბრაუზერით კონტროლირებადი Roomba Robot Raspberry Pi Model 3 A+: 6 ნაბიჯი (სურათებით)

ვიდეო: ბრაუზერით კონტროლირებადი Roomba Robot Raspberry Pi Model 3 A+: 6 ნაბიჯი (სურათებით)

ვიდეო: ბრაუზერით კონტროლირებადი Roomba Robot Raspberry Pi Model 3 A+: 6 ნაბიჯი (სურათებით)
ვიდეო: Why is Starship still getting damaged by a static fire? 2024, ნოემბერი
Anonim
ბრაუზერით კონტროლირებადი Roomba Robot Raspberry Pi Model 3 A+
ბრაუზერით კონტროლირებადი Roomba Robot Raspberry Pi Model 3 A+
ბრაუზერით კონტროლირებადი Roomba Robot Raspberry Pi Model 3 A+
ბრაუზერით კონტროლირებადი Roomba Robot Raspberry Pi Model 3 A+

მიმოხილვა

ეს ინსტრუქცია ყურადღებას გაამახვილებს იმაზე, თუ როგორ უნდა მივცეთ გარდაცვლილ რუმბას ახალი ტვინი (ჟოლო Pi), თვალები (ვებკამერა) და ვებ - ბრაუზერისგან ყველაფრის კონტროლის გზას.

არსებობს Roomba– ს მრავალი გატეხვა, რომელიც საშუალებას იძლევა გააკონტროლოს სერიული ინტერფეისი. მე არ გამიმართლა, რომ შევხვდე Roomba– ს, რომელსაც გააჩნია მიმდინარე firmware ან სამუშაო დედაპლატა. ან რუმბა ძალიან ძველია ან რუმბა მკვდარია. მე აღმოვაჩინე Roomba, რომელიც ამ პროექტისთვის გამოვიყენე, ადგილობრივ მეურნეობის მაღაზიაში, 5 დოლარად. მას ჯერ კიდევ ჰქონდა ღირსეული ბატარეა, მაგრამ მკვდარი დედაპლატა. (მე ასევე ვიპოვე ვებკამერა იმავე მეურნეობის მაღაზიაში დაახლოებით 5 დოლარად). ერთადერთი რასაც მე ვიყენებ Roomba– სგან არის ძრავები, შასი და ბატარეა. თქვენ არ გჭირდებათ Roomba- ს გამოყენება ამ პროექტისათვის. თუ გსურთ, შეგიძლიათ გამოიყენოთ სხვადასხვა ძრავები, ბორბლები და შასი. მე უბრალოდ მომწონს ნაგვის ნაჭერი რაიმე გამოსაყენებლად.

ამ მშენებლობისთვის მე გამოვიყენე Raspberry Pi Model 3 A+ და Riorand საავტომობილო კონტროლერი. მე ვიყენებ Dexter Industries ბრაუზერის კონტროლირებადი რობოტის კოდს, რომელიც მე შევცვალე. Dexter Industries ვერსია ადგენს Pi- ს, როგორც ვებსაიტის სერვერს, რომელიც საშუალებას გაძლევთ აკონტროლოთ მათი რობოტი (brick pi პლატფორმა) კლიენტის html ფაილიდან, რომელიც მუშაობს სხვა კომპიუტერზე.

მე შევცვალე კოდი GPIO ქინძისთავების გამოყენებით და დავამატე გზა, რომ Pi გამორთულიყო ღილაკზე დაჭერისას / როდესაც ბრაუზერში გაქცევის ღილაკს დააჭერენ. მე ასევე შევიტანე ცვლილებები საკონტროლო ვებგვერდზე, რომელიც საშუალებას გაძლევთ ნახოთ მოძრაობის ნაკადი iframe– ით, ხოლო რობოტი ვაკონტროლოთ ყველა ერთ გვერდზე. მე დავაყენე Pi სტატიკური IP– ით, რათა მასპინძლობდეს კლიენტის ფაილს, რათა შემეძლოს დაკავშირება ნებისმიერი ქსელის კომპიუტერის ან მოწყობილობის გამოყენებით.

მე ვაფიქსირებ აქ პროცესს იმ იმედით, რომ ვაჩვენებ როგორ შევქმნათ მარტივი, იაფი ბაზის რობოტი.

ნაწილები მეორადი

ჟოლო Pi 3 A+ (Adafruit Link) $ 30

Riorand Dual Motor Driver Controller H-Bridge (Amazon Link) 22 დოლარი

12 ვ ბატარეა ძრავებისათვის (Amazon Link) $ 19

5V ბატარეა Raspberry Pi- სთვის (Amazon Link) $ 10

8 GB Micro SD ბარათი (Amazon Link) $ 5

Jumper Wires (Amazon Link) 7 $

Roomba 500 სერია

.ყველა ერთად 100 დოლარზე ნაკლები.

ნაბიჯი 1: დააინსტალირეთ Raspbian და დააყენეთ სტატიკური IP მისამართი

დააინსტალირეთ Raspbian და დააყენეთ სტატიკური IP მისამართი
დააინსტალირეთ Raspbian და დააყენეთ სტატიკური IP მისამართი

მე გამოვიყენე Raspbian Stretch Lite. მე ვერ ვხედავ დესკტოპის საჭიროებას, მაგრამ თქვენ შეგიძლიათ დააინსტალიროთ დესკტოპის ვერსია, თუ გსურთ.

მე ვივარაუდებ, რომ თქვენ უკვე იცით როგორ დააინსტალიროთ Raspbian. თუ გჭირდებათ დახმარება, შეგიძლიათ იპოვოთ Raspberry Pi Foundation– ის სახელმძღვანელო აქ.

მას შემდეგ რაც Raspbian ამოქმედდება, შედით სისტემაში და გაუშვით raspi-config პროგრამა.

pi@raspberrypi: su $ sudo raspi-config

დააყენეთ თქვენი WiFi კავშირი raspi-config– ში

აირჩიეთ

2 ქსელის პარამეტრები

აირჩიეთ

N2 Wi-Fi

აირჩიეთ ქვეყანა, შეიყვანეთ თქვენი SSID და შეიყვანეთ თქვენი პაროლი

SSH- ის დაყენება raspi-config- ში

მას შემდეგ რაც პირველადი კონფიგურაცია გავაკეთე, გამოვიყენე SSH, რომ ყველაფერი დამეყენებინა უსათაუროდ. (თქვენ შეგიძლიათ გამოტოვოთ ეს თუ იყენებთ მონიტორს. ჩემთვის ადვილი იყო კოდში ცვლილებების შეტანა რობოტის გაჩერების და მონიტორში ჩართვის გარეშე.)

დაბრუნდით raspi-config მთავარ მენიუში

აირჩიეთ

5 ინტერფეისის პარამეტრები

აირჩიეთ

P2 SSH

აირჩიეთ

დიახ

დაბრუნდით raspi-config მთავარ მენიუში, აირჩიეთ

დარწმუნდით, რომ თქვენს ქსელთან ხართ დაკავშირებული

pi@raspberrypi: if $ ifconfig

თქვენ უნდა მიიღოთ მსგავსი გამომავალი. (გაითვალისწინეთ IP მისამართი; შეიძლება დაგჭირდეთ მოგვიანებით. მაგ. 192.168.1.18)

wlan0: დროშები = 4163 mtu 1500

inet 192.168.1.18 netmask 255.255.255.0 მაუწყებლობა 192.168.1.255 inet6 fe80:: c74f: 42ec: 8cd3: 2fda prefixlen 64 ფარგლები 0x20 ეთერი b8: 27: eb: 6a: a4: 95 txqueuelen 1000 (Ethernet) RX პაკეტები 44396 ბაიტი 5.5 MiB) RX შეცდომები 0 დაეცა 0 გადააჭარბა 0 ჩარჩო 0 TX პაკეტი 30530 ბაიტი 39740576 (37.8 MiB) TX შეცდომები 0 დაეცა 0 გადააჭარბა 0 გადამზიდავი 0 შეჯახება 0

დაადასტურეთ, რომ შეგიძლიათ ინტერნეტთან დაკავშირება.

pi@raspberrypi: ~ $ ping google.com

თქვენ უნდა მიიღოთ მსგავსი გამომავალი.

PING google.com (216.58.194.110) 56 (84) ბაიტი მონაცემები.

64 ბაიტი dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 1 ttl = 54 დრო = 18.2 ms 64 ბაიტი dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 2 ttl = 54 დრო = 19.4 ms 64 ბაიტი dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 3 ttl = 54 დრო = 23.6 ms 64 ბაიტი dfw06s48-in-f14.1e100.net (216.58.194.110): icmp_seq = 4 ttl = 54 დრო = 30.2 ms ^C --- google.com პინგ სტატისტიკა --- გადაცემული 4 პაკეტი, 4 მიღებული, 0% პაკეტის დაკარგვა, დრო 3004ms rtt min/avg/max/mdev = 18.209/ 22.901/30.267/4.715 ms

დააყენეთ სტატიკური IP

იმისათვის, რომ შეძლოთ თანმიმდევრულად დაუკავშირდეთ თქვენს რობოტს იმავე მისამართის გამოყენებით თქვენს ქსელში, თქვენ მოგინდებათ სტატიკური IP- ის დაყენება.

მიიღეთ თქვენი ამჟამინდელი ქსელის მისამართი მაგ.192.168.1.18

მე ვიყენებ მისამართს, რომელიც ავტომატურად იყო მინიჭებული DHCP– ს მიერ, როდესაც Pi უკავშირდებოდა ჩემს ქსელს. თქვენ შეგიძლიათ შეცვალოთ ის, რაც მოგწონთ, სანამ ის შეესაბამება თქვენს ქსელს და არ ეწინააღმდეგება სხვა დანიშნულ მისამართებს.

გახსენით dhcp.conf ტექსტურ რედაქტორში. (მე ვიყენებ ნანოს)

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

გადაახვიეთ ქვემოთ #მაგალითი სტატიკური IP კონფიგურაციისთვის და შეცვალეთ შემდეგი ხაზები.

#ინტერფეისი eth0

#static ip_address = 192.168.11.13 #static routers = 192.168.11.1 #static domain_name_servers = 192.168.11.1 8.8.8.8

შეცვალეთ თქვენი ქსელის შესატყვისი და ამოიღეთ # თითოეული სტრიქონის დასაწყისში.

მაგალითი:

ინტერფეისი wlan0

სტატიკური ip_address = 192.168.1.18 სტატიკური მარშრუტიზატორები = 192.168.1.1 სტატიკური domain_name_servers = 192.168.1.1 8.8.8.8

Შენახვა და გამოსვლა.

გადატვირთეთ და დაუკავშირდით Pi– ს SSH– ის საშუალებით

pi@raspberrypi: su $ sudo გადატვირთვა

დაკავშირება სხვა კომპიუტერიდან SSH გამოყენებით. Windows მომხმარებლებს შეუძლიათ გამოიყენონ PuTTY ან Windows ქვესისტემა Linux– ისთვის (Windows 10).

ian@კომპიუტერი: ~ $ ssh [email protected]

შეიყვანეთ თქვენი პაროლი (ნაგულისხმევი არის ჟოლო).

[email protected] პაროლი:

თქვენ ახლა უნდა იყოთ თქვენი Pi ბრძანების სტრიქონში.

pi@raspberrypi: ~ $

ნაბიჯი 2: დააინსტალირეთ და დააკონფიგურირეთ მოძრაობა

დააინსტალირეთ და დააკონფიგურირეთ მოძრაობა
დააინსტალირეთ და დააკონფიგურირეთ მოძრაობა

Motion არის პროგრამა, რომელიც გამოიყენება უსაფრთხოების კამერის / ვებკამერის უამრავ პროექტში. მოძრაობას აქვს მრავალი მახასიათებელი. თუმცა, ჩვენ ვაყენებთ მას, რომ უბრალოდ გადავიღოთ ვიდეო ვებკამერიდან პორტში 8081.

შეამოწმეთ თქვენი ვებკამერა

შეაერთეთ თქვენი ვებკამერა და მიუთითეთ დაკავშირებული USB მოწყობილობები (დაკავშირების შემდეგ შეიძლება დაგჭირდეთ გადატვირთვა).

pi@raspberrypi: ~ $ lsusb

თქვენ უნდა მიიღოთ მსგავსი გამომავალი. გაითვალისწინეთ Logitech C210.

ავტობუსი 001 მოწყობილობა 002: ID 046d: 0819 Logitech, Inc. ვებკამერა C210

ავტობუსი 001 მოწყობილობა 001: ID 1d6b: 0002 Linux Foundation 2.0 root hub

თუ კამერა არ გამოჩნდება, შეიძლება არ იყოს თავსებადი ან დაგჭირდეთ დამატებითი დრაივერების დაყენება.

დააინსტალირეთ მოძრაობა

განაახლეთ პაკეტები.

pi@raspberrypi: su $ sudo apt-get განახლება

დააინსტალირეთ მოძრაობა.

pi@raspberrypi: su $ sudo apt -get დააინსტალირეთ მოძრაობა -y

მას შემდეგ რაც Motion დაინსტალირდება შეცვალეთ კონფიგურაციის ფაილი.

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

შეცვალეთ შემდეგი ხაზები, რომ შეესაბამებოდეს ქვემოთ.

დემონი ჩართულია

ფართო

დაიწყეთ მოძრაობის დემონი ჩატვირთვისას

გახსენით/etc/default/motion ფაილი.

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

შეცვლა

start_motion_daemon = დიახ

შეინახეთ ფაილი და გამოდით

გადატვირთვა

pi@raspberrypi: su $ sudo გადატვირთვა

Pi- ს გადატვირთვის შემდეგ გახსენით ბრაუზერი და დარწმუნდით, რომ ბრაუზერში გაქვთ ვიდეო ნაკადი 8081 პორტზე

მაგალითი:

192.168.1.18:8081

Motion Daemon– ის პრობლემების მოგვარება

მე პრობლემები შემექმნა მოძრაობის დემონის ჩატვირთვის დაწყებისას, როდესაც მე ვცდილობდი სხვადასხვა ვარიანტს motion.conf ფაილში.

თუ თქვენ დაიწყებთ მოძრაობას Raspian Stretch– ში მოძრაობის დემონამდე, თქვენ ალბათ შეგექმნებათ პრობლემები, რომლითაც ის მოგვიანებით ჩატვირთვისას დაიწყება. "სუდო მოძრაობის" გაშვება დემონის კონფიგურაციის გარეშე, პირველ რიგში ქმნის დირექტორია/var/log/motion მომხმარებელს წერის ნებართვის მინიჭების გარეშე.

ნაბიჯი 3: დააინსტალირეთ Apache და დააყენეთ ვებ კონტროლის გვერდი

დააინსტალირეთ Apache და დააყენეთ ვებ კონტროლის გვერდი
დააინსტალირეთ Apache და დააყენეთ ვებ კონტროლის გვერდი

Apache არის ვებ სერვერი რობოტის კონტროლის ვებ გვერდისათვის. ჩვენ ვაპირებთ შეცვალოთ ნაგულისხმევი Apache index.html ფაილი github– დან გადმოწერილი ფაილით. თქვენ ასევე შეცვლით კოდის რამდენიმე სტრიქონს, რათა აჩვენოთ მოძრაობის ვიდეო ნაკადი და მიანიჭოთ სად გაგზავნოთ ბრძანებები რობოტის გასაკონტროლებლად.

დააინსტალირეთ Apache და Git

pi@raspberrypi: su $ sudo apt -get დააინსტალირეთ apache2 git -y

მას შემდეგ რაც apache და git დაინსტალირდება გადმოწერეთ ფაილები.

pi@raspberrypi: ~ $ git კლონი

გახსენით roombarobot დირექტორია.

pi@raspberrypi: c $ cd roombarobot

შეცვალეთ index.html ფაილი/var/www/html საქაღალდეში index.html ფაილით/home/pi/roombarobot

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

შეცვალეთ index.html ფაილი

გახსენით index.html ფაილი ტექსტური რედაქტორით.

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

იპოვეთ ეს ორი ხაზი

var მასპინძელი = "ws: // YOUURIPADRESS: 9093/ws";

შეცვალეთ "YOURIPADDRESS" სტატიკურ IP მისამართზე, რომელიც დაყენებულია ნაბიჯი 1 -ში და შეინახეთ ფაილი.

მაგალითი:

var მასპინძელი = "ws: //192.168.1.18: 9093/ws";

სხვა კომპიუტერზე გახსენით ბრაუზერი და შეიყვანეთ თქვენი Pi- ს IP მისამართი. თქვენ უნდა ნახოთ საკონტროლო ვებ გვერდი ყუთი მარცხნივ, ნაკადი ვიდეო თქვენი ვებკამერიდან და ვებ კონტროლის ღილაკები მარჯვნივ.

ნაბიჯი 4: დააინსტალირეთ და შეამოწმეთ კოდი

დააინსტალირეთ და შეამოწმეთ კოდი
დააინსტალირეთ და შეამოწმეთ კოდი

ეს კოდი დაწერილია პითონში და მოითხოვს ტორნადოს ბიბლიოთეკას. კოდი იყენებს ბიბლიოთეკას სერვერის დასაყენებლად, რომ მოუსმინოს ბრძანებებს საკონტროლო ვებ გვერდიდან ვებ პორტების საშუალებით 9093 პორტში.

დააინსტალირეთ PIP და Tornado ბიბლიოთეკა

დააინსტალირეთ პიპი

pi@raspberrypi: $ sudo apt-get დააინსტალირეთ python-pip

დააინსტალირეთ ტორნადოს ბიბლიოთეკა

pi@raspberrypi: su $ sudo pip დააინსტალირეთ ტორნადო

დაიწყეთ Roombabot პროგრამა და შეამოწმეთ კავშირი

დაიწყეთ roombabot.py პროგრამა

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

გაშვების შემდეგ, თქვენ უნდა ნახოთ "მზადაა" ტერმინალში. გახსენით საკონტროლო ვებ გვერდი ბრაუზერში და დააწკაპუნეთ დაკავშირებაზე. შემდეგ დააწკაპუნეთ გვერდზე რომელიმე მიმართულების ღილაკზე. თქვენ ასევე შეგიძლიათ გამოიყენოთ ისრის ღილაკები თქვენს კლავიატურაზე.

თქვენ უნდა ნახოთ ტერმინალში მსგავსი გამომავალი.

მზადაა

კავშირი გაიხსნა … კავშირი გაიხსნა … მიიღო: u 8 გაშვებული ნაბიჯი წინ გაიხსნა … მიიღო: ლ 6 მოტრიალდა მარცხენა კავშირი გაიხსნა … მიიღო: დ 2 გაშვებული უკუ კავშირი გაიხსნა … მიიღო: r 4 მოუხვიე მარჯვნივ

დააჭირეთ ctrl+c პროგრამის შესაჩერებლად.

მას შემდეგ რაც დაასრულებთ Pi- ს ენერგიის გამოცდას.

pi@raspberrypi: su $ sudo poweroff

შეცდომები

მე შევამჩნიე პრობლემა საკონტროლო ვებგვერდზე გამორთვის ღილაკთან დაკავშირებით. ხანდახან გამორთვის ღილაკს არაფერი ეშველება როდესაც დააწკაპუნებთ ან შეეხებით. მე ვერ მივხვდი რა იწვევს ამას, მაგრამ არსებობს გამოსავალი. თუ გსურთ რობოტის გამორთვა და გამორთვის ღილაკი არ მუშაობს, გადატვირთეთ გვერდი, დააწკაპუნეთ / შეეხეთ დაკავშირების ღილაკს და შემდეგ დააჭირეთ / შეეხეთ გამორთვის ღილაკს. უნდა გათიშულიყო.

ნაბიჯი 5: შეკრება

შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება
შეკრება

როგორც უკვე აღვნიშნეთ, თქვენ არ გჭირდებათ Roomba- ს გამოყენება ამ პროექტისათვის. ყველაფერი ორი ძრავით, ორი ბორბლით და ჩარჩოთი იმუშავებდა. რუმბა ავიღე და ყველაფერი ამოვიღე, საჭის მოდულების და ბატარეის გარდა.

ბორბლის მოდულები

Roomba– ს ბორბლები და ძრავები მოთავსებულია ერთად მოსახსნელ მოდულში. თითოეულ მოდულს აქვს ლურჯი გარსაცავი, რომელიც შეიცავს ძრავას, გადაცემათა კოლოფს, ბორბალს, სავალი ზამბარას და ინტერფეისის დაფას.

ინტერფეისის დაფა

თითოეულ ინტერფეისის დაფას აქვს ექვსი მავთული. არსებობს ორი მავთული (წითელი [+], შავი [-]), რომლებიც ბრუნავს ძრავას, ერთი მონაცემთა მავთული დარბაზის ეფექტის სენსორისთვის, ერთი მავთული ბორბლის ვარდნის გადამრთველისთვის, ერთი 5V მავთული და ერთი GND მავთული სენსორის გასაძლიერებლად. თქვენ მოგიწევთ მოდულის განცალკევება ინტერფეისის დაფაზე შესასვლელად. მე ყველაფერი ამოვიღე ძრავზე და შევაერთე ახალი [+] და [-] მავთულები ძრავას (იხ. ფოტოები). თქვენზეა დამოკიდებული გსურთ სენსორების შენარჩუნება თუ არა.

შეჩერების ზამბარები

ვაკუუმის ნაწილის ამოღების შემდეგ, რუმბას წონა იკლებს. თუ თქვენ არ ამოიღებთ ზამბარებს, რუმბა კუთხეში იჯდება. მე ეს თავდაპირველად ამოვიღე, მაგრამ შემდეგ დავამატე, როდესაც აღმოვაჩინე, რომ ის იბრძოდა ხალიჩაზე გადახვევისთვის. ზამბარის უკან დაყენებამ პრობლემა გადაჭრა.

ძრავების მიერთება საავტომობილო კონტროლერთან

ძრავები ერთმანეთისგან შორს დგას. ეს ნიშნავს, რომ რუმბას წინსვლის მიზნით, ერთ ძრავას მოუწევს ბრუნვა წინ, ხოლო მეორე უკან. მე ამაზე ბევრი არ მიფიქრია მანამ, სანამ ყველაფერი არ შევაერთე. მე დავამთავრე მხოლოდ კოდის დაწერა იმის შესახებ, თუ როგორ შევაერთე ძრავები თავდაპირველად. ეს იყო უბედური შემთხვევა, რადგან როდესაც Raspberry Pi ჩართულია/გამორთულია, არის ძაბვის გამომუშავება GPIO ქინძისთავებზე. ისე, როგორც მე მაქვს ყველაფერი გაწყობილი, Roomba ტრიალებს მანამ, სანამ Raspberry Pi არ იტვირთება (დაახლოებით ოცდაათი წამი) და ტრიალებს გათიშვისას, სანამ ძალა არ ამოიწურება. სხვაგვარად რომ იყოს შეყვანილი, ის პოტენციურად გადატრიალდებოდა წინ / უკან რაც გამაღიზიანებელი იქნებოდა. მე ვგეგმავ საბოლოოდ ამის გამოსწორებას საავტომობილო კონტროლერის მარტივი გადამრთველით.

ძრავებისა და ბატარეის მიერთება საავტომობილო კონტროლერთან

სიმძლავრე - - - - - - - - - - - - - - - - 12V [+] - - - - - - - - - - - - -რომბას ბატარეა [+]

ძრავა 2- - - - - - - - - - - - - - - - შავი - - - - - - - - - - - - - - მარცხენა ძრავა [-] ძრავა 2- - - - - - - - - - - - - - - წითელი - - - - - - - - - - - - - - - - მარცხენა ძრავა [+] ძრავა 1- - - - - - - - - - - - - - - შავი - - - - - - - - - - - - - - მარჯვენა ძრავა [-] ძრავა 1- - - - - - - - - - - - - - - - წითელი - - - - - - - - - - - - - - მარჯვენა მოტორი [+] GND- - - - - - - - - - - - - - - - - - 12V [-] - - - - - - - - - - - - - -რუმბას ბატარეა [-]

საავტომობილო კონტროლერის გაყვანილობა ჟოლოს პიზე

საავტომობილო კონტროლერის ქინძისთავები მავთულის ფერი (იხილეთ ფოტოები) ჟოლოს Pi ქინძისთავები

GND- - - - - - - - - - - - - - - - - - შავი - - - - - - - - - - - - - GND PWM 2- - - - - - - - - - - - - - - - ლურჯი - - - - - - - - - - - - - - GPIO 18 DIR 2- - - - - - - - - - - - - - - - - - მწვანე - - - - - - - - - - - - -GPIO 23 PWM 1- - - - - - - - - - - - - - - - - ყვითელი - - - - - - - - - - - - - - - GPIO 24 DIR 1- - - - - - - - - - - - - - - - - - ნარინჯისფერი - - - - - - - - - - - - - -GPIO 25 5V - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -5V

ელექტრონიკის დამონტაჟება

არ არის ბევრი რამ, რაც ყველაფერს ერთად ათავსებს. ოთახიდან შაბათი ჩამოვხსენი. საფარის ამოღებით, თქვენ შეგიძლიათ მარტივად გათიშოთ არსებული პლასტიკური ჩამორჩენილები და გაბურღოთ ხვრელები ელექტრონიკის დასაყენებლად. არსებობს პორტები ძრავებიდან კაბელების გასაშვებად. თუ თქვენ იყენებთ საფონდო Roomba ბატარეას, ბატარეის ტერმინალებზე წვდომისთვის უკვე არის გათიშული.

ბატარეები

მე გამოვიყენე ცალკე ბატარეები Raspberry Pi და საავტომობილო კონტროლერისთვის. Pi ბატარეა არის მხოლოდ 5 ვ ბატარეის პაკეტი, რომელიც გამოიყენება მობილური ტელეფონების გასაძლიერებლად. საავტომობილო კონტროლერისთვის მე გამოვიყენე ორიგინალური Roomba ბატარეა, რომელიც მოყვა მას. ბატარეის ტერმინალები არ არის დატანილი, ამიტომ უმჯობესია შეამოწმოთ ძაბვა ვოლტმეტრით, სანამ არ დააკავშირებთ მას ძრავის კონტროლერთან. რუმბას ბატარეაზე მავთულის დასამაგრებლად მე გამოვიყენე ოთხი ნეოდიმი მაგნიტი (იხილეთ ფოტოები). ორი მაგნიტი შევაერთე მავთულხლართებს და დანარჩენი ორი დავამაგრე ბატარეის ტერმინალებზე. შედუღება დემაგნიტიზირებს მაგნიტებს. ამასთან, გარედან დაფარვას კვლავ შეუძლია მიმაგრდეს ტერმინალებზე მაგნიტები და გაატაროს ელექტროენერგია. ეს ხდის ბატარეის დაკავშირებას და გათიშვას ნამცხვრის ნაწილად.

ტესტირება

როდესაც ყველაფერი ერთად გაქვთ, გადაამოწმეთ, რომ ყველაფერი სწორად არის შეკრული, მიამაგრეთ თქვენი რობოტი რაღაცაზე (ისე, რომ არ გააფართოვოს) და ჩართეთ იგი.

შედით სისტემაში და დაიწყეთ roombabot.py პროგრამა

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

გადადით ვებ კონტროლის გვერდზე და გამოსცადეთ იგი. თუ ყველაფერი სწორად არის შეკრული, ბორბლები უნდა ბრუნავდეს შესაბამისი მიმართულებით ღილაკების დაჭერისას / ისრის ღილაკების დაჭერისას (არ დაგავიწყდეთ დააკავშიროთ).

ნაბიჯი 6: პითონის კოდის დაწყება ჩატვირთვისას / დასრულება

პითონის კოდის დაწყება ჩატვირთვისას / დასრულება
პითონის კოდის დაწყება ჩატვირთვისას / დასრულება
პითონის კოდის დაწყება ჩატვირთვისას / დასრულება
პითონის კოდის დაწყება ჩატვირთვისას / დასრულება

ბოლო რაც ჩვენ უნდა გავაკეთოთ არის ვუთხრათ რასპბიანს რომ დაიწყოს პითონის პროგრამა ჩატვირთვისას. ამისათვის ჩვენ ვაპირებთ შევადგინოთ სკრიპტი და დაგეგმოთ მისი გაშვება crontab– ის გამოყენებით.

შექმენით სკრიპტი

შექმენით ახალი სკრიპტის ფაილი სახელწოდებით startrobot.sh pi მომხმარებლის დირექტორიაში

pi@raspberrypi: su $ sudo nano startrobot.sh

დააკოპირეთ შემდეგი ხაზები ფაილში

#!/bin/sh

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

შეინახეთ ფაილი და გამოდით

გახადეთ startrobot.sh ფაილი შესრულებადი

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

გამოსცადეთ (დააჭირეთ ctrl + c შესაჩერებლად)

pi@raspberrypi: ~ $ sh startrobot.sh

შეცვალეთ crontab ფაილი

pi@raspberrypi: ~ $ sudo crontab -e

დაამატეთ შემდეგი ხაზი ფაილის ბოლოში

# m h dom mon dow ბრძანება

@reboot sh /home/pi/startrobot.sh

Შენახვა და გამოსვლა

Roombabot.py პროგრამა ახლა უნდა დაიწყოს, როდესაც Pi გადატვირთულია ან დენის ციკლი ხდება.

დასრულება Up

ამ დროს თქვენ უნდა გქონდეთ ფუნქციური რობოტი, რომლის კონტროლიც შეგიძლიათ ბრაუზერის გამოყენებით თქვენი ქსელის ნებისმიერი მოწყობილობიდან. მე ეს ცოტა წინ წავიწიე VPN– ის თავდაპირველი შექმნისა და დაყენების შემდეგ, რომ რობოტზე წვდომა შემეძლოს სახლიდან შორს ყოფნისას. სამომავლოდ ვგეგმავ დამატებით ცვლილებებს. მე ვგეგმავ, რომ ის ავტონომიური გახადოს და, შესაძლოა, მოძრაობას მივყვე, ხოლო ჯერ კიდევ შემიძლია კონტროლის აღება, როცა მინდა.

გირჩევთ: