કોડ શોધો

પાઠ ૭ માંથી ૧૦: લાઇન ટ્રેકિંગ, ક્લિફ ડિટેક્શન ગ્રેસ્કેલ સેન્સર કેલિબ્રેટ કરો રાસ્પબેરી પાઇ પિકો કાર

પાઠ ૭ માંથી ૧૦: લાઇન ટ્રેકિંગ, ક્લિફ ડિટેક્શન ગ્રેસ્કેલ સેન્સર કેલિબ્રેટ કરો રાસ્પબેરી પાઇ પિકો કાર

રાસ્પબેરી પાઈ પીકો સ્માર્ટ કાર કોર્સના આ સાતમા પાઠમાં, આપણે ગ્રેસ્કેલ સેન્સર મોડ્યુલનો ઉપયોગ કરીને લાઇન ટ્રેકિંગ અને ક્લિફ ડિટેક્શનના મહત્વપૂર્ણ કાર્યોનું અન્વેષણ કરીએ છીએ. આ મોડ્યુલ તમારી કારની "આંખો" તરીકે કાર્ય કરે છે, જે તેને પૂર્વનિર્ધારિત પાથને સ્વાયત્ત રીતે અનુસરવા અને જોખમી ઢોળાવને ટાળવા દે છે. આ પ્રોજેક્ટ દર્શાવે છે કે સચોટ રીડિંગ્સ માટે સેન્સરને કેવી રીતે કેલિબ્રેટ કરવું અને કારને ટ્રેક પર રાખતી લોજિક કેવી રીતે અમલમાં મૂકવી, જેમાં એક મનોરંજક "ડોન્ટ પુશ મી" સુવિધા છે જે ક્લિફ ડિટેક્શનનું અનુકરણ કરે છે. આ માર્ગદર્શિકા એવા લોકો માટે યોગ્ય છે જેઓ મૂળભૂત રિમોટ કંટ્રોલથી આગળ વધીને સેન્સર-માર્ગદર્શિત રોબોટિક્સની દુનિયામાં પ્રવેશ કરવા માંગે છે.

આ ટેક્નોલોજીમાં માત્ર એક મનોરંજક DIY પ્રોજેક્ટ કરતાં ઘણા વ્યવહારુ ઉપયોગો છે. તમે અહીં જે સિદ્ધાંતો શીખશો તે વાસ્તવિક દુનિયાની સ્વાયત્ત સિસ્ટમો બનાવવા માટે પાયારૂપ છે. તમને પ્રેરણા આપવા માટે અહીં કેટલાક વિચારો છે:

  • સ્વચાલિત ડિલિવરી રોબોટ્સ: એક નાનો રોબોટ બનાવો જે વસ્તુઓ પહોંચાડવા માટે ચિહ્નિત રેખાઓને અનુસરીને વેરહાઉસ અથવા ઓફિસના ફ્લોર પર નેવિગેટ કરી શકે.
  • ટેબલટોપ મેઝ સોલ્વર: એક રોબોટ બનાવો જે કાળી ઇલેક્ટ્રિકલ ટેપથી દોરેલા જટિલ મેઝને નેવિગેટ કરી શકે.
  • સુરક્ષા અને સિક્યુરિટી રોબોટ: એક પેટ્રોલ બોટ લાગુ કરો જે નિર્ધારિત માર્ગને અનુસરે છે અને સીડી પરથી અથવા ઊંચી સપાટીઓ પરથી પડવાનું ટાળવા માટે ક્લિફ ડિટેક્શનનો ઉપયોગ કરે છે.
  • શૈક્ષણિક પ્લેટફોર્મ: PID કંટ્રોલ, સેન્સર ફ્યુઝન અને સ્વાયત્ત નેવિગેશનના મૂળભૂત સિદ્ધાંતો શીખવવા માટે કારનો ઉપયોગ કરો.

હાર્ડવેર અને ઘટકો

આ પ્રોજેક્ટ SunFounder Raspberry Pi Pico 4WD કાર કિટ પર આધારિત છે. આ પાઠ માટેનો મુખ્ય ઘટક ગ્રેસ્કેલ સેન્સર મોડ્યુલ છે, જે લાઇન ટ્રેકિંગ અને ક્લિફ ડિટેક્શન બંને માટે આવશ્યક છે. મોડ્યુલમાં ત્રણ સ્વતંત્ર સેન્સર છે જે નીચેની સપાટી પરથી પ્રતિબિંબિત થતા પ્રકાશની માત્રાને માપે છે. આ ડેટાનો ઉપયોગ કાળી રેખા, સફેદ સપાટી અને "ક્લિફ" અથવા ખુલ્લી જગ્યા વચ્ચે તફાવત કરવા માટે થાય છે. સંપૂર્ણ કિટમાં સિસ્ટમને પાવર આપવા માટે પીકો કાર ચેસિસ, મોટર્સ અને બેટરી પેક પણ શામેલ છે.

વાયરિંગ માર્ગદર્શિકા

યોગ્ય વાયરિંગ એ તમારા સેન્સરને કાર્ય કરવા માટેનું પ્રથમ પગલું છે. ગ્રેસ્કેલ મોડ્યુલ ચાર વાયરનો ઉપયોગ કરીને રાસ્પબેરી પાઈ પીકો સાથે જોડાય છે. વાયરિંગ સરળ છે અને વિડિઓમાં સ્પષ્ટ રીતે દર્શાવવામાં આવ્યું છે.

વિડિઓમાં બતાવ્યા પ્રમાણે વાયરિંગ રૂપરેખાંકન અહીં છે (વિડિઓમાં 03:01 પર):

  • કાળો વાયર: પીકો પરના GND પિન સાથે જોડો.
  • લાલ વાયર: પીકો પરના 3.3V પિન સાથે જોડો.
  • પીળો વાયર (જમણો સેન્સર): GPIO પિન 28 સાથે જોડો.
  • ભૂરો વાયર (મધ્ય સેન્સર): GPIO પિન 27 સાથે જોડો.
  • સફેદ/ગ્રે વાયર (ડાબો સેન્સર): GPIO પિન 26 સાથે જોડો.

ગ્રેસ્કેલ સેન્સરને કેલિબ્રેટ કરવું

કાર વિશ્વસનીય રીતે લાઇનને અનુસરે તે પહેલાં, તમારે સફેદ, કાળા અને ખાલી જગ્યા માટેના વિવિધ રીડિંગ્સ સમજવા માટે સેન્સરને કેલિબ્રેટ કરવું આવશ્યક છે. તમારી કાર યોગ્ય નિર્ણયો લે તે સુનિશ્ચિત કરવા માટે આ એક મહત્વપૂર્ણ પગલું છે. સેન્સરની સંવેદનશીલતા મોડ્યુલ પરના નાના પોટેન્શિયોમીટરથી ગોઠવી શકાય છે.

વિડિઓ કેલિબ્રેશન પ્રક્રિયા દર્શાવે છે (વિડિઓમાં 04:39 પર). સ્પષ્ટ રીડિંગ્સ મેળવવા માટે સેન્સરને જમીનથી શ્રેષ્ઠ ઊંચાઈ પર—લગભગ 11 મિલીમીટર અથવા એક સેન્ટીમીટર—પર સ્થિત કરવું જોઈએ. પોટેન્શિયોમીટરને સમાયોજિત કરીને અને મૂલ્યોનું અવલોકન કરીને, તમે શ્રેષ્ઠ બિંદુ શોધી શકો છો. ધ્યેય એ છે કે સફેદ સપાટી (જે ઘણો પ્રકાશ પ્રતિબિંબિત કરે છે) અને કાળી રેખા (જે ખૂબ ઓછો પ્રકાશ પ્રતિબિંબિત કરે છે) માટેના રીડિંગ્સ વચ્ચે નોંધપાત્ર તફાવત હોય.

રીડિંગ્સનો અર્થ શું છે તેનો સારાંશ અહીં છે:

  • સફેદ સપાટી: ઉચ્ચ પ્રતિબિંબ, પરિણામે ઉચ્ચ સેન્સર મૂલ્યો (દા.ત., લગભગ 20,000).
  • કાળી રેખા: ઓછું પ્રતિબિંબ, પરિણામે ઓછા સેન્સર મૂલ્યો (દા.ત., લગભગ 3,000).
  • ક્લિફ (ખોખલી જગ્યા): કોઈ પ્રતિબિંબ નહીં, પરિણામે સૌથી ઓછા સેન્સર મૂલ્યો (દા.ત., લગભગ 1,200).

કોડ સમજૂતી

આ પાઠ માટે કોઈ કોડ પ્રદાન કરવામાં આવ્યો ન હોવાથી, અમે વૈચારિક તર્ક અને Robojax લાઇબ્રેરીના મુખ્ય કાર્યો પર ધ્યાન કેન્દ્રિત કરીશું જેનો ઉપયોગ કારને કાર્ય કરવા માટે થાય છે. વિડિઓ બે મુખ્ય કાર્યો સમજાવે છે જેનો તમે પ્રદાન કરેલી લાઇબ્રેરીમાંથી ઉપયોગ કરશો.

સેન્સરનું પરીક્ષણ

પ્રથમ પગલું એક સરળ સ્ક્રિપ્ટ સાથે તમારા સેન્સરનું પરીક્ષણ કરવાનું છે. આ સ્ક્રિપ્ટ ત્રણ સેન્સરમાંથી કાચા મૂલ્યો વાંચવા માટે get_grayscale_value() નામના કાર્યનો ઉપયોગ કરે છે. તે આ મૂલ્યોને સીરિયલ મોનિટર પર છાપે છે જેથી તમે જોઈ શકો કે જ્યારે સેન્સર વિવિધ સપાટીઓ પર હોય ત્યારે તે કેવી રીતે બદલાય છે. તમારા વાયરિંગને ચકાસવા અને કેલિબ્રેશન પગલું કરવા માટે આ ઉપયોગી છે.


# આ ટેસ્ટ ફંક્શનનું વૈચારિક ઉદાહરણ છે
from machine import Pin, ADC
import time

# ગ્રેસ્કેલ સેન્સર માટે ADC પિન વ્યાખ્યાયિત કરો
grayscale_pins = [26, 27, 28]
sensors = [ADC(Pin(pin)) for pin in grayscale_pins]

while True:
    # સેન્સરમાંથી કાચા 16-બિટ મૂલ્યો વાંચો
    values = [sensor.read_u16() for sensor in sensors]
    print("ડાબો: {} મધ્ય: {} જમણો: {}".format(values[0], values[1], values[2]))
    time.sleep_ms(100)

લાઇન ટ્રેકિંગ લોજિક

લાઇન ટ્રેકિંગ માટે, કોડ કાચા એનાલોગ મૂલ્યોનો ઉપયોગ કરતું નથી. તેના બદલે, તે તેમને સરળ ડિજિટલ સ્થિતિમાં રૂપાંતરિત કરે છે: જો સેન્સર કાળી રેખા પર હોય તો 1, અને જો તે સફેદ સપાટી પર હોય તો 0. આ એક કાર્ય દ્વારા સંભાળવામાં આવે છે જે ત્રણ મૂલ્યોની સૂચિ પરત કરે છે (દા.ત., [0, 1, 0]). મુખ્ય કંટ્રોલ લૂપ પછી કારની ક્રિયાઓ નક્કી કરવા માટે આ સૂચિનો ઉપયોગ કરે છે.

તર્ક સેન્સરની સ્થિતિને પૂર્વનિર્ધારિત શરતો સાથે સરખાવવા પર આધારિત છે. ઉદાહરણ તરીકે, જો સ્થિતિ [0, 1, 0] હોય, તો કાર સંપૂર્ણ રીતે લાઇન પર છે અને તેણે આગળ વધવું જોઈએ. જો સ્થિતિ [1, 0, 0] હોય, તો કાર ડાબી તરફ ભટકી ગઈ છે અને તેણે પોતાનો માર્ગ જમણી તરફ સુધારવાની જરૂર છે. વિડિયો આ શરતોને વિગતવાર સમજાવે છે (વિડિયોમાં 13:05 પર), દર્શાવે છે કે સેન્સર રીડિંગ્સના વિવિધ સંયોજનો કેવી રીતે વિવિધ મોટર આદેશોને અનુરૂપ છે, જેમ કે ડાબી તરફ વળવું, જમણી તરફ વળવું, અથવા તીવ્ર સુધારો કરવો.


# આ લાઇન-ફોલોઇંગ તર્કનું વૈચારિક ઉદાહરણ છે
# ધારો કે 'status' એ ગ્રેસ્કેલ સેન્સરમાંથી [0, 1, 0] જેવી યાદી છે

if status == [0, 1, 0]:  # કેન્દ્ર સેન્સર લાઇન પર છે
    # આગળ વધો
    pass
elif status == [1, 0, 0]:  # ડાબો સેન્સર લાઇન પર છે
    # જમણી તરફ વળો
    pass
elif status == [0, 0, 1]:  # જમણો સેન્સર લાઇન પર છે
    # ડાબી તરફ વળો
    pass
# ... તીવ્ર વળાંક માટે અન્ય શરતો

લાઇવ પ્રોજેક્ટ પ્રદર્શન

વિડિયોના પ્રદર્શનમાં, કારને જાડી કાળી લાઇન સાથે છાપેલા ટ્રેક પર મૂકવામાં આવી છે. કાર સફળતાપૂર્વક લાઇનને અનુસરે છે, માર્ગ પર આગળ વધતી વખતે વળાંક અને સુધારા કરે છે. વિડિયો એક સામાન્ય સમસ્યા પર પ્રકાશ પાડે છે જ્યાં તીવ્ર વળાંક દરમિયાન પૈડાં ઢીલાં થઈ શકે છે, અને વ્હીલ શાફ્ટ પર ચુસ્ત ફિટ માટે ટેપનો નાનો ટુકડો ઉમેરવાનો સરળ ઉપાય બતાવે છે. એકવાર આ ઠીક થઈ જાય, કાર સમગ્ર ટ્રેકને સરળતાથી પાર કરે છે, જે કેલિબ્રેશન અને લાઇન-ફોલોઇંગ તર્કની અસરકારકતા દર્શાવે છે.

વિડિયો પ્રકરણો

  • [00:00] લાઇન ટ્રેકિંગ અને ક્લિફ ડિટેક્શનનો પરિચય
  • [03:01] ગ્રેસ્કેલ સેન્સર મોડ્યુલનું વાયરિંગ
  • [04:39] ગ્રેસ્કેલ સેન્સરનું કેલિબ્રેશન
  • [13:05] લાઇન-ફોલોઇંગ તર્કને સમજવું
  • [19:43] લાઇન-ટ્રેકિંગ કોડનું પરીક્ષણ
  • [24:50] ટેસ્ટ ટ્રેક પર લાઇવ પ્રદર્શન
કોઈ કોડ જોડાયેલ નથી.

સંસાધનો અને સંદર્ભો

હજી સુધી કોઈ સંસાધનો નથી.

ફાઇલો📁

કોઈ ફાઇલો ઉપલબ્ધ નથી.