Mafunzo haya ni sehemu ya: Kifaa cha Magari Mahiri cha SunFounder Rasberry Pi Pico Pico 4WD
Faili zinazohusiana na kikundi hiki zitaonyeshwa pamoja. Viungo vya video zingine viko chini ya makala haya.
Kozi Somo la 8 kati ya 10: Gari Mahiri la Raspberry Pi Pico – Somo la 8: Motor ya Servo na Kufuata Kitu
Somo hili kutoka kwenye kozi ya Raspberry Pi Pico Smart Car ya Robojax linachunguza utendakazi wa motor ya servo na jinsi ya kuitumia kuunda roboti inayofuata kitu au "kufuata mkono wako". Mradi huu unaenda zaidi ya udhibiti rahisi wa motor, kuonyesha jinsi ya kuchanganya sensor ya ultrasonic inayoendeshwa na servo na mantiki ya kisasa ya Python kuunda gari ambalo hutafuta na kufuata kitu ndani ya eneo lake. Hii ni dhana ya msingi katika robotiki, inayokuwezesha kujenga miradi shirikishi kama roboti inayomfuata mtu, mnyama kipenzi mwerevu anayecheza mpira, au kamera ya usalama inayojitegemea inayofuatilia mwendo. Somo pia linashughulikia mradi wa pili, rahisi zaidi: gari ambalo hukaribia kiotomatiki, kusukuma, na kurudi nyuma kutoka kwa vitu ndani ya eneo maalum la umbali.
Vifaa na Sehemu
Mradi huu unategemea kit cha gari cha SunFounder Raspberry Pi Pico 4WD. Sehemu muhimu zinazotumiwa katika somo hili ni:
- Bodi ya Raspberry Pi Pico
- Chasi ya Smart Car 4WD yenye motors
- Motor ya servo (ikiwezekana servo ya gear ya chuma kwa uimara)
- Sensor ya umbali ya ultrasonic (HC-SR04)
- Bodi ya kiendeshaji cha motor (sehemu ya kit cha gari)
- LED ya RGB (kwa maoni ya kuona)
- Chanzo cha nguvu (kifurushi cha betri kwa gari)
Motor ya servo ni kiini cha utendakazi wa somo hili. Tofauti na motor ya kawaida ya DC inayozunguka kwa kuendelea, motor ya servo imeundwa kuzunguka na kushikilia nafasi maalum ya angular, kwa kawaida kati ya digrii 0 na 180. Hii inafanya kuwa bora kwa kulenga sensor ya ultrasonic kwa usahihi. Ubora wa servo mara nyingi huamuliwa na nyenzo ya gear yake (plastiki dhidi ya chuma) na torque yake, ambayo huamua nguvu na uimara wake.
Jinsi Inavyofanya Kazi
Chati ifuatayo inaeleza jinsi msimbo unavyofanya kazi.
Mwongozo wa Uunganishaji
Uunganishaji wa somo hili ni rahisi, kwani unajenga juu ya kit cha gari kilichokusanywa tayari. Uunganishaji muhimu ni motor ya servo, ambayo lazima iunganishwe kwenye pini maalum ya GPIO kwenye Pico.
Katika video, mwalimu anauunganisha servo kwenye pini namba 18 kwenye Raspberry Pi Pico. Sensor ya ultrasonic imewekwa juu ya pembe ya servo, ikiruhusu kuzungushwa kushoto na kulia kuchunguza eneo. Uunganishaji mwingine wa motors, RGB LED, na nguvu unachukuliwa kuwa umeunganishwa tayari kutoka masomo ya awali ya kozi.
Kwa mwongozo wa kina wa kuona, tafadhali rejelea mchoro wa uunganishaji hapa chini.
Maelezo ya Msimbo
Msimbo wa Python wa somo hili umejengwa kuzunguka maktaba maalum ya pico_4wd, ambayo hurahisisha mwingiliano tata wa vifaa. Sehemu zinazoweza kusanidiwa na mtumiaji ziko juu ya hati na hudhibiti tabia ya gari.
Hapa kuna vigezo muhimu unavyoweza kurekebisha kubinafsisha tabia ya roboti yako ya "kufuata mkono":
car.RADAR_REFERENCE = 25: Hii ni umbali wa juu katika sentimita ambao sensor itaona. Kitu chochote zaidi ya umbali huu kinapuuzwa. Unaweza kuongeza hii kufanya gari kuwa nyeti zaidi au kuipunguza kuhitaji kitu kilicho karibu zaidi.car.RADAR_MAX_ANGLE = 45&car.RADAR_MIN_ANGLE = -45: Hizi zinafafanua pembe za kushoto kabisa (45) na kulia kabisa (-45) ambazo servo itachunguza. Hii inaunda uwanja wa mtazamo wa digrii 90 mbele ya gari.car.RADAR_STEP_ANGLE = 10: Hii ni nyongeza (kwa digrii) ambayo servo hutumia kusonga kati ya pointi za uchunguzi. Hatua ndogo (k.m., 5) inatoa mwonekano bora zaidi lakini inachukua muda mrefu kukamilisha uchunguzi kamili. Hatua kubwa (k.m., 15) inachunguza haraka lakini kwa usahihi wa chini.MOTOR_FORWARD_POWER = 40: Hii inaweka nguvu ya motor (0-100) inayotumiwa wakati gari linasonga mbele kuelekea kitu kilichogunduliwa. Rekebisha hii kubadilisha kasi ya kufuata ya gari.MOTOR_TURNING_POWER = 40: Hii inaweka nguvu ya motor inayotumiwa wakati gari linageuka kukabiliana na kitu. Thamani ya juu itafanya gari kugeuka kwa nguvu zaidi.
Mantiki kuu ya kazi ya main() ni kitanzi cha kuendelea. Kwanza inaita car.radar_scan(), ambayo inarudisha mfuatano wa '1' na '0' unaowakilisha kama kitu kiligunduliwa katika kila pembe ya uchunguzi ('1' inamaanisha kitu kiko ndani ya umbali wa kumbukumbu). Msimbo kisha unachambua mfuatano huu kupata kundi kubwa zaidi la '1' zinazofuatana, ambalo linaonyesha katikati ya kitu kilichogunduliwa. Kulingana na mahali katikati hii ilipo katika uwanja wa uchunguzi, gari linaamriwa kugeuka kushoto, kugeuka kulia, au kusonga mbele kujipanga na kitu na kulifuata.
Maonyesho ya Moja kwa Moja ya Mradi
Video hii inatoa mwongozo wazi wa mradi ukifanya kazi. Mwalimu kwanza anaendesha script ya majaribio kuonyesha jinsi motor ya servo inavyoweza kusongezwa kwa pembe sahihi kama 90, 0, na -90 digrii. Hii ni muhimu kwa kuelewa upeo wa servo na kwa kuweka sensor ya ultrasonic kwa usahihi.
Baada ya kuweka sensor, kipengele cha "kufuata mkono" kinaonyeshwa. Mwalimu anaposogeza mkono wake mbele ya gari, sensor iliyowekwa kwenye servo inachanganua kushoto na kulia. Mantiki ya gari inachakata data ya sensor na kugeuza magurudumu kuielekeza kwenye mkono unaogunduliwa, na hivyo kuufuata kwenye sakafu. Mwongozo huu unaangazia jinsi gari linavyoweza kufuatilia kitu kinaposogea na kurekebisha mwelekeo wake ipasavyo. Mradi wa pili pia unaonyeshwa, ambapo gari limepangwa kukaribia na kusukuma kitu ikiwa kitagunduliwa kati ya sentimita 10 na 20, na kurudi nyuma ikiwa kitu kiko karibu sana (chini ya sentimita 10).
Mambo Muhimu ya Kujifunza
Somo hili ni utangulizi bora wa kutumia motor za servo kuunda tabia za robotiki zinazoingiliana. Kwa kuchanganya servo na sensor ya umbali, unaweza kujenga roboti yenye "hisia ya kuona" inayoweza kufuatilia na kujibu mazingira yake kikamilifu. Uwezo wa kurekebisha vigezo kama pembe za uchanganuzi, ukubwa wa hatua, na nguvu ya motor unaruhusu udhibiti wa kina juu ya tabia ya roboti, ambayo ni ujuzi muhimu kwa mradi wowote wa robotiki.
Sura
- [00:00] Utangulizi wa Motor ya Servo na Kufuata Kitu
- [01:48] Vipengele na Uwezo wa Seti ya Kozi
- [03:08] Kuelewa Uendeshaji wa Motor ya Servo
- [06:08] Kujaribu Motor ya Servo kwa Msimbo wa Python
- [09:59] Kuelezea Kipengele cha "Kufuata Mkono"
- [10:49] Kuonyesha Utendaji wa "Kufuata Mkono"
- [15:37] Mradi: Kusukuma Kitu na Kurudi Nyuma
- [18:40] Mwongozo wa Mradi wa Kusukuma Kitu
- [19:25] Hitimisho na Hatua Zinazofuata
Mafunzo haya ni sehemu ya: Kifaa cha Magari Mahiri cha SunFounder Rasberry Pi Pico Pico 4WD
- Kozi Somo la 1 kati ya 10: Kifurushi cha Gari Mahiri cha 4WD cha Raspberry Pi Pico kutoka SunFounder na Robojax
- Kozi Somo la 2 kati ya 10: Python ya Msingi ya kuendesha Kifurushi cha Gari Mahiri cha 4WD cha Raspberry Pi Pico
- Kozi Somo la 3 kati ya 10: Kuunganisha Kiti cha Gari Mahiri cha 4WD cha Raspberry Pi Pico kutoka SunFounder na Robojax
- Kozi Somo la 4 kati ya 10: Bodi ya Upanuzi ya Raspberry Pi Pico kwa Kit cha Gari Mahiri cha 4WD
- Somo la 5 kati ya 10: Kudhibiti LED ya RGB WS2812B Kwa Kutumia Raspberry Pi Pico
- Kozi Somo la 6 kati ya 10: Kudhibiti Motors za DC kwa kutumia Raspberry Pi Pico 4WD Smart Car Kit
- Somo la 7 kati ya 10: Ufuatiliaji wa Mstari, Ugunduzi wa Ukingo Sanifisha Sensor ya Kijivu Gari la Raspberry Pi Pico
- Kipindi cha 9 kati ya 10: Kuepuka Vizuizi kwa kutumia Gari Mahiri la 4WD la Raspberry Pi Pico
- Kipindi cha Somo la 10 kati ya 10: Kudhibiti Kifurushi cha Gari Mahiri cha Raspberry Pi Pico 4WD kwa Programu ya Simu
# Lesson 8/10 Pi Car Pico 4WD: Follow hand
# Download and resource page https://robojax.com/RJT630
import pico_4wd as car
car.RADAR_REFERENCE = 25
car.RADAR_MAX_ANGLE = 45
car.RADAR_MIN_ANGLE = -45
car.RADAR_STEP_ANGLE = 10
MOTOR_FORWARD_POWER = 40
MOTOR_TURNING_POWER = 40
def main():
while True:
radar_data = car.radar_scan()
if isinstance(radar_data, int):
continue
radar_data = [str(i) for i in radar_data]
radar_data = "".join(radar_data)
paths = radar_data.split("1")
length_list = []
for path in paths:
length_list.append(len(path))
if max(length_list) == 0:
car.move("stop")
else:
i = length_list.index(max(length_list))
pos = radar_data.index(paths[i])
pos += (len(paths[i]) - 1) / 2
delta = len(radar_data) / 3
if pos < delta:
car.move("right", MOTOR_TURNING_POWER)
elif pos > 2 * delta:
car.move("left", MOTOR_TURNING_POWER)
else:
#if radar_data[int(len(radar_data)/2-1)] == "0":
# car.move("stop")
#else:
car.move("forward", MOTOR_FORWARD_POWER)
try:
main()
finally:
car.move("stop")
car.set_light_off()
Common Course Links
- Purchase SunFounder Pico 4WD Smart Car Kit from AliExpress
- Purchase SunFounder Pico 4WD Smart Car Kit from eBay
- Amazon Canada: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon France: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Germany: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Italy: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Japan: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon Spain: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon UK: Purchase Pico 4WD Smart Car Kit by SunFounder
- Amazon USA: Purchase Pico 4WD Smart Car Kit buy SunFounder
- Purchase Pico 4WD Smart Car Kit from SunFounder.com
- SunFounder Pico-4wd Car Kit Documentation
- Video Play List of 10 lesson on SunFounder Pico 4WD Smart Car Kit
Resurser och referenser
Inga resurser än.
Filer📁
Inga filer tillgängliga.