Satura rādītājs:
- 1. darbība: robotu elektronika
- 2. solis: Pi iestatīšana
- 3. darbība. Kameras sagatavošana darbam
- 4. solis: programmatūras instalēšana
- 5. solis: kontrolieris
- 6. darbība: Robota kods
- 7. darbība: kontroliera kods
- 8. darbība: Raspberry SPy palaišana
Video: Raspberry SPy robots: 8 soļi (ar attēliem)
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:58
Šis projekts ļauj vadīt robotu, izmantojot tīmekļa lapu, un skatīt tiešraidi. To var izmantot, lai izspiegotu mājdzīvniekus, pārliecinieties, ka krāsnī nekas nedeg, un pat putnu vērošanu! DFRobot nodrošināja Raspberry Pi 3 un Raspberry Pi kameras moduli.
1. darbība: robotu elektronika
Sākumā es samontēju 2WD MiniQ šasijas komplektu no DFRobot. Es slīdēju riteņus uz motora vārpstām, pēc tam ievietoju tos iekavās un piestiprināju pie šasijas. Visbeidzot, es pievienoju metāla balstus. Tagad bija pienācis laiks izveidot galveno plati. L293d motora draiveris tika pielodēts kopā ar vadiem, kas ved uz Raspberry Pi GPIO tapām. Tālāk es lodēju akumulatora savienotāju, jo tas nodrošinās galveno jaudu. Pēc barošanas avota pievienošanas es uzstādīju 5V regulatoru.
2. solis: Pi iestatīšana
DFRobot sazinājās ar mani un nosūtīja savu Raspberry Pi 3 un Raspberry Pi kameras moduli. Tāpēc pēc kastīšu atvēršanas es varēju sākt darbu, iestatot SD karti. Vispirms es devos uz Raspberry Pi lejupielādes lapu un lejupielādēju jaunāko Raspbian versiju. Pēc tam es izvilku failu un ievietoju ērtā direktorijā. Jūs nevarat vienkārši kopēt/ielīmēt.img failu SD kartē, tas ir "jāsadedzina" kartē. Jūs varat lejupielādēt dedzinošu utilītu, piemēram, Etcher.io, lai viegli pārsūtītu OS attēlu. Pēc tam, kad.img fails bija manā SD kartē, es ievietoju to Raspberry Pi un iedevu tai jaudu. Pēc apmēram 50 sekundēm es atvienoju vadu un izņemu SD karti. Tālāk es ievietoju SD karti atpakaļ savā datorā un devos uz sāknēšanas direktoriju. Es atvēru piezīmju grāmatiņu un saglabāju to kā tukšu failu ar nosaukumu "ssh" bez paplašinājuma. Bija arī mans pievienots fails ar nosaukumu "wpa_supplicant.conf" un ievietoju tajā šo tekstu:
tīkls = {ssid = psk =}
Tad es saglabāju un izstumju karti un ievietoju to atpakaļ Raspberry Pi 3. Tam tagad vajadzētu ļaut izmantot SSH un izveidot savienojumu ar WiFi.
3. darbība. Kameras sagatavošana darbam
Pēc noklusējuma kamera ir atspējota Pi, tāpēc, lai atvērtu izvēlni, jums ir jāatver termināļa tips sudo raspi-config. Dodieties uz "saskarnes opcijas" un pēc tam iespējojiet kameru. Tagad vienkārši izvēlieties "Pabeigt" un ievietojiet kameras moduļa lentes kabeli pareizajā Pi apgabalā.
4. solis: programmatūras instalēšana
Ir vairākas dažādas programmatūras, kas var straumēt video, piemēram, vlc un kustība, bet es nolēmu izmantot mjpeg-streamer, jo tam ir zems latentums un ērta uzstādīšana. Saskaņā ar norādījumiem vietnē izveidojiet mapē git klonu https://github.com/jacksonliam/mjpg-streamer.git, pēc tam ierakstiet sudo apt-get install cmake libjpeg8-dev, lai instalētu nepieciešamās bibliotēkas. Mainiet direktoriju lejupielādētajā mapē un pēc tam ierakstiet make, kam seko sudo make install, lai apkopotu programmatūru. Visbeidzot ievadiet eksportu LD_LIBRARY_PATH =. un, lai to palaistu, ierakstiet./mjpg_streamer -o "output_http.so -w./www" -i "input_raspicam.so" Straumei varat piekļūt, dodoties uz https://: 8080/stream.html, lai skatītu straumi.
5. solis: kontrolieris
Tad nāca daļa, kā kontrolēt Raspberry Pi, izmantojot WiFi, jo Bluetooth ir pārāk mazs diapazons. Es nolēmu datu nosūtīšanai izmantot kolbu serveri, kas darbojas ar Raspberry PI, un ESP8266 ESP12E moduli. ESP8266 ir tikai viena analogā ieeja, kas nozīmē, ka es nevarēju tieši izmantot kursorsviru, jo ir nepieciešamas divas analogās ieejas. Labākais risinājums bija ADS1115, kas ir I2C ierīce, kas nolasa analogos signālus ar 16 bitu izšķirtspēju. Es vienkārši savienoju SDA ar 4 un SCL ar 5, kā arī VCC un GND. Kursorsviras X ass savienojas ar A0 ADS1115, un Y ass savienojas ar A1. BET, es nejauši sadedzināju ADS1115, tāpēc man bija jāizmanto nākamā labākā lieta: pogas! Tagad mans iestatījums ir ESP8266 Sparkfun Thing Dev Board ar 3 pogām- uz priekšu, pa labi un pa kreisi. Tagad, kad tiek nospiests, tas nosūta datus, lai pagrieztu riteņus šajā virzienā.
6. darbība: Robota kods
Es izveidoju iepriekšēju projektu, kurā izmantoju Pi GPIO PWM bibliotēku, lai vadītu motorus, izmantojot json, tāpēc es vienkārši no jauna izveidoju kodu, lai pieņemtu datus, izmantojot lietotni Kolba. Kolba ir Python bibliotēka, kas būtībā pārvērš jūsu Pi par tīmekļa serveri, kas spēj nosūtīt un saņemt datus. Izmantojot PWM, motorus var vadīt ar lielāku precizitāti, salīdzinot ar tvertnes piedziņu. Tas arī nozīmē, ka robots var braukt ar mainīgu ātrumu, nevis fiksētu. Mana kolbas lietotne ir konfigurēta, lai mainītu motoru PWM, tiklīdz tā saņem datus no GET pieprasījuma, izmantojot http no ESP12e. Tas arī izmanto apakšprocesu. Atvērtā bibliotēka, lai fonā palaistu tīmekļa straumēšanas skriptu. Projekta lapai esmu pievienojis kodu, tāpēc viss, kas nepieciešams, ir lejupielāde.
7. darbība: kontroliera kods
Kods bija diezgan vienkāršs, vienkārši paņemiet nolasījumus no 3 tapām, palaidiet tos cauri dažiem paziņojumiem, lai noteiktu riteņa virzienu, un visbeidzot nosūtiet šīs vērtības Raspberry Pi. ESP8266 plates papildinājums Arduino IDE ir aprīkots ar HTTPClient bibliotēku, kas apstrādā galvenes un datu nosūtīšanu. Flask serverim ir jāsaņem dati, izmantojot POST zvanu, tāpēc kods sāk savienojumu ar Raspberry Pi tīmekļa serveri, pēc tam datiem pievieno galveni, norādot, ka tas ir JSON kodēts, un visbeidzot tas nosūta datus JSON objekta veidā. Es pievienoju 40 ms aizkavi, lai novērstu Raspberry Pi datu pārslodzi.
8. darbība: Raspberry SPy palaišana
Nepieciešams tikai ierakstīt sudo python.py! Jums vajadzētu redzēt, ka kamera iedegas, un, pārejot uz pi tīmekļa adresi ar portu 8080, straumei jābūt redzamai. Tagad jūs varat izmantot kontrolieri jebkurā vietā mājā un iegūt tiešraidi.
Ieteicams:
Arduino - Labirinta risināšanas robots (MicroMouse) Sienas robots: 6 soļi (ar attēliem)
Arduino | Labirinta risināšanas robots (MicroMouse) Sienas sekojošais robots: Laipni lūdzam, es esmu Īzāks, un šis ir mans pirmais robots "Striker v1.0". Šis robots tika izstrādāts, lai atrisinātu vienkāršu labirintu. Sacensībās mums bija divi labirinti un robots spēja tos identificēt. Jebkuras citas izmaiņas labirintā var prasīt izmaiņas
[DIY] Zirnekļa robots (četrkāršais robots, četrkājains): 14 soļi (ar attēliem)
[DIY] Zirnekļa robots (četrkāršais robots, četrkājains): ja jums ir nepieciešams papildu atbalsts no manis, labāk būs ziedot man piemērotu ziedojumu: http: //paypal.me/RegisHsu2019-10-10 atjauninājums: jaunais kompilators radīs peldošā skaitļa aprēķināšanas problēmu. Esmu jau modificējis kodu. 2017-03-26
Miskastē iebūvēts BT līniju zīmēšanas robots - mans robots: 13 soļi (ar attēliem)
Trash Built BT Line Drawing Bot - My Bot: Hai draugi pēc ilgas pārtraukuma apmēram 6 mēnešus šeit es nāku ar jaunu projektu. Līdz Cute Drawing Buddy V1 pabeigšanai SCARA Robot - Arduino i plāno citu zīmēšanas robotu, galvenais mērķis ir aizņemt lielu vietu zīmēšanai. Tātad fiksētas robotu rokas c
Līdzsvarojošais robots / 3 riteņu robots / STEM robots: 8 soļi
Līdzsvarojošais robots / trīs riteņu robots / STEM robots: mēs esam izveidojuši kombinētu balansēšanas un trīsriteņu robotu, kas paredzēts lietošanai skolās un pēc skolas izglītības programmās. Robota pamatā ir Arduino Uno, pielāgots vairogs (visas konstrukcijas detaļas ir iekļautas), litija jonu akumulators (viss atbilst
Sviesta robots: Arduino robots ar eksistenciālu krīzi: 6 soļi (ar attēliem)
Sviesta robots: Arduino robots ar eksistenciālu krīzi: šī projekta pamatā ir animācijas sērija "Riks un Mortijs". Vienā no epizodēm Riks izgatavo robotu, kura vienīgais mērķis ir atnest sviestu. Kā studentiem no Bruface (Briseles Inženieru fakultāte) mums ir uzdevums mecha