Skip to main content

എന്താണ് ഒരു വിഷൻ സെൻസർ? - സി ++

ടീച്ചർ ടൂൾബോക്സ് ഐക്കൺ ടീച്ചർ ടൂൾബോക്സ് - ഈ പേജിന്റെ ഉദ്ദേശ്യം

ഈ പേജ് വിദ്യാർത്ഥികളെ ഒരു വിഷൻ സെൻസർ എന്താണെന്നും അതിന്റെ ചില കഴിവുകളെക്കുറിച്ചും പരിചയപ്പെടുത്തും. തുടർന്ന് വിദ്യാർത്ഥികൾ ഒരു ഉദാഹരണ പ്രോജക്റ്റിന്റെ ഭാഗിക ചിത്രം വിശകലനം ചെയ്ത് VEXcode V5-നൊപ്പം വിഷൻ സെൻസർ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് കാണും.
പേജിന്റെ അടിയിലുള്ള മോട്ടിവേറ്റ് ചർച്ചാ ചോദ്യങ്ങൾ ഒരു ക്ലാസ് ചർച്ചയായോ വിദ്യാർത്ഥികളുടെ എഞ്ചിനീയറിംഗ് നോട്ട്ബുക്കുകളിൽ വ്യക്തിഗതമായോ പൂർത്തിയാക്കാം.

ചർച്ചയെ പ്രചോദിപ്പിക്കുക ഐക്കൺ ചർച്ചയ്ക്ക് പ്രചോദനം നൽകുക

ചോദ്യം:ഒരു വിഷൻ സെൻസറുള്ള ഒരു റോബോട്ടിന്റെ സഹായം ഏതൊക്കെ തരത്തിലുള്ള മനുഷ്യ ജോലികൾക്കാണ് പ്രയോജനം ചെയ്യുക?
ഉത്തരം:പരിസ്ഥിതികളെ കാണാനും വിദൂര ദൂരങ്ങളിൽ നിന്ന് ചുറ്റുപാടുകൾ കൈകാര്യം ചെയ്യാനും (ഉദാഹരണത്തിന്, കാട്ടിൽ മൃഗങ്ങളെ നിരീക്ഷിക്കുക, സ്ഫോടകവസ്തുക്കൾ നിരായുധമാക്കുക, അല്ലെങ്കിൽ റോബോട്ട് സഹായത്തോടെയുള്ള ശസ്ത്രക്രിയ നടത്തുക) കഴിവിൽ നിന്ന് പ്രയോജനം ലഭിക്കുന്ന മനുഷ്യ ജോലികൾ ശ്രദ്ധിക്കുക.

ചോദ്യം:ഒരു ഉപകരണത്തിന് പേര് നൽകി അത് ഇൻപുട്ട്, ഔട്ട്പുട്ട്, പ്രോസസ്സ് എന്നിവ എങ്ങനെ ഉപയോഗിക്കുന്നു എന്ന് വിവരിക്കുക.
ഉത്തരം:ഒരു വ്യക്തി ഇൻപുട്ട് ചെയ്യുന്ന സംഖ്യകളുടെയും ഗണിത ഓപ്പറേറ്ററുകളുടെയും ക്രമങ്ങൾ എടുത്ത്, ആ സംഖ്യകളും പ്രവർത്തനങ്ങളും പ്രോസസ്സ് ചെയ്ത്, ഫലം കണക്കാക്കി, തുടർന്ന് ആ വ്യക്തിക്കായി ഒരു സ്ക്രീനിൽ ഔട്ട്പുട്ട് ചെയ്യുന്ന ഒരു കാൽക്കുലേറ്റർ ആകാം ഒരു സാധ്യമായ ഉത്തരം.

ചോദ്യം:മുകളിൽ കാണിച്ചിരിക്കുന്ന പ്രോജക്റ്റിൽ ഒരു ഫോറെവർ ലൂപ്പ് ഉപയോഗിച്ചത് എന്തുകൊണ്ടാണെന്ന് നിങ്ങൾ കരുതുന്നു?
ഉത്തരം:ഒരു ഫോറെവർ ലൂപ്പ് ഉപയോഗിച്ചതിനാൽ, വിഷൻ സെൻസർ ഒന്നിലധികം സ്നാപ്പ്ഷോട്ടുകൾ തുടർച്ചയായി പരിശോധിച്ച് സെൻസറിൽ ഒരു ചുവന്ന വസ്തു ദൃശ്യമാകുന്നുണ്ടോ എന്ന് പരിശോധിച്ചു.

വിവരണം

ഒരു തത്സമയ ഫീഡിൽ നിന്ന് ദൃശ്യ ഡാറ്റ ശേഖരിക്കാൻ വിഷൻ സെൻസർ നിങ്ങളുടെ റോബോട്ടിനെ അനുവദിക്കുന്നു. ഒരു വീഡിയോ ക്യാമറ പകർത്തുന്നതിന്റെ സ്ട്രീമിംഗ് ട്രാൻസ്മിഷനാണ് ലൈവ് ഫീഡ്. വിഷ്വൽ സെൻസർ ഒരു സ്മാർട്ട് ക്യാമറ പോലെയാണ്, അതിന് അതിന്റെ ദൃശ്യ മണ്ഡലത്തിൽ ദൃശ്യമാകുന്ന നിറങ്ങളും വസ്തുക്കളും നിരീക്ഷിക്കാനും തിരഞ്ഞെടുക്കാനും ക്രമീകരിക്കാനും സംഭരിക്കാനും കഴിയും.

VEX വിഷൻ സെൻസർ, സെൻസറിന്റെ മുകൾഭാഗം ഇടതുവശത്തും താഴെയുമായി കാണിച്ചിരിക്കുന്നു, കണക്ഷനുകൾക്കുള്ള പോർട്ടുകൾ വലതുവശത്ത് കാണിച്ചിരിക്കുന്നു.
വിഷൻ സെൻസർ 276-4850

കഴിവുകൾ:

  • നിറങ്ങളും വർണ്ണ പാറ്റേണുകളും തിരിച്ചറിയാൻ ഈ സെൻസർ ഉപയോഗിക്കാം.
  • ഒരു വസ്തുവിനെ പിന്തുടരാൻ ഈ സെൻസർ ഉപയോഗിക്കാം.
  • പരിസ്ഥിതിയെക്കുറിച്ചുള്ള വിവരങ്ങൾ ശേഖരിക്കാൻ ഈ സെൻസർ ഉപയോഗിക്കാം.

വിഷൻ സെൻസർ റോബോട്ടിനെ അതിന്റെ പരിസ്ഥിതിയിൽ നിന്നുള്ള വിഷ്വൽ ഇൻപുട്ട് ഡാറ്റ ഉപയോഗിക്കാൻ അനുവദിക്കുന്നു. വിഷ്വൽ ഇൻപുട്ട് ഡാറ്റ റോബോട്ടിന്റെ സ്വഭാവത്തെ എങ്ങനെ ബാധിക്കണമെന്ന് പ്രോജക്റ്റിന് നിർണ്ണയിക്കാൻ കഴിയും. ഉദാഹരണത്തിന്, മോട്ടോറുകൾ കറക്കുക, LCD സ്ക്രീനിൽ ഫലങ്ങൾ പ്രദർശിപ്പിക്കുക തുടങ്ങിയ പ്രവർത്തനങ്ങൾ (ഔട്ട്പുട്ട്) റോബോട്ടിന് ചെയ്യാൻ കഴിയും.

വിഷൻ സെൻസറിന് മുന്നിലുള്ളതിന്റെ ഒരു സ്നാപ്പ്ഷോട്ട് പകർത്താനും ഉപയോക്താവ് ചോദിക്കുന്നതനുസരിച്ച് അത് വിശകലനം ചെയ്യാനും കഴിയും. ഉദാഹരണത്തിന്, ഒരു ഉപയോക്താവിന് സ്നാപ്പ്ഷോട്ടിൽ നിന്ന് ഡാറ്റ ശേഖരിക്കാൻ കഴിയും, ഉദാഹരണത്തിന്, വസ്തുവിന്റെ നിറം എന്താണ്? ഒരു വസ്തു കണ്ടെത്തിയോ? വസ്തുവിന്റെ വലിപ്പം (വീതിയും ഉയരവും) എത്രയാണ്?

ഈ ഡാറ്റയെ അടിസ്ഥാനമാക്കി റോബോട്ടിന് തീരുമാനങ്ങൾ എടുക്കാൻ കഴിയും. ഇത് എങ്ങനെ ചെയ്യാമെന്ന് താഴെയുള്ള ഭാഗിക ഉദാഹരണ പ്രോജക്റ്റ് കാണിക്കുന്നു. പ്രോജക്റ്റ് ആരംഭിച്ചതിന് ശേഷം മൂന്ന് നിറങ്ങൾ ആവർത്തിച്ച് പരിശോധിക്കുന്നു, ഓരോ നിറ പരിശോധനയും വ്യത്യസ്ത സംഭവമാണ്. നീല പരിശോധിക്കുന്ന ഇവന്റ് മാത്രമേ താഴെ കാണിച്ചിട്ടുള്ളൂ. ഒരു നീല വസ്തു കണ്ടെത്തിയാൽ "നീല വസ്തു കണ്ടെത്തി" എന്നും അല്ലെങ്കിൽ "നീല വസ്തു ഇല്ല" എന്നും ഈ സ്റ്റാക്കിൽ റോബോട്ട് പ്രിന്റ് ഉണ്ട്. താഴെ കാണിച്ചിട്ടില്ലാത്ത checkRed, checkGreen ഇവന്റുകൾക്ക് സ്ക്രീനിൽ എന്ത് പ്രിന്റ് ചെയ്യണമെന്ന് തീരുമാനിക്കുന്നതിന് സമാനമായ സ്റ്റാക്കുകളുണ്ട്.

#include "vex.h"

using namespace vex;

event checkBlue = event();
event checkRed = event();
event checkGreen = event();

void has BlueCallback() {

  Brain.Screen.setFont(mono20);
  Brain.Screen.clearLine(1, black);
  Brain.Screen.setCursor(Brain.Screen.row(), 1);
  Brain.Screen.setCursor(1, 1);
  Vision5.takeSnapshot(Vision5__BLUEBOX);

  if (Vision5.objectCount > 0) {
    Brain.Screen.print("Blue Object Found");

  } else {
    Brain.Screen.print("No Blue Object");
  }
}

// പ്രോജക്റ്റ് കോഡ് ആരംഭിക്കുക
int main() {
  // റോബോട്ട് കോൺഫിഗറേഷൻ ആരംഭിക്കുന്നു. നീക്കം ചെയ്യരുത്!
  vexcodeInit();

  checkBlue (hasBlueCallback);

  while (true) {
    checkBlue.broadcast();
    checkRed.broadcast();
    checkGreen.broadcast();
    wait(1, seconds);
  }
}