ऑप्टिकल#

परिचय#

ऑप्टिकल सेंसर एक प्रकाश-आधारित सेंसर है जो वस्तुओं का पता लगाने, रंगों की पहचान करने और चमक और रंगत को मापने के लिए परावर्तित प्रकाश का उपयोग करता है।

आप सेंसर की आंतरिक रोशनी की चमक को भी कॉन्फ़िगर कर सकते हैं। ये उपकरण उन प्रोग्रामों के लिए आदर्श हैं जिन्हें रंगीन वस्तुओं, प्रकाश की स्थितियों या सेंसर से मिलने वाली प्रतिक्रिया पर वास्तविक समय में प्रतिक्रिया करने की आवश्यकता होती है।

इस पृष्ठ पर ऑप्टिकल सेंसर के उदाहरण के रूप में optical_1 का उपयोग किया गया है। आवश्यकतानुसार इसे अपने स्वयं के कॉन्फ़िगर किए गए नाम से बदलें।

नीचे सभी विधियों की सूची दी गई है:

कार्य — ऑप्टिकल सेंसर की एलईडी को चालू या बंद करें।

  • set_light — एलईडी की चालू या बंद स्थिति सेट करता है।

म्यूटेटर्स — एलईडी की चमक और ऑब्जेक्ट डिटेक्शन सेटिंग्स को समायोजित करें।

  • set_light_power — एलईडी की चमक सेट करता है।

  • object_detect_threshold — वस्तुओं का पता लगाने के लिए थ्रेशोल्ड सेट करता है।

गेटर्स — ऑब्जेक्ट की उपस्थिति, रंग, चमक, ह्यू, आरजीबी और सेंसर की स्थिति पढ़ते हैं।

  • is_near_object — यह बताता है कि क्या पता लगाया गया ऑब्जेक्ट ऑप्टिकल सेंसर के पास है।

  • color — निकटतम पता लगाया गया रंग मिलान लौटाता है।

  • brightness — पता लगाए गए ऑब्जेक्ट की चमक लौटाता है।

  • hue — पता लगाए गए ऑब्जेक्ट का रंग लौटाता है।

  • rgb — ऑप्टिकल सेंसर द्वारा पता लगाए गए RGB मान लौटाता है।

  • installed — यह बताता है कि ऑप्टिकल सेंसर मस्तिष्क से जुड़ा है या नहीं।

कॉलबैक — ऑब्जेक्ट का पता चलने या खो जाने पर कोड चलाएँ।

  • object_detected — ऑब्जेक्ट का पता चलने पर कॉल किए जाने वाले फ़ंक्शन को रजिस्टर करता है।

  • object_lost — ऑब्जेक्ट खो जाने पर कॉल किए जाने वाले फ़ंक्शन को पंजीकृत करता है।

कंस्ट्रक्टर — ऑप्टिकल सेंसर को मैन्युअल रूप से आरंभ और कॉन्फ़िगर करने के लिए।

  • Optical — एक ऑप्टिकल सेंसर बनाता है.

कार्रवाई#

set_light#

set_light ऑप्टिकल सेंसर के एलईडी को चालू, बंद या निर्धारित चमक स्तर पर सेट करता है।

Usage:
optical_1.set_light(state)

पैरामीटर

विवरण

state

प्रकाश की स्थिति या बिजली का प्रतिशत 0 से 100 की सीमा में सेट किया जाता है। स्थिति निम्न में से कोई भी हो सकती है:

  • LedStateType.OFF (0 प्रतिशत)
  • LedStateType.ON (100 प्रतिशत)
  • integer — 0 से 100 तक पूर्णांक के रूप में दिया गया चमक मान।
# Turn the LED on and off forever
while True:
    optical_1.set_light(LedStateType.ON)
    wait(0.5, SECONDS)
    optical_1.set_light(LedStateType.OFF)
    wait(0.5, SECONDS)

# Turn the LED on and off forever
while True:
    optical_1.set_light(100)
    wait(0.5, SECONDS)
    optical_1.set_light(0)
    wait(0.5, SECONDS)

उत्परिवर्तक#

set_light_power#

set_light_power ऑप्टिकल सेंसर की रोशनी की चमक निर्धारित करता है। यदि एलईडी पहले से चालू नहीं है, तो यह विधि एलईडी को भी चालू कर देगी।

Usage:
optical_1.set_light_power(value)

पैरामीटर

विवरण

value

प्रकाश की शक्ति का स्तर 0 से 100 प्रतिशत तक सेट करें।

# Turn the LED light on at different
# intensities
optical_1.set_light(LedStateType.ON)
wait(2, SECONDS)
optical_1.set_light_power(10)
wait(2, SECONDS)
optical_1.set_light_power(100)

object_detect_threshold#

object_detect_threshold सेंसर द्वारा वस्तुओं का पता लगाने की सीमा निर्धारित करता है। यह विधि नया निर्धारित थ्रेशहोल्ड भी लौटाती है।

255 के करीब की संख्याएँ एक छोटी सीमा को दर्शाती हैं, जबकि 0 के करीब की संख्याएँ एक बड़ी सीमा को दर्शाती हैं।

Usage:
optical_1.object_detect_threshold(value)

पैरामीटर

विवरण

value

0 से 255 के बीच की कोई संख्या। 0 मान देने पर वर्तमान मान ही प्राप्त होगा।

def detected():
    # The Brain will print that an object was detected on
    # the Brain's screen.
    brain.screen.print("object detected")
    brain.screen.next_row()
    optical_1.object_detect_threshold(254)
    optical_1.object_detected(detected_closer)

def detected_closer():
    # Detect an object closer to the sensor.
    brain.screen.print("Detected closer")
    
# Run detected when the Optical Sensor detects an object.
optical_1.object_detect_threshold(100)
optical_1.object_detected(detected)

# Detect an object first with the detect threshold at 100,
# then again at 254
stage = 0

def detected():
    global stage
    if stage == 0:
        brain.screen.print("Get closer...")
        brain.screen.next_row()
        stage = 1
        optical_1.object_detect_threshold(254)
        optical_1.object_detected(detected_closer)

def detected_closer():
    global stage
    if stage == 1:
        brain.screen.print("Too close!")
        brain.screen.next_row()
        stage = 2

optical_1.object_detect_threshold(100)
optical_1.object_detected(detected)
wait(15, MSEC)

टिककर खेल#

is_near_object#

is_near_object यह बताता है कि ऑप्टिकल सेंसर किसी वस्तु के निकट है या नहीं।

  • True — सेंसर किसी वस्तु के निकट है।

  • False — सेंसर किसी वस्तु के पास नहीं है।

Usage:
optical_1.is_near_object()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Stop driving when Optical Sensor is 
# near an object
while True:
    if optical_1.is_near_object():
        drivetrain.stop()
    else:
        drivetrain.drive(FORWARD)

color#

color नीचे दिए गए रंगों में से ऑप्टिकल सेंसर द्वारा पता लगाए गए पूर्वनिर्धारित रंग को लौटाता है:

  • BLACK

  • BLUE

  • CYAN

  • GREEN

  • ORANGE

  • PURPLE

  • RED

  • TRANSPARENT

  • WHITE

  • YELLOW

Usage:
optical_1.color()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Stop the robot if the Optical Sensor 
# detects red
while True:
    if optical_1.color() == Color.RED:
        drivetrain.stop()
    else:
        drivetrain.turn(RIGHT)

brightness#

brightness ऑप्टिकल सेंसर द्वारा पता लगाई गई ब्राइटनेस लौटाता है।

उच्च प्रतिशत का अर्थ है कि ऑप्टिकल सेंसर अधिक प्रकाश का पता लगाता है। निम्न प्रतिशत का अर्थ है कि ऑप्टिकल सेंसर कम प्रकाश का पता लगाता है।

Usage:
optical_1.brightness(readraw)

पैरामीटर

विवरण

readraw

वैकल्पिक। प्रतिशत के बजाय कच्ची चमक का डेटा पढ़ने के लिए एक बूलियन मान:

  • True — कच्चा डेटा लौटाएँ।
  • False (डिफ़ॉल्ट) — चमक को प्रतिशत के रूप में लौटाएँ।

hue#

hue ऑप्टिकल सेंसर द्वारा पता लगाए गए रंग का मान 0 से 359.99 डिग्री की सीमा में एक फ्लोट के रूप में लौटाता है।

ह्यू, कलर व्हील पर संख्याओं का उपयोग करके रंग का वर्णन करने का एक तरीका है, जैसा कि नीचे दिखाया गया है।

एक गोलाकार रंग चक्र जो परिधि के चारों ओर डिग्री मानों के साथ चिह्नित रंगों के पूर्ण स्पेक्ट्रम को प्रदर्शित करता है, जो ऊपर 0° से 360° तक 30-डिग्री की वृद्धि में बढ़ता है।

Usage:
optical_1.hue()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Check the hue of a detected object
# to determine if it is pink
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    if 290 < optical_1.hue() < 350:
        brain.screen.print("Pink!")
        wait(0.1,SECONDS)
    else:
        brain.screen.print("Not pink.")
        wait(0.1,SECONDS)

rgb#

rgb ऑप्टिकल सेंसर द्वारा पता लगाए गए लाल, हरे, नीले और चमक मानों को एक टपल के रूप में लौटाता है।

Usage:
optical_1.rgb(raw)

पैरामीटर

विवरण

raw

वैकल्पिक। यह बूलियन मान यह निर्धारित करने के लिए है कि आप कच्चे या संसाधित मान लौटाते हैं या नहीं:

  • True — कच्चा मान लौटाएँ।
  • False (डिफ़ॉल्ट) — कच्चा मान न लौटाएँ।
# Display the rgb values and brightness detected
# by the Optical Sensor.
brain.screen.set_font(FontType.MONO12)
while True:
    brain.screen.clear_screen()
    brain.screen.set_cursor(1, 1)
    brain.screen.print(optical_1.rgb())
    wait(0.1, SECONDS)

installed#

installed एक बूलियन मान लौटाता है जो यह दर्शाता है कि ऑप्टिकल सेंसर मस्तिष्क से जुड़ा है या नहीं।

  • True — ऑप्टिकल सेंसर मस्तिष्क से जुड़ा हुआ है।

  • False — ऑप्टिकल सेंसर मस्तिष्क से जुड़ा नहीं है।

Usage:
optical_1.installed()

पैरामीटर

विवरण

इस विधि के कोई मानदंड नहीं हैं।

# Display a message if the Optical Sensor
# is installed.
if optical_1.installed():
    brain.screen.print("Installed!")

वापस बुलाओ#

object_detected#

object_detected ऑब्जेक्ट का पता चलने पर कॉलबैक फ़ंक्शन को पंजीकृत करता है।

Usage:
optical_1.object_detected(callback, arg)

पैरामीटर

विवरण

callback

एक फ़ंक्शन जिसे किसी ऑब्जेक्ट का पता चलने पर निष्पादित करने के लिए पहले से परिभाषित किया गया है।

arg

वैकल्पिक। कॉलबैक फ़ंक्शन को पास करने के लिए तर्क युक्त एक टपल। अधिक जानकारी के लिए पैरामीटर वाले फ़ंक्शन देखें।

def detected():
    drivetrain.stop()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("object detected")
    wait(0.5,SECONDS)
    brain.screen.clear_screen()

# Display a message when the 
# Optical Sensor detects an object
drivetrain.drive(FORWARD)
optical_1.object_detected(detected)

object_lost#

object_lost ऑप्टिकल सेंसर द्वारा पता लगाए गए ऑब्जेक्ट को खो देने पर कॉलबैक फ़ंक्शन को पंजीकृत करता है।

Usage:
optical_1.object_lost(callback, arg)

पैरामीटर

विवरण

callback

एक फ़ंक्शन जिसे किसी ऑब्जेक्ट के खो जाने पर निष्पादित करने के लिए पहले से परिभाषित किया गया है।

arg

वैकल्पिक। कॉलबैक फ़ंक्शन को पास करने के लिए तर्क युक्त एक टपल। अधिक जानकारी के लिए पैरामीटर वाले फ़ंक्शन देखें।

def lost():
    drivetrain.stop()
    brain.screen.set_cursor(1, 1)
    brain.screen.print("object lost")
    wait(0.5,SECONDS)
    brain.screen.clear_screen()

# Display a message when the Optical 
# Sensor loses sight of on object
drivetrain.drive(REVERSE)
optical_1.object_lost(lost)

कंस्ट्रक्टर्स#

कंस्ट्रक्टर का उपयोग मैन्युअल रूप से Optical ऑब्जेक्ट बनाने के लिए किया जाता है, जो VEXcode के बाहर ऑप्टिकल सेंसर को कॉन्फ़िगर करने के लिए आवश्यक हैं।

Optical#

Optical एक ऑप्टिकल सेंसर बनाता है।

Usage:
Optical(smartport)

पैरामीटर

विवरण

smartport

ऑप्टिकल सेंसर जिस स्मार्ट पोर्ट से जुड़ा होता है, उसे PORTx के रूप में लिखा जाता है, जहां x पोर्ट की संख्या है।

# Construct an Optical Sensor "optical_1" with the
# Optical class
optical_1 = Optical(Ports.PORT1)

# Display the brightness of a red object detected
# by the Optical Sensor
drivetrain.turn(RIGHT)
while not optical_1.color() == Color.RED:
    wait(50, MSEC)
drivetrain.stop()
brain.screen.print(optical_1.brightness())