Tafuta Msimbo

Somo la 7 kati ya 10: Ufuatiliaji wa Mstari, Ugunduzi wa Ukingo Sanifisha Sensor ya Kijivu Gari la Raspberry Pi Pico

Denna lektion är en del av: Raspberry Pi Pico 4WD Smart Gari

Somo la 7 kati ya 10: Ufuatiliaji wa Mstari, Ugunduzi wa Ukingo Sanifisha Sensor ya Kijivu Gari la Raspberry Pi Pico

Katika somo hili la saba la kozi ya Raspberry Pi Pico Smart Car, tunachunguza kazi muhimu za ufuatiliaji wa mstari na ugunduzi wa maporomoko kwa kutumia moduli ya kihisi cha kijivu. Moduli hii hufanya kama "macho" ya gari lako, ikiruhusu kufuata njia iliyowekwa kwa uhuru na kuepuka maporomoko hatari. Mradi huu unaonyesha jinsi ya kusawazisha kihisi kwa usomaji sahihi na kutekeleza mantiki inayoweka gari kwenye njia, ikiwa na kipengele cha kufurahisha cha "Usinisukume" kinachoiga ugunduzi wa maporomoko. Mwongozo huu ni bora kwa mtu yeyote anayetaka kuendelea zaidi ya udhibiti wa mbali wa kimsingi na kuingia katika ulimwengu wa robotiki inayoongozwa na vihisi.

Teknolojia hii ina matumizi mengi ya vitendo zaidi ya mradi wa kujifurahisha tu. Kanuni utakazojifunza hapa ni msingi wa kujenga mifumo halisi ya ulimwengu inayojiendesha. Hapa kuna mawazo machache ya kukutia moyo:

  • Roboti za Uwasilishaji Kiotomatiki: Jenga roboti ndogo inayoweza kusafiri kwenye ghala au sakafu ya ofisi kwa kufuata mistari iliyowekwa alama kuwasilisha vitu.
  • Kitatua Maze ya Juu ya Meza: Unda roboti inayoweza kusafiri kwenye maze tata iliyochorwa kwa mkanda mweusi wa umeme.
  • Roboti ya Usalama na Ulinzi: Tekeleza roboti ya doria inayofuata njia iliyowekwa na kutumia ugunduzi wa maporomoko kuepuka kuanguka kwenye ngazi au nyuso zilizoinuka.
  • Jukwaa la Kielimu: Tumia gari kufundisha misingi ya udhibiti wa PID, muunganisho wa vihisi, na urambazaji wa uhuru.

Vifaa na Vipengele

Mradi huu unajengwa juu ya kit cha SunFounder Raspberry Pi Pico 4WD car. Kipengele muhimu cha somo hili ni moduli ya kihisi cha kijivu, ambayo ni muhimu kwa ufuatiliaji wa mstari na ugunduzi wa maporomoko. Moduli ina vihisi vitatu vya kujitegemea vinavyopima kiasi cha mwanga kinachoakisiwa kutoka kwenye uso ulio chini. Data hii hutumiwa kutofautisha kati ya mstari mweusi, uso mweupe, na "maporomoko" au nafasi wazi. Kit kamili pia kinajumuisha chasi ya gari la Pico, motors, na kifurushi cha betri cha kuwasha mfumo.

Mwongozo wa Uunganishaji wa Waya

Uunganishaji sahihi wa waya ni hatua ya kwanza ya kufanya kihisi chako kifanye kazi. Moduli ya kijivu inaunganishwa na Raspberry Pi Pico kwa kutumia waya nne. Uunganishaji ni rahisi na unaonyeshwa wazi kwenye video.

Hapa kuna usanidi wa uunganishaji kama unavyoonyeshwa kwenye video (katika video saa 03:01):

  • Waya Nyeusi: Unganisha kwenye pini ya GND kwenye Pico.
  • Waya Nyekundu: Unganisha kwenye pini ya 3.3V kwenye Pico.
  • Waya ya Njano (Kihisi cha Kulia): Unganisha kwenye pini ya GPIO 28.
  • Waya ya Kahawia (Kihisi cha Kati): Unganisha kwenye pini ya GPIO 27.
  • Waya Nyeupe/Kijivu (Kihisi cha Kushoto): Unganisha kwenye pini ya GPIO 26.

Kusawazisha Kihisi cha Kijivu

Kabla ya gari kufuata mstari kwa uhakika, lazima usawazishe kihisi kuelewa usomaji tofauti wa nyeupe, nyeusi, na nafasi tupu. Hii ni hatua muhimu kuhakikisha gari lako linafanya maamuzi sahihi. Unyeti wa kihisi unaweza kubadilishwa na potentiometer ndogo kwenye moduli.

Video inaonyesha mchakato wa kusawazisha (katika video saa 04:39). Kihisi kinapaswa kuwekwa kwenye urefu bora juu ya ardhi—karibu milimita 11 au sentimita moja—kupata usomaji wazi. Kwa kurekebisha potentiometer na kuangalia maadili, unaweza kupata eneo bora. Lengo ni kuwa na tofauti kubwa kati ya usomaji wa uso mweupe (unaofanya mwanga mwingi kuakisiwa) na mstari mweusi (unaofanya mwanga mdogo kuakisiwa).

Hapa kuna muhtasari wa maana ya usomaji:

  • Uso Mweupe: Uakisi wa juu, unaosababisha maadili ya juu ya kihisi (kwa mfano, karibu 20,000).
  • Mstari Mweusi: Uakisi wa chini, unaosababisha maadili ya chini ya kihisi (kwa mfano, karibu 3,000).
  • Maporomoko (Nafasi Tupu): Hakuna uakisi, unaosababisha maadili ya chini kabisa ya kihisi (kwa mfano, karibu 1,200).

Maelezo ya Msimbo

Kwa kuwa hakuna msimbo uliotolewa kwa somo hili, tutazingatia mantiki ya dhana na kazi kuu kutoka kwenye maktaba ya Robojax inayotumiwa kufanya gari lifanye kazi. Video inaelezea kazi kuu mbili utakazotumia kutoka kwenye maktaba iliyotolewa.

Kujaribu Kihisi

Hatua ya kwanza ni kujaribu kihisi chako kwa msimbo rahisi. Msimbo huu unatumia kazi inayoitwa get_grayscale_value() kusoma maadili ghafi kutoka kwenye vihisi vitatu. Inachapisha maadili haya kwenye mfuatiliaji wa serial ili uweze kuona jinsi yanavyobadilika wakati kihisi kiko juu ya nyuso tofauti. Hii ni muhimu kwa kuthibitisha uunganishaji wako wa waya na kufanya hatua ya kusawazisha.


# Hii ni mfano wa dhana ya kazi ya majaribio
from machine import Pin, ADC
import time

# Eleza pini za ADC kwa vihisi vya kijivu
grayscale_pins = [26, 27, 28]
sensors = [ADC(Pin(pin)) for pin in grayscale_pins]

while True:
    # Soma maadili ghafi ya 16-bit kutoka kwenye vihisi
    values = [sensor.read_u16() for sensor in sensors]
    print("Kushoto: {} Kati: {} Kulia: {}".format(values[0], values[1], values[2]))
    time.sleep_ms(100)

Mantiki ya Ufuatiliaji wa Mstari

Kwa ufuatiliaji wa mstari, msimbo hautumii maadili ghafi ya analogi. Badala yake, hubadilisha kuwa hali rahisi ya dijiti: 1 ikiwa kihisi kiko juu ya mstari mweusi, na 0 ikiwa kiko juu ya uso mweupe. Hii inashughulikiwa na kazi inayorudisha orodha ya maadili matatu (kwa mfano, [0, 1, 0]). Kitanzi kikuu cha udhibiti kisha kinatumia orodha hii kuamua vitendo vya gari.

Mantiki hiyo inategemea kulinganisha hali ya kihisi na masharti yaliyoainishwa awali. Kwa mfano, ikiwa hali ni [0, 1, 0], gari liko kwenye mstari vizuri kabisa na linapaswa kusonga mbele. Ikiwa hali ni [1, 0, 0], gari limepotea upande wa kushoto na linahitaji kusahihisha njia yake kuelekea kulia. Video inaelezea masharti haya kwa undani (katika video dakika ya 13:05), ikionyesha jinsi michanganyiko tofauti ya usomaji wa vihisi inavyolingana na amri tofauti za motor, kama vile kugeuka kushoto, kugeuka kulia, au kufanya marekebisho makali.


# Hii ni mfano wa dhana ya mantiki ya kufuata mstari
# Chukulia 'status' ni orodha kama [0, 1, 0] kutoka kihisi cha kijivu

if status == [0, 1, 0]:  # Kihisi cha katikati kwenye mstari
    # Songa mbele
    pass
elif status == [1, 0, 0]:  # Kihisi cha kushoto kwenye mstari
    # Geuka kulia
    pass
elif status == [0, 0, 1]:  # Kihisi cha kulia kwenye mstari
    # Geuka kushoto
    pass
# ... masharti mengine ya zamu kali zaidi

Maonyesho ya Moja kwa Moja ya Mradi

Katika maonyesho ya video, gari limewekwa kwenye wimbo uliochapishwa na mstari mweusi mzito. Gari linafanikiwa kufuata mstari, likifanya zamu na marekebisho linaposonga kwenye njia. Video inaangazia tatizo la kawaida ambapo magurudumu yanaweza kulegea wakati wa zamu kali, na inaonyesha suluhisho rahisi la kuongeza kipande kidogo cha tepi kwenye shimoni la gurudumu kwa kufaa zaidi. Mara tu hili linaporekebishwa, gari linapitia wimbo mzima vizuri, likionyesha ufanisi wa urekebishaji na mantiki ya kufuata mstari.

Sura za Video

  • [00:00] Utangulizi wa Kufuatilia Mstari na Kugundua Maporomoko
  • [03:01] Kuunganisha Moduli ya Kihisi cha Kijivu
  • [04:39] Kurekebisha Kihisi cha Kijivu
  • [13:05] Kuelewa Mantiki ya Kufuata Mstari
  • [19:43] Kujaribu Msimbo wa Kufuatilia Mstari
  • [24:50] Maonyesho ya Moja kwa Moja kwenye Wimbo wa Majaribio
Ingen kod bifogad.

Resurser och referenser

Inga resurser än.

Filer📁

Inga filer tillgängliga.