Soek Kode

Kursusles 6 van 10: Beheer van GS-motors met behulp van Raspberry Pi Pico 4WD Slimmotorstel

Hierdie les is deel van: Raspberry Pi Pico 4WD Slim Motor

Kursusles 6 van 10: Beheer van GS-motors met behulp van Raspberry Pi Pico 4WD Slimmotorstel

Hierdie projekgids is gebaseer op Les 6 van die Robojax Raspberry Pi Pico Smart Car-kursus. In hierdie sessie sal jy leer hoe om 'n servomotor en 'n ultrasoniese sensor te integreer om 'n intelligente obstruksie-vermydingstelsel vir jou 4WD-motor te skep. In plaas daarvan om bloot te stop wanneer dit 'n voorwerp opspoor, verander hierdie projek jou motor in 'n mini-outonome robot wat aktief sy omgewing skandeer, die duidelikste pad bepaal en om struikelblokke navigeer.

Dit is nie net 'n teoretiese oefening nie; dit is 'n fundamentele projek vir die bou van meer komplekse robotika. Hier is 'n paar praktiese toepassings vir hierdie obstruksie-vermydingslogika:

  • Outonome Verkenningsrobot: Bou 'n robot wat op sy eie deur 'n kamer of doolhof kan navigeer sonder enige afstandbeheer.
  • Slim Stofsuier: Gebruik dieselfde logika om 'n eenvoudige robotstofsuier te skep wat meubels en mure kan vermy terwyl dit 'n vloer skoonmaak.
  • Veiligheidspatrolliebot: Programmeer die motor om 'n omtrek te patrolleer en gebruik die ultrasoniese sensor om onverwagte voorwerpe op te spoor en daaromheen te navigeer.
  • Opvoedkundige Robotika-platform: Gebruik dit as 'n basis om met meer gevorderde padsoekalgoritmes en sensorfusie te eksperimenteer.

Die kernkonsep is om die servomotor te gebruik om die ultrasoniese sensor te roteer, wat as 'n "radar" optree wat die area van links na regs skandeer. Deur afstande teen verskillende hoeke te meet, kan die motor 'n kaart van sy onmiddellike omgewing bou en 'n besluit neem om vorentoe te beweeg, links te draai, of regs te draai om 'n duidelike pad te vind (in video by 02:47).

Hardeware/Komponente

Hierdie projek is gebou rondom die SunFounder Raspberry Pi Pico 4WD Smart Car Kit. Die sleutelkomponente wat in hierdie les gebruik word, is:

  • Raspberry Pi Pico-bord
  • 4WD Smart Car-onderstel met motors
  • Motorbestuurderbord (ingesluit by die kit)
  • Ultrasoniese sensor (HC-SR04-tipe)
  • Servomotor
  • Batterypak

Bedradingsgids

Die video noem dat die kit met volledige dokumentasie, stap-vir-stap-instruksies en bedradingsdiagramme kom. Die bedrading vir die servo en ultrasoniese sensor word tipies aan die motorbestuurderbord gekoppel, wat die verbindings vir die Pico konsolideer.

Verwys asseblief na die diagram hieronder vir die spesifieke penverbindings vir jou kit.

Kodeverduideliking

Die video fokus op die logika binne die obstacle_avoid.py-lêer. Terwyl die volledige kode by die kit beskikbaar is, beklemtoon hierdie les die gebruikerskonfigureerbare parameters wat die motor se gedrag beheer. Dit is die veranderlikes wat jy waarskynlik sal wil aanpas om jou robot se werkverrigting te fynstel.

Boonop by die hoofprogram sal jy die sleutelinstellings vind wat die motor se gedrag definieer (in video by 13:07):

# Obstruksie-vermydinginstellings
RADAR_REFERENCE = 20  # Afstand in cm om 'n obstruksie te oorweeg
STEP_ANGLE = 10       # Grade wat die servo beweeg vir elke skanderingstap
FORWARD_SPEED = 30    # Motorspoed wanneer vorentoe beweeg word
TURN_SPEED = 50       # Motorspoed wanneer gedraai word
FORWARD_SCAN_ANGLE = 50  # Grade vir 'n vinnige vorentoe-skandering
  • RADAR_REFERENCE: Dit is die belangrikste instelling. Dit definieer die minimum veilige afstand in sentimeter. As die ultrasoniese sensor 'n voorwerp nader as hierdie waarde opspoor, beskou die motor dit as 'n "gevaar" en begin die vermydingsroetine (in video by 22:03).
  • STEP_ANGLE: Dit bepaal die resolusie van die radarskandering. 'n Kleiner waarde (bv. 10 grade) maak die skandering meer presies maar stadiger. 'n Groter waarde maak dit vinniger maar minder gedetailleerd.
  • FORWARD_SPEED & TURN_SPEED: Dit is die PWM-waardes (0-100) wat die krag na die motors beheer. Jy kan dit aanpas om te verander hoe vinnig die motor vorentoe ry en hoe vinnig dit draai (in video by 13:33).
  • FORWARD_SCAN_ANGLE: Nadat 'n obstruksie vermy is, voer die motor 'n vinnige skandering uit om te verseker dat die pad vorentoe duidelik is. Hierdie veranderlike stel die hoek vir daardie skandering. 'n Waarde van 50 beteken dit skandeer van -25 tot +25 grade relatief tot die middel (in video by 13:40).

Lewende Projek/Demonstrasie

In die video demonstreer die instrukteur die projek in fases. Eers voer hy 'n eenvoudige toets uit om te wys hoe die ultrasoniese sensor afstand meet en die waardes na die doplyn druk, wat bevestig dat "0" 'n obstruksie voorstel en "1" 'n duidelike pad voorstel (in video by 03:48).

Hy verduidelik dan die besluitnemingsvloeidiagram, wat die brein van die operasie is. Die motor gebruik 'n funksie genaamd get_direction() om die radardata te ontleed. Hierdie funksie verdeel die skanderingsdata in segmente van oop ruimte en identifiseer die wydste een. Gebaseer op waar hierdie wye pad geleë is (links, middel, of regs), besluit die motor watter kant toe om te draai (in video by 11:19).

Laastens rig die instrukteur 'n doolhof van struikelblokke op en demonstreer die motor wat daardeur navigeer. Jy kan sien hoe die motor links en regs skandeer, agteruit ry as dit vassit, en uiteindelik 'n pad vind om deur die struikelblokke te ry sonder enige handbeheer (in video by 22:53).

Hoofstukke

  • [00:00] Inleiding tot Hindernisvermyding met die Pico-motor
  • [01:31] Kenmerke van die Stel en Dokumentasie-oorsig
  • [02:47] Demonstreer die Hindernisvermydingsfunksie
  • [03:48] Toets van die Ultrasoniese Sensor en Afstandmeting
  • [07:45] Verduideliking van die Hindernisvermydingsalgoritme en Vloeidiagram
  • [12:49] Ontleding van die Hoof Hindernisvermydingskode
  • [15:50] Lewendige Kodedemonstrasie en Data-interpretasie
  • [18:11] Diep Duik in die Kry Rigting- en Draaie-logika
  • [22:53] Finale Lewendige Toets met 'n Doolhof van Hindernisse
Geen kode aangeheg.

Hulpbronne en verwysings

Geen hulpbronne nog.

Lêers📁

Geen lêers beskikbaar.