പൈത്തൺ ഉപയോഗിച്ച് VEX ബ്രെയിൻ, സെൻസറുകൾ എന്നിവ ഉപയോഗിച്ച് ഡാറ്റ ലോഗിംഗ്.

ആമുഖം

ഈ ലേഖനത്തിൽ, VEX ബ്രെയിൻ ഉപയോഗിച്ച് ഡാറ്റ ശേഖരിക്കാനും ഡാറ്റ വിശകലനത്തിനായി SD കാർഡിലെ ഒരു CSV ഫയലിൽ സംരക്ഷിക്കാനും VEX റോബോട്ടിനോട് നിർദ്ദേശിക്കുന്ന ഒരു ഡാറ്റ ലോഗിംഗ് പ്രോജക്റ്റ് എങ്ങനെ സൃഷ്ടിക്കാമെന്ന് നമ്മൾ ചർച്ച ചെയ്യും.

ശാസ്ത്രീയ ഗവേഷണങ്ങളെ സഹായിക്കുന്നതിനും, നമ്മുടെ സ്വന്തം പരീക്ഷണങ്ങൾ നടത്തുന്നതിനും, പ്രത്യേക പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിനും നമുക്ക് ഉപയോഗിക്കാൻ കഴിയുന്ന ശക്തമായ ഒരു ഉപകരണമാണ് ഡാറ്റ ലോഗിംഗ്. ഡാറ്റ ലോഗിംഗ് ഉപയോഗിച്ച് VEX റോബോട്ടിനെ നിർവ്വഹിക്കാൻ കഴിയുന്ന നിരവധി രസകരവും ആവേശകരവുമായ ജോലികളുണ്ട്. താഴെ പറയുന്ന ചില ഉദാഹരണങ്ങളാണ്:

  • റോബോട്ടിന്റെ വേഗത കണക്കാക്കാൻ ഡിസ്റ്റൻസ് സെൻസർ ഉപയോഗിച്ച് ഡാറ്റ ശേഖരിക്കുന്നു.
  • ക്ലാസ് മുറിയിൽ റോബോട്ടിനെ ഓടിച്ചുകൊണ്ട് ഒപ്റ്റിക്കൽ സെൻസർ ഉപയോഗിച്ച് വിവിധ സ്ഥലങ്ങളിലെ പ്രകാശ മാറ്റങ്ങൾ നിരീക്ഷിക്കുന്നതിനായി ഡാറ്റ ശേഖരിക്കുന്നു.
  • റോബോട്ടിനെ ഒരു സാഹസിക യാത്രയിലേക്ക് കൊണ്ടുപോയി GPS കോർഡിനേറ്റ് ഡാറ്റ റെക്കോർഡുചെയ്‌ത് ഒരു മാപ്പ് സൃഷ്ടിക്കുന്നു.

ഒരു ഡാറ്റ ലോഗിംഗ് പ്രോജക്റ്റ് വികസിപ്പിക്കുന്നതിന് ആവശ്യമായ കോഡിംഗ് കഴിവുകൾ.

  • VEX ബ്രെയിൻ/സെൻസറുകൾ ഉപയോഗിച്ച് ഡാറ്റ ശേഖരിച്ച് ഒരു ഡാറ്റാ ഘടനയിലേക്ക് ചേർക്കാൻ വിവിധ കമാൻഡുകൾ ഉപയോഗിക്കുക.
  • SD കാർഡിലെ ഒരു കോമ-സെപ്പറേറ്റഡ് വാല്യൂസ് (CSV) ഫയലിലേക്ക് ഡാറ്റ എഴുതുക.

ഡാറ്റ ലോഗിംഗിന് ആവശ്യമായ ഹാർഡ്‌വെയർ:

  • ഒരു VEX ബ്രെയിൻ (IQ, V5, EXP)
  • ഒരു SD കാർഡ്
  • ഒരു സെൻസർ അല്ലെങ്കിൽ ഒന്നിലധികം സെൻസറുകൾ (ഓപ്ഷണൽ, ആവശ്യമായ ഡാറ്റ അനുസരിച്ച്)

സെൻസറിൽ നിന്ന് ഡാറ്റ ലഭിക്കുന്നു

താഴെ പറയുന്ന സെൻസറുകളിൽ നിന്ന് ഡാറ്റ പിടിച്ചെടുക്കാൻ നമുക്ക് VEX റോബോട്ട് (IQ, V5, EXP) പ്രോഗ്രാം ചെയ്യാൻ കഴിയും:

  • ഇനേർഷ്യൽ സെൻസർ
  • ദൂര സെൻസർ
  • ഒപ്റ്റിക്കൽ സെൻസർ
  • വിഷൻ സെൻസർ
  • റൊട്ടേഷൻ സെൻസർ (V5, EXP)
  • ജിപിഎസ് സെൻസർ (V5)

കുറിപ്പ്: VEX IQ (രണ്ടാം തലമുറ) തലച്ചോറിലും VEX EXP തലച്ചോറിലും ഒരു ഇനേർഷ്യൽ സെൻസർ അന്തർനിർമ്മിതമാണ്. ഈ VEX ബ്രെയിനുകൾ ഉപയോഗിച്ച് നമുക്ക് ഇനേർഷ്യൽ സെൻസർ ഡാറ്റ ശേഖരിക്കാൻ കഴിയും.

ഈ ലേഖനത്തിൽ, VEX IQ ബ്രെയിൻ (രണ്ടാം തലമുറ) ഉപയോഗിച്ച് ആക്സിലറേഷൻ ഡാറ്റ ശേഖരിച്ച് ഒരു SD കാർഡിൽ സൂക്ഷിക്കുന്ന ഒരു ഡാറ്റ ലോഗിംഗ് പ്രോജക്റ്റ് ഞങ്ങൾ വികസിപ്പിക്കും. 

ആദ്യം, VEX IQ ബ്രെയിനിൽ (രണ്ടാം തലമുറ) നിർമ്മിച്ച ടൈമറിൽ നിന്നും ഇനേർഷ്യൽ സെൻസറിൽ നിന്നും റീഡിംഗുകൾ ലഭിക്കുന്നതിന് നമ്മൾ ഒരു ചെറിയ പ്രോഗ്രാം എഴുതേണ്ടതുണ്ട്.

  • ഈ പ്രോഗ്രാമിന്റെ തുടക്കത്തിൽ, VEX IQ ബ്രെയിൻ (രണ്ടാം തലമുറ) നിയന്ത്രിക്കുന്നതിനും അതിൽ നിന്ന് ഡാറ്റ നേടുന്നതിനും നമ്മൾ പൈത്തൺ മൊഡ്യൂളുകൾ ഇറക്കുമതി ചെയ്യേണ്ടതുണ്ട്. അതിനാൽ, ഈ നിർദ്ദേശങ്ങൾ പ്രോജക്റ്റിലേക്ക് ചേർത്തുകൊണ്ട് ആരംഭിക്കുക.

    റോബോട്ടിക്സിലെ വിദ്യാഭ്യാസ ആവശ്യങ്ങൾക്കായി പൈത്തൺ ട്യൂട്ടോറിയലുകളിൽ ഉപയോഗിക്കുന്ന V5 റോബോട്ടിന്റെ ഘടകങ്ങളും സവിശേഷതകളും ചിത്രീകരിക്കുന്ന ഡയഗ്രം.

  • അടുത്തതായി, റെക്കോർഡിംഗിനുള്ള ഡാറ്റ എൻട്രികളുടെ എണ്ണം സംഭരിക്കുന്നതിന് numOfDataEntries എന്ന വേരിയബിളിനെ പ്രഖ്യാപിക്കുന്നതിനുള്ള കോഡ് ചേർക്കുക, ഡാറ്റ വായിക്കുന്നതിനുള്ള സമയ ഇടവേളയുടെ മൂല്യം സംഭരിക്കുന്നതിന് polling_delay_msec എന്ന വേരിയബിളിനെ പ്രഖ്യാപിക്കുക, സെൻസറിൽ നിന്ന് വായിക്കുന്ന ഡാറ്റ സംഭരിക്കുന്നതിന് ഒരു ശൂന്യമായ സ്ട്രിംഗ് വേരിയബിൾ data_buffer സൃഷ്ടിക്കുക.

    പൈത്തൺ ഉപയോഗിച്ച് VEX V5-ൽ ഒരു സെൻസറിൽ നിന്ന് വായിച്ച ഡാറ്റ എങ്ങനെ സംഭരിക്കാമെന്ന് ചിത്രീകരിക്കുന്ന ഡയഗ്രം, കോഡ് സ്‌നിപ്പെറ്റുകളും ഡാറ്റാ ഫ്ലോയുടെയും സംഭരണ ​​രീതികളുടെയും ദൃശ്യ പ്രാതിനിധ്യങ്ങളും ഉൾക്കൊള്ളുന്നു.

  • ഡാറ്റയിലേക്ക് ടൈംസ്റ്റാമ്പ് ചേർക്കാൻ നമ്മൾ ടൈമറിന്റെ നിലവിലെ മൂല്യം ഉപയോഗിക്കുന്നതിനാൽ, ഡാറ്റ ശേഖരിക്കാൻ തുടങ്ങുന്നതിനുമുമ്പ് ടൈമർ മൂല്യം 0 സെക്കൻഡിലേക്ക് പുനഃസജ്ജമാക്കേണ്ടതുണ്ട്.

    പൈത്തണിലെ VEX V5 ടൈമർ പുനഃസജ്ജീകരണ പ്രക്രിയ കാണിക്കുന്ന സ്ക്രീൻഷോട്ട്, ഡാറ്റ ശേഖരണത്തിന് മുമ്പ് ടൈമർ മൂല്യം 0 സെക്കൻഡിലേക്ക് എങ്ങനെ സജ്ജമാക്കാമെന്ന് ചിത്രീകരിക്കുന്നു.

  • VEX IQ ബ്രെയിനിൽ (രണ്ടാമത്തേത്) നിന്ന് ഡാറ്റ ലഭ്യമാക്കുകയും ബഫറിൽ ഡാറ്റ രേഖപ്പെടുത്തുകയും ചെയ്യുന്ന നിർദ്ദേശം ഉപയോഗിക്കുന്നതിന് മുമ്പ്, നമ്മൾ ആദ്യം അത് മനസ്സിലാക്കേണ്ടതുണ്ട്.
    ഇനിപ്പറയുന്ന നിർദ്ദേശം നിലവിലെ ടൈമർ മൂല്യത്തെ ഒരു പ്രത്യേക ഫോർമാറ്റിൽ ഡാറ്റ_ബഫർ വേരിയബിളിലേക്ക് കൂട്ടിച്ചേർക്കുന്നു.

    പൈത്തണിലെ ഒരു വേരിയബിളിന്റെ ഫോർമാറ്റ് ചിത്രീകരിക്കുന്ന ഡയഗ്രം, പൈത്തൺ ട്യൂട്ടോറിയലുകൾക്ക് കീഴിലുള്ള V5 കാറ്റഗറി വിവരണത്തിൽ ഉപയോഗിച്ചിരിക്കുന്നു, ഒരു വേരിയബിളിന്റെ ഘടനയും ഘടകങ്ങളും കാണിക്കുന്നു.

    ഫോർമാറ്റ് സ്ട്രിംഗ് “%1.3f”വിഭജിക്കാം: 

    • “%”: പരിവർത്തന സ്പെസിഫയർ അവതരിപ്പിക്കുന്നു.
    • “1”: സ്ട്രിംഗിൽ ഉണ്ടായിരിക്കേണ്ട ഏറ്റവും കുറഞ്ഞ അക്കങ്ങളുടെ എണ്ണം സൂചിപ്പിക്കുന്നു.
    • “.3”: ഫോർമാറ്റ് ചെയ്ത സംഖ്യയിൽ ഉൾപ്പെടുത്തേണ്ട ദശാംശ സ്ഥാനങ്ങളുടെ എണ്ണം വ്യക്തമാക്കുന്നു.
    • “f”: ഫോർമാറ്റ് ചെയ്യേണ്ട മൂല്യം ഒരു ഫ്ലോട്ടിംഗ്-പോയിന്റ് സംഖ്യയാണെന്ന് സൂചിപ്പിക്കുന്നു.

    അങ്ങനെ, കുറഞ്ഞത് 1 അക്ക വീതിയും 3 ദശാംശ സ്ഥാന കൃത്യതയുമുള്ള ഒരു ഫ്ലോട്ടിംഗ്-പോയിന്റ് സംഖ്യയെ ഫോർമാറ്റ് ചെയ്യാൻ നമുക്ക് “%1.3f” എന്ന ഫോർമാറ്റ് സ്ട്രിംഗ് ഉപയോഗിക്കാം.

  • ഇനി, നമുക്ക് VEX IQ ബ്രെയിനിൽ (രണ്ടാം തലമുറ) നിർമ്മിച്ചിരിക്കുന്ന ഇനേർഷ്യൽ സെൻസറിന്റെ ടൈമറും ആക്സിലറേഷൻ മൂല്യവും വായിക്കാം, തുടർന്ന് നിർദ്ദിഷ്ട ഫോർമാറ്റിൽ ഡാറ്റ_ബഫർ വേരിയബിളിലേക്ക് ഡാറ്റ കൂട്ടിച്ചേർക്കാം.

    പൈത്തൺ ട്യൂട്ടോറിയലുകൾക്ക് കീഴിൽ V5 കാറ്റഗറി വിവരണത്തിന്റെ ഭാഗമായ പൈത്തണിലെ വേരിയബിൾ ഫോർമാറ്റ് ചിത്രീകരിക്കുന്ന ഡയഗ്രം. പൈത്തൺ പ്രോഗ്രാമിംഗിലെ വേരിയബിളുകളുടെ ഘടനയും ഉപയോഗവും ചിത്രം ദൃശ്യപരമായി പ്രതിനിധീകരിക്കുന്നു.

    കുറിപ്പ്: “\n” എന്നത് പുതിയ വരിയിലെ പ്രതീകമാണ്. ഇത് വരി ഇവിടെ അവസാനിക്കുന്നുവെന്നും ഒരു പുതിയ വരിയുടെ തുടക്കമാണെന്നും സൂചിപ്പിക്കുന്നു.

  • പിന്നെ, data_buffer വേരിയബിളിൽ ഒരു നിശ്ചിത എണ്ണം ഡാറ്റ എൻട്രികൾ റെക്കോർഡ് ചെയ്യുന്നതിന്, ഡാറ്റ ലഭ്യമാക്കുന്നതിനുള്ള നിർദ്ദേശങ്ങൾ ആവർത്തിച്ച് നടപ്പിലാക്കുന്നതിനും നിരവധി ആവർത്തനങ്ങൾക്കായി data_buffer വേരിയബിളിലേക്ക് ഡാറ്റ കൂട്ടിച്ചേർക്കുന്നതിനും നമുക്ക് for loop ഉപയോഗിക്കാം. ആവർത്തനങ്ങളുടെ എണ്ണം നിർണ്ണയിക്കാൻ numOfDataEntries എന്ന വേരിയബിളിന്റെ മൂല്യം ഉപയോഗിക്കുക എന്നതാണ് ഞങ്ങളുടെ തന്ത്രം.

    റോബോട്ടിക്സിലെ പ്രോഗ്രാമിംഗ് ആവർത്തനങ്ങളുമായി ബന്ധപ്പെട്ട ഡാറ്റ പോയിന്റുകളും ട്രെൻഡുകളും കാണിക്കുന്ന ഒരു VEX V5 പൈത്തൺ ട്യൂട്ടോറിയലിലെ ആവർത്തനങ്ങളുടെ എണ്ണം ചിത്രീകരിക്കുന്ന ഗ്രാഫ്.

  • ഇതുവരെ, ഞങ്ങളുടെ പ്രോഗ്രാം കഴിയുന്നത്ര വേഗത്തിൽ ഡാറ്റ രേഖപ്പെടുത്തുന്നു. എന്നിരുന്നാലും, നിർദ്ദിഷ്ട സമയ ഇടവേളകളിൽ ഡാറ്റ രേഖപ്പെടുത്താൻ ഞങ്ങൾ ആഗ്രഹിക്കുന്നു. അതിനാൽ, രണ്ട് റീഡിംഗുകൾക്കിടയിലുള്ള നിർദ്ദിഷ്ട സമയ ഇടവേള ചേർക്കുന്നതിന് പ്രോഗ്രാം താൽക്കാലികമായി നിർത്തുന്നതിന് for loop -ൽ wait() ഫംഗ്ഷൻ ഉപയോഗിക്കാം. സമയ ഇടവേളയുടെ മൂല്യം നിർണ്ണയിക്കാൻ നമ്മൾ polling_delay_msec എന്ന വേരിയബിളിന്റെ മൂല്യം ഉപയോഗിക്കുന്നു.

    പൈത്തണിലെ സമയ ഇടവേള മൂല്യ നിർണ്ണയ പ്രക്രിയ ചിത്രീകരിക്കുന്ന ഗ്രാഫ്, പ്രധാന വേരിയബിളുകളും അവയുടെ ബന്ധങ്ങളും പ്രദർശിപ്പിക്കുന്നു. V5 പൈത്തൺ ട്യൂട്ടോറിയലുകളുമായി ബന്ധപ്പെട്ടത്.

അഭിനന്ദനങ്ങൾ! VEX ബ്രെയിനിൽ നിർമ്മിച്ചിരിക്കുന്ന ഇനേർഷ്യൽ സെൻസറിൽ നിന്ന് റീഡിംഗുകൾ (ആക്സിലറേഷൻ ഡാറ്റ) ലഭിക്കുന്നതിനുള്ള പ്രോഗ്രാം നമ്മൾ പൂർത്തിയാക്കി. അടുത്തതായി, SD കാർഡിലെ ഒരു CSV ഫയലിലേക്ക് ഡാറ്റ എങ്ങനെ എഴുതാമെന്ന് നമ്മൾ പര്യവേക്ഷണം ചെയ്യും.

VEX റോബോട്ടിക്സ് ആവാസവ്യവസ്ഥയിലെ പ്രധാന ഘടകങ്ങളും ബന്ധങ്ങളും ഉൾക്കൊള്ളുന്ന, പൈത്തൺ ട്യൂട്ടോറിയലുകൾക്കായുള്ള V5 വിഭാഗ ഘടന ചിത്രീകരിക്കുന്ന ഡയഗ്രം.




VEX ബ്രെയിനിലേക്ക് SD കാർഡ് ഘടിപ്പിക്കുന്നു

ഒരു SD കാർഡിലെ ഫയലിലേക്ക് ഡാറ്റ എഴുതുന്നതിനു മുമ്പ്, ആദ്യം VEX ബ്രെയിനിന്റെ SD കാർഡ് സ്ലോട്ടിലേക്ക് SD കാർഡ് ചേർക്കുക.

പൈത്തൺ ട്യൂട്ടോറിയലുകൾക്കായുള്ള V5 റോബോട്ട് കോൺഫിഗറേഷൻ ചിത്രീകരിക്കുന്ന ഡയഗ്രം, വിദ്യാഭ്യാസ ആവശ്യങ്ങൾക്കായി പ്രധാന ഘടകങ്ങളും അവയുടെ കണക്ഷനുകളും പ്രദർശിപ്പിക്കുന്നു.

കുറിപ്പ്: ഡാറ്റ റൈറ്റിംഗിനായി SD കാർഡ് FAT32 ലേക്ക് ഫോർമാറ്റ് ചെയ്യുക. 32GB അല്ലെങ്കിൽ അതിൽ കുറവ് വലിപ്പമുള്ള SD കാർഡുകൾ ഉപയോഗിക്കാൻ ഞങ്ങൾ ശുപാർശ ചെയ്യുന്നു.

SD കാർഡിലെ ഒരു ഫയലിലേക്ക് ഡാറ്റ എഴുതുന്നത് ഉചിതമായ സാഹചര്യങ്ങളിൽ ചെയ്യാൻ കഴിയുമെന്ന് ഉറപ്പാക്കാൻ, VEX IQ ബ്രെയിനിൽ (രണ്ടാം തലമുറ) SD കാർഡ് ശരിയായി ചേർത്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കാൻ നമ്മൾ കോഡ് ചേർക്കേണ്ടതുണ്ട്.

  • SD കാർഡ് ചേർത്തിട്ടുണ്ടോ എന്ന് പരിശോധിക്കാൻ brain.sdcard.is_inserted() ഫംഗ്ഷൻ ഉപയോഗിക്കുക. SD കാർഡ് ചേർത്തിട്ടില്ലെങ്കിൽ, VEX IQ ബ്രെയിൻ സ്ക്രീനിൽ അനുബന്ധ സന്ദേശം പ്രദർശിപ്പിച്ച് പ്രോഗ്രാം അമർത്തിപ്പിടിക്കുക.

    Screenshot of VEX IQ Brain screen displaying a message indicating that the SD card is not inserted, with instructions for holding the program. Relevant to Python tutorials in the V5 category.


    കുറിപ്പ്: brain.sdcard.is_inserted() ഫംഗ്ഷൻ ബ്രെയിനിൽ ഒരു SD കാർഡ് ചേർത്തിട്ടുണ്ടെങ്കിൽ True എന്ന് തിരികെ നൽകുന്നു.

SD കാർഡിലെ ഒരു CSV ഫയലിലേക്ക് ഡാറ്റ എഴുതുന്നു

ഇതുവരെ, ഞങ്ങളുടെ പ്രോഗ്രാമിന് VEX IQ ബ്രെയിൻ (രണ്ടാം തലമുറ) ഉപയോഗിച്ച് ഡാറ്റ ശേഖരിക്കാൻ കഴിയും. ഡാറ്റ ലോഗിംഗ് പ്രോജക്റ്റ് പൂർത്തിയാക്കാൻ, ഭാവിയിലെ പരിശോധനയ്ക്കും വിശകലനത്തിനുമായി SD കാർഡിലെ ഒരു കോമ-സെപ്പറേറ്റഡ് വാല്യൂസ് (CSV) ഫയലിലേക്ക് ഡാറ്റ എഴുതേണ്ടതുണ്ട്.

  • ഒരു CSV ഫയലിലേക്ക് വ്യത്യസ്ത തരം ഡാറ്റ എഴുതുമ്പോൾ, ഓരോ നിരയിലും ഏത് തരം ഡാറ്റയാണ് അടങ്ങിയിരിക്കുന്നതെന്ന് നമുക്ക് അറിയണം. ഇത് ചെയ്യുന്നതിന്, ഡാറ്റ റെക്കോർഡ് ചെയ്യുന്നതിന് മുമ്പ് നമുക്ക് CSV ഹെഡർ ടെക്സ്റ്റ് data_buffer വേരിയബിളിലേക്ക് കൂട്ടിച്ചേർക്കാം.
    അങ്ങനെ, ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കാൻ കോഡ് ചേർക്കുക csvHeaderText CSV ഫയലിനുള്ള കോളം നാമങ്ങൾ വ്യക്തമാക്കാൻ CSV ഹെഡർ ടെക്സ്റ്റ് സംഭരിക്കാനും ഒരു വേരിയബിൾ പ്രഖ്യാപിക്കാനും sd_file_name CSV ഫയലിന്റെ പേര് SD കാർഡിൽ എഴുതാൻ സൂക്ഷിക്കാനും.

    പൈത്തൺ ട്യൂട്ടോറിയലുകൾക്കായുള്ള V5 വിഭാഗ വിവരണം ചിത്രീകരിക്കുന്ന ഡയഗ്രം, പ്രധാന ഘടകങ്ങളും അവയുടെ ബന്ധങ്ങളും ഒരു ദൃശ്യ ഫോർമാറ്റിൽ പ്രദർശിപ്പിക്കുന്നു.

കുറിപ്പ്: data_buffer വേരിയബിളിൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റയുടെ അതേ ക്രമത്തിലാണ് ഹെഡറുകൾ എന്ന് ഉറപ്പാക്കുക.

  • അടുത്തതായി, ഡാറ്റ ശേഖരണത്തിനായുള്ള ലൂപ്പ് ന് മുമ്പുള്ള data_buffer സ്ട്രിംഗിലേക്ക് CSV ഹെഡർ ടെക്സ്റ്റ് കൂട്ടിച്ചേർക്കുക.

    V5 കാറ്റഗറി വിവരണത്തിനും പൈത്തൺ ട്യൂട്ടോറിയലുകൾക്കും പ്രസക്തമായ, പ്രധാന ഘടകങ്ങളും അവയുടെ പ്രവർത്തനങ്ങളും പ്രദർശിപ്പിക്കുന്ന, V5 പൈത്തൺ പ്രോഗ്രാമിംഗ് പരിതസ്ഥിതി ചിത്രീകരിക്കുന്ന ഡയഗ്രം.

  • SD കാർഡിലെ ഒരു ഫയലിലേക്ക് ഡാറ്റ എഴുതുന്നതിനു മുമ്പ്, brain.sdcard.savefile() ഫംഗ്ഷൻ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് നമുക്ക് ആദ്യം മനസ്സിലാക്കാം.

    പൈത്തൺ ട്യൂട്ടോറിയലുകൾക്കായുള്ള V5 വിഭാഗ വിവരണം ചിത്രീകരിക്കുന്ന ഡയഗ്രം, VEX V5 റോബോട്ടിക്സ് സിസ്റ്റത്തിന്റെ പ്രധാന ഘടകങ്ങളും പ്രവർത്തനങ്ങളും പ്രദർശിപ്പിക്കുന്നു.


    ഈ നിർദ്ദേശം data_buffer വേരിയബിളിൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റ SD കാർഡിലെ ഒരു പേരുള്ള CSV ഫയലിലേക്ക് എഴുതുന്നു.
    നമുക്ക് അത് വിഭജിക്കാം:
    • brain.sdcard.savefile(): ഫംഗ്ഷൻ ഒരു ബൈറ്റ് അറേയെ SD കാർഡിലെ ഒരു പേരുള്ള ഫയലിലേക്ക് സംരക്ഷിക്കുന്നു. ഫംഗ്ഷൻ ഫയലിൽ എഴുതിയ ബൈറ്റുകളുടെ എണ്ണം തിരികെ നൽകുന്നു.

    • sd_file_name: ഫംഗ്ഷന്റെ ആദ്യ പാരാമീറ്റർ. എഴുതേണ്ട ഫയലിന്റെ പേര് സൂചിപ്പിക്കുന്നു. ഈ പ്രോജക്റ്റിൽ, ഫയലിന്റെ പേര് വേരിയബിൾ sd_file_name-ൽ സൂക്ഷിച്ചിരിക്കുന്നു.

    • bytearray(datat_buffer,'utf-8'): ഫംഗ്ഷന്റെ രണ്ടാമത്തെ പാരാമീറ്റർ. ഫയലിലേക്ക് എഴുതേണ്ട ബൈറ്റിയർറേയെ പ്രതിനിധീകരിക്കുന്നു.

        • bytearray(): ഈ രീതി ഒരു മ്യൂട്ടബിൾ bytearray സൃഷ്ടിക്കുന്നു. ഈ നിർദ്ദേശത്തിൽ, എൻകോഡിംഗ് വ്യക്തമാക്കി ഒരു സ്ട്രിംഗിനെ ബൈറ്റിയർറേയിലേക്ക് പരിവർത്തനം ചെയ്യാൻ ഞങ്ങൾ ഇത് ഉപയോഗിക്കുന്നു.
        • data_buffer: രീതിയുടെ ആദ്യ പാരാമീറ്റർ. ഒരു ബൈടിയർറേയിലേക്ക് പരിവർത്തനം ചെയ്യേണ്ട ഉറവിടത്തെ സൂചിപ്പിക്കുന്നു. ഈ പ്രോജക്റ്റിൽ, ഉറവിടം വേരിയബിൾ data_buffer-ൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റയാണ്. 
        • 'utf-8': രീതിയുടെ രണ്ടാമത്തെ പാരാമീറ്റർ. സ്ട്രിംഗ് എൻകോഡ് ചെയ്യാൻ ഉപയോഗിക്കുന്ന നിർദ്ദിഷ്ട എൻകോഡിംഗിനെ സൂചിപ്പിക്കുന്നു. ഈ നിർദ്ദേശത്തിലെ എൻകോഡിംഗ് 'utf-8' ആണ്. 
  • ഡാറ്റ ശേഖരണത്തിനായുള്ള ലൂപ്പ് നുള്ള ന് ശേഷം, data_buffer വേരിയബിളിൽ സംഭരിച്ചിരിക്കുന്ന ഡാറ്റ SD കാർഡിലെ CSV ഫയലിലേക്ക് എഴുതാൻ brain.sdcard.savefile() ഫംഗ്ഷൻ ഉപയോഗിക്കുക. കൂടാതെ, ഫയലിലേക്ക് ഡാറ്റ വിജയകരമായി എഴുതിയിട്ടുണ്ടോ എന്ന് പരിശോധിക്കാൻ brain.sdcard.savefile() ഫംഗ്ഷനിൽ നിന്ന് റിട്ടേൺ മൂല്യം പരിശോധിക്കുന്നതിനായി കോഡ് ചേർക്കുക, തത്സമയ ഫീഡ്‌ബാക്ക് ലഭിക്കുന്നതിന് VEX IQ ബ്രെയിൻ സ്‌ക്രീനിൽ അനുബന്ധ സന്ദേശം പ്രദർശിപ്പിക്കുക.

    Diagram illustrating the V5 robot's components and their functions, used in Python tutorials for educational purposes.


    കുറിപ്പ്: brain.sdcard.savefile() ഫംഗ്ഷൻ ഫയലിലേക്ക് എഴുതിയ ബൈറ്റുകളുടെ എണ്ണം തിരികെ നൽകുന്നു. ഈ പ്രോജക്റ്റിൽ, ശേഖരിച്ച ഡാറ്റ ഒരു CSV ഫയലിലേക്ക് എഴുതാൻ ഞങ്ങൾ ഇത് ഉപയോഗിക്കുന്നു, അതിനാൽ ഫയലിലേക്ക് എഴുതിയ ബൈറ്റുകളുടെ എണ്ണം പൂജ്യത്തേക്കാൾ കൂടുതലായിരിക്കണം. മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, brain.sdcard.savefile() ഫംഗ്ഷൻ 0 നൽകുകയാണെങ്കിൽ, ഡാറ്റ ഫയലിലേക്ക് വിജയകരമായി എഴുതിയിട്ടില്ലെന്ന് നമുക്ക് നിഗമനം ചെയ്യാം. അല്ലെങ്കിൽ, ഡാറ്റ ഫയലിൽ എഴുതിയിട്ടുണ്ട്.

അഭിനന്ദനങ്ങൾ! VEX IQ ബ്രെയിൻ (രണ്ടാം തലമുറ) ഉപയോഗിച്ച് ആക്സിലറേഷൻ ഡാറ്റ ശേഖരിച്ച് SD കാർഡിലെ ഒരു CSV ഫയലിലേക്ക് സംഭരിക്കുന്ന ഒരു ഡാറ്റ ലോഗിംഗ് പ്രോജക്റ്റ് ഞങ്ങൾ വികസിപ്പിച്ചെടുത്തിട്ടുണ്ട്. അടുത്തതായി, ഡാറ്റ വിശകലനത്തിനായി CSV ഫയൽ എങ്ങനെ തുറക്കാമെന്ന് നമ്മൾ പര്യവേക്ഷണം ചെയ്യും. 

VEX റോബോട്ടിക്സ് പ്രോഗ്രാമിംഗിനായുള്ള പൈത്തൺ ട്യൂട്ടോറിയലുകളിൽ ഉപയോഗിക്കുന്ന V5 റോബോട്ടിന്റെ ഘടകങ്ങളും അവയുടെ പ്രവർത്തനങ്ങളും ചിത്രീകരിക്കുന്ന ഡയഗ്രം. ഹാർഡ്‌വെയർ സജ്ജീകരണം പഠിതാക്കൾക്ക് മനസ്സിലാക്കാൻ ഈ ചിത്രം ഒരു ദൃശ്യ റഫറൻസ് നൽകുന്നു.

ഡാറ്റ വിശകലനത്തിനായി CSV ഫയൽ തുറക്കുന്നു

SD കാർഡിലെ CSV ഫയലിലേക്ക് ഡാറ്റ എഴുതിക്കഴിഞ്ഞാൽ, ഡാറ്റ വായിക്കുന്നതിനും വിശകലനം ചെയ്യുന്നതിനുമായി ഫയൽ തുറക്കാൻ നമുക്ക് ഒരു സ്പ്രെഡ്ഷീറ്റ് ആപ്ലിക്കേഷൻ ഉപയോഗിക്കാം. 

കുറിപ്പ്: ഏറ്റവും സാധാരണമായ രണ്ട് സ്പ്രെഡ്ഷീറ്റ് ആപ്ലിക്കേഷനുകളാണ് ഗൂഗിൾ ഷീറ്റുകളും മൈക്രോസോഫ്റ്റ് എക്സലും. ഈ ലേഖനത്തിൽ, SD കാർഡിൽ CSV ഫയൽ തുറക്കാൻ നമ്മൾ Google Sheets (വെബ്-അധിഷ്ഠിതം) ഉപയോഗിക്കും. മറ്റ് ആപ്ലിക്കേഷനുകൾ ഉപയോഗിക്കുന്ന പ്രക്രിയയും സമാനമാണ്.

  • VEX IQ ബ്രെയിനിന്റെ SD കാർഡ് സ്ലോട്ടിൽ നിന്ന് SD കാർഡ് നീക്കം ചെയ്യുക. കമ്പ്യൂട്ടറിൽ ഒരു ബിൽറ്റ്-ഇൻ മൈക്രോ എസ്ഡി കാർഡ് സ്ലോട്ട് ഉണ്ടെങ്കിൽ, നമുക്ക് ആ സ്ലോട്ടിലേക്ക് നേരിട്ട് എസ്ഡി കാർഡ് ചേർക്കാം. അല്ലെങ്കിൽ, SD കാർഡ് ഒരു SD കാർഡ് അഡാപ്റ്ററിലേക്ക് തിരുകുക, തുടർന്ന് അഡാപ്റ്റർ കമ്പ്യൂട്ടറുമായി ബന്ധിപ്പിക്കുക. 
  • ഞങ്ങളുടെ ഗൂഗിൾ അക്കൗണ്ടിൽ ലോഗിൻ ചെയ്ത് ഗൂഗിൾ ഷീറ്റ് തുറക്കുക. ഒരു പുതിയ സ്‌പ്രെഡ്‌ഷീറ്റ് സൃഷ്‌ടിക്കുക.
  • സ്പ്രെഡ്ഷീറ്റിൽ, “ഫയൽ” മെനു തുറന്ന്, “ഇംപോർട്ട്” -> “അപ്‌ലോഡ്” -> “ബ്രൗസ്” ബട്ടൺ തിരഞ്ഞെടുക്കുക, തുടർന്ന് കമ്പ്യൂട്ടറിലെ CSV ഫയൽ തിരഞ്ഞെടുക്കുക. CSV ഫയൽ അപ്‌ലോഡ് ചെയ്തതിനുശേഷം, “ഡാറ്റ ഇറക്കുമതി ചെയ്യുക” ബട്ടൺ ക്ലിക്കുചെയ്യുക. ഡാറ്റ ഇറക്കുമതി ചെയ്തതിനുശേഷം, ശേഖരിച്ച ഡാറ്റ CSV ഫയലിൽ കാണാൻ “ഇപ്പോൾ തുറക്കുക” ക്ലിക്ക് ചെയ്യുക.

    VEX റോബോട്ടിക്സ് ഉപയോഗിച്ച് പ്രോഗ്രാമിംഗിനുള്ള പ്രധാന ആശയങ്ങളും ഉറവിടങ്ങളും ചിത്രീകരിക്കുന്ന VEX V5 പൈത്തൺ ട്യൂട്ടോറിയൽ അവലോകന ചിത്രം.

  • (ഓപ്ഷണൽ) ഡാറ്റ വിശകലനം ചെയ്യാനുള്ള ഒരു എളുപ്പ മാർഗം ഒരു ഗ്രാഫ് വരയ്ക്കുക എന്നതാണ്, തുടർന്ന് ഡാറ്റയിലെ ട്രെൻഡുകൾക്കായി നോക്കുക. സ്പ്രെഡ്ഷീറ്റിൽ, “ഇൻസേർട്ട്” മെനു തുറന്ന് “ചാർട്ട്” തിരഞ്ഞെടുത്ത് CSV ഫയലിലെ ഡാറ്റ ഉപയോഗിച്ച് ഒരു ഗ്രാഫ് വരയ്ക്കുക. VEX IQ ബ്രെയിൻ (രണ്ടാം തലമുറ) ഉപയോഗിച്ച് ശേഖരിച്ച ആക്സിലറേഷൻ ഡാറ്റയുടെ ഫലമാണ് ഇനിപ്പറയുന്ന ഗ്രാഫ്.

    Diagram illustrating the V5 Python tutorial structure, showcasing various components and their relationships in a clear and organized manner, designed to aid users in understanding the programming framework for VEX robotics.


    കുറിപ്പ്: വ്യത്യസ്തമായ ഒരു ചാർട്ട് തരം തിരഞ്ഞെടുക്കുന്നതിനോ നമ്മുടെ ആവശ്യങ്ങൾക്കനുസരിച്ച് ചാർട്ട് എഡിറ്റ് ചെയ്യുന്നതിനോ നമുക്ക് ചാർട്ട് എഡിറ്റർ ഉപയോഗിക്കാം.

ഇതുവരെ, VEX IQ ബ്രെയിൻ (രണ്ടാം തലമുറ) ഉപയോഗിച്ച് ഡാറ്റ ശേഖരിച്ച് SD കാർഡിലെ ഒരു CSV ഫയലിൽ സംരക്ഷിക്കുന്ന ഡാറ്റ ലോഗിംഗ് പ്രോജക്റ്റ് ഞങ്ങൾ പൂർത്തിയാക്കി. കൂടാതെ, ഗൂഗിൾ ഷീറ്റുകൾ ഉപയോഗിച്ച് SD കാർഡിലെ CSV ഫയൽ എങ്ങനെ വായിക്കാമെന്നും കൂടുതൽ വിശകലനത്തിനായി ഒരു ഗ്രാഫ് സൃഷ്ടിക്കാമെന്നും നമ്മൾ പഠിച്ചു. ഇനി എന്ത്? മാറിക്കൊണ്ടിരിക്കുന്ന പാരിസ്ഥിതിക ഘടകങ്ങൾ വിവിധ തരം ഡാറ്റകളെ എങ്ങനെ ബാധിക്കുന്നുവെന്ന് നിരീക്ഷിക്കുന്നതിനും നമുക്ക് ചുറ്റുമുള്ള ലോകത്തെക്കുറിച്ചുള്ള ആഴത്തിലുള്ള ധാരണ നേടുന്നതിനും, ഡാറ്റ ലോഗിംഗിനായി VEX റോബോട്ട് ഉപയോഗിച്ച് കൂടുതൽ ആവേശകരമായ പരീക്ഷണങ്ങൾ ആസൂത്രണം ചെയ്യാൻ ശ്രമിക്കാം.

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: