ഒബ്ജക്റ്റ് സെൻസർ#

ആമുഖം#

ഒബ്ജക്റ്റ് സെൻസർ എന്നത് ഒരു ഇൻഫ്രാറെഡ് (IR) പ്രോക്സിമിറ്റി സെൻസറാണ്, ഇത് പ്രതിഫലിക്കുന്ന IR പ്രകാശം ഉപയോഗിച്ച് ഒരു വസ്തു അടുത്തെത്തുമ്പോൾ അത് കണ്ടെത്തുന്നു.

VEX ഒബ്ജക്റ്റ് സെൻസർ.

ഈ പേജിൽ ഒബ്ജക്റ്റ് സെൻസർ നാമത്തിന് ഉദാഹരണമായി object_sensor ഉപയോഗിക്കുന്നു. ആവശ്യാനുസരണം നിങ്ങളുടെ സ്വന്തം കോൺഫിഗർ ചെയ്ത പേര് ഉപയോഗിച്ച് ഇത് മാറ്റിസ്ഥാപിക്കുക.

ലഭ്യമായ രീതികളുടെ ഒരു ലിസ്റ്റ് താഴെ കൊടുക്കുന്നു:

  • reflectivity – വസ്തുവിൽ നിന്ന് പ്രതിഫലിക്കുന്ന പ്രകാശത്തിന്റെ അളവിനെ ഒരു ശതമാനമായി പ്രതിനിധീകരിക്കുന്ന ഒരു integer നൽകുന്നു.

  • is_object_detected – ഒബ്ജക്റ്റ് സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

  • set_threshold – ഒരു വസ്തു കണ്ടെത്തുന്നതിന് മുമ്പ് ആവശ്യമായ പ്രതിഫലിക്കുന്ന പ്രകാശത്തിന്റെ അളവ് സജ്ജമാക്കുന്നു.

  • object_detected – ഒബ്ജക്റ്റ് സെൻസർ ഒരു പുതിയ ഒബ്ജക്റ്റ് കണ്ടെത്തുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

  • object_lost – ഒബ്ജക്റ്റ് സെൻസർ കണ്ടെത്തിയ ഒരു ഒബ്ജക്റ്റ് നഷ്ടപ്പെടുത്തുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

  • changed – ഒബ്ജക്റ്റ് സെൻസറിന്റെ മൂല്യം മാറുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

കൺസ്ട്രക്ടർ - ഒരു ഒബ്ജക്റ്റ് സെൻസർ സ്വമേധയാ ഇനീഷ്യലൈസ് ചെയ്യുക.

  • ObjectDetector – ഒരു ഒബ്ജക്റ്റ് സെൻസർ സൃഷ്ടിക്കുക.

പ്രതിഫലനശേഷി#

reflectivity ഒരു integer നൽകുന്നു, അത് വസ്തുവിൽ നിന്ന് പ്രതിഫലിക്കുന്ന പ്രകാശത്തിന്റെ അളവിനെ ഒരു ശതമാനമായി പ്രതിനിധീകരിക്കുന്നു.

കുറിപ്പ്:

  • 0% പ്രതിഫലനം എന്നതിനർത്ഥം വസ്തു വളരെ ഇരുണ്ടതാണെന്നാണ്. സെൻസർ 3000 അല്ലെങ്കിൽ അതിൽ കൂടുതലുള്ള ഒരു അസംസ്കൃത മൂല്യം കാണുന്നു.

  • 100% പ്രതിഫലനം എന്നാൽ വസ്തു വളരെ തിളക്കമുള്ളതാണെന്ന് അർത്ഥമാക്കുന്നു. സെൻസർ 0 എന്ന അസംസ്കൃത മൂല്യം കാണുന്നു.

Usage:
object_sensor.reflectivity()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# Drive forward when the reflectivity is greater than 50%.
while True:
    if object_sensor.reflectivity() > 50:
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

വസ്തുവിനെ_കണ്ടെത്തി#

is_object_detected എന്നത് ഒബ്ജക്റ്റ് സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നുണ്ടോ എന്ന് നൽകുന്നു.

  • True – ഒബ്ജക്റ്റ് സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നു.

  • False – ഒബ്ജക്റ്റ് സെൻസർ ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നില്ല.

Usage:
object_sensor.is_object_detected()

പാരാമീറ്ററുകൾ

വിവരണം

ഈ രീതിക്ക് പാരാമീറ്ററുകൾ ഇല്ല.

# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

സെറ്റ്_ത്രെഷോൾഡ്#

set_threshold ഒരു വസ്തുവിനെ കണ്ടെത്തുന്നതിന് മുമ്പ് ആവശ്യമായ പ്രതിഫലിക്കുന്ന പ്രകാശത്തിന്റെ അളവ് ഒരു ശതമാനമായി സജ്ജമാക്കുന്നു.

Usage:
object_sensor.set_threshold(value)

പാരാമീറ്ററുകൾ

വിവരണം

value

ഒരു വസ്തുവിനെ പൂർണ്ണ സംഖ്യയായി കണക്കാക്കാൻ ആവശ്യമായ പ്രതിഫലിക്കുന്ന പ്രകാശത്തിന്റെ അളവ്, പൂജ്യം മുതൽ 100 ​​വരെ.

# Set the reflectivity threshold to 50%.
object_sensor.set_threshold(50)
# Drive forward when the object sensor is detecting an object.
while True:
    if object_sensor.is_object_detected():
        drivetrain.drive(FORWARD)
    else:
        drivetrain.stop()
    wait(5, MSEC)

ഒബ്ജക്റ്റ്_ഡിറ്റക്റ്റഡ്#

object_detected എന്നത് ഒബ്ജക്റ്റ് സെൻസർ ഒരു പുതിയ ഒബ്ജക്റ്റ് കണ്ടെത്തുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ രജിസ്റ്റർ ചെയ്യുന്നു.

Usage:
object_sensor.object_detected(callback, arg)

പാരാമീറ്ററുകൾ

വിവരണം

callback

ഒബ്ജക്റ്റ് സെൻസർ ഒരു പുതിയ വസ്തുവിനെ കണ്ടെത്തുമ്പോൾ നടപ്പിലാക്കുന്ന, മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ.

arg

ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നതിനുള്ള ആർഗ്യുമെന്റുകൾ അടങ്ങിയ ഒരു tuple. കൂടുതൽ വിവരങ്ങൾക്ക് പാരാമീറ്ററുകളുള്ള ഫംഗ്ഷനുകൾ കാണുക.

def my_function():
  brain.screen.print("Object detected.")

# Call my_function whenever object_sensor detects an object
object_sensor.object_detected(my_function)

വസ്തു_നഷ്ടപ്പെട്ടു#

ഒബ്ജക്റ്റ് സെൻസർ കണ്ടെത്തിയ ഒരു ഒബ്ജക്റ്റ് നഷ്ടപ്പെടുത്തുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ object_lost രജിസ്റ്റർ ചെയ്യുന്നു.

Usage:
object_sensor.object_lost(callback, arg)

പാരാമീറ്ററുകൾ

വിവരണം

callback

ഒബ്ജക്റ്റ് സെൻസർ കണ്ടെത്തിയ ഒരു വസ്തു നഷ്ടപ്പെടുമ്പോൾ നടപ്പിലാക്കുന്ന, മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ.

arg

ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നതിനുള്ള ആർഗ്യുമെന്റുകൾ അടങ്ങിയ ഒരു tuple. കൂടുതൽ വിവരങ്ങൾക്ക് പാരാമീറ്ററുകളുള്ള ഫംഗ്ഷനുകൾ കാണുക.

def my_function():
  brain.screen.print("Object lost.")

# Call my_function whenever object_sensor loses an object
object_sensor.object_lost(my_function)

മാറ്റി#

ഒബ്ജക്റ്റ് സെൻസറിന്റെ മൂല്യം മാറുമ്പോഴെല്ലാം വിളിക്കേണ്ട ഒരു ഫംഗ്ഷൻ changed രജിസ്റ്റർ ചെയ്യുന്നു.

Usage:
object_sensor.changed(callback, arg)

പാരാമീറ്ററുകൾ

വിവരണം

callback

ഒബ്ജക്റ്റ് സെൻസറിന്റെ മൂല്യം മാറുമ്പോൾ നടപ്പിലാക്കുന്ന, മുമ്പ് നിർവചിച്ച ഒരു ഫംഗ്ഷൻ.

arg

ഓപ്ഷണൽ. കോൾബാക്ക് ഫംഗ്ഷനിലേക്ക് കൈമാറുന്നതിനുള്ള ആർഗ്യുമെന്റുകൾ അടങ്ങിയ ഒരു tuple. കൂടുതൽ വിവരങ്ങൾക്ക് പാരാമീറ്ററുകളുള്ള ഫംഗ്ഷനുകൾ കാണുക.

def my_function():
  brain.screen.print("Reflectivity changed.")

# Call my_function whenever object_sensor's value changes
object_sensor.changed(my_function)

കൺസ്ട്രക്‌ടർമാർ#

ഒബ്ജക്റ്റ് സെൻസറുകൾ കോൺഫിഗർ ചെയ്യുന്നതിന് ആവശ്യമായ ObjectDetector ഒബ്ജക്റ്റുകൾ സ്വമേധയാ സൃഷ്ടിക്കാൻ കൺസ്ട്രക്റ്ററുകൾ ഉപയോഗിക്കുന്നു.

ObjectDetector#

ObjectDetector ഒരു ഒബ്ജക്റ്റ് സെൻസർ സൃഷ്ടിക്കുന്നു.

Usage:
ObjectDetector(port, reverse_det)

പാരാമീറ്റർ

വിവരണം

port

ഒബ്ജക്റ്റ് സെൻസർ ബന്ധിപ്പിച്ചിരിക്കുന്ന 3-വയർ പോർട്ട്:

reverse_det

ഓപ്ഷണൽ. ഡിറ്റക്ഷൻ ലോജിക് റിവേഴ്‌സ് ചെയ്യണോ വേണ്ടയോ എന്ന്:

  • True – ഒരു വസ്തു നഷ്ടപ്പെട്ടാൽ, ഒരു വസ്തു കണ്ടെത്തിയെന്ന് തിരികെ നൽകുക, ഒരു വസ്തു കണ്ടെത്തിയാൽ, അത് നഷ്ടപ്പെട്ടെന്ന് തിരികെ നൽകുക.
  • False (സ്ഥിരസ്ഥിതി) – ഒരു വസ്തു നഷ്ടപ്പെട്ടാൽ, ഒരു വസ്തു നഷ്ടപ്പെട്ടെന്ന് തിരികെ നൽകുക, ഒരു വസ്തു കണ്ടെത്തിയാൽ, അത് കണ്ടെത്തിയെന്ന് തിരികെ നൽകുക.

# Create an Object Sensor in Port A
object_sensor = ObjectDetector(brain.three_wire_port.a)