Οπτικός#
Εισαγωγή#
Ο οπτικός αισθητήρας είναι ένας αισθητήρας που βασίζεται στο φως και χρησιμοποιεί το ανακλώμενο φως για την ανίχνευση αντικειμένων, την αναγνώριση χρωμάτων και τη μέτρηση της φωτεινότητας και της απόχρωσης.
Μπορείτε επίσης να διαμορφώσετε τη φωτεινότητα του εσωτερικού φωτός του αισθητήρα. Αυτά τα εργαλεία είναι ιδανικά για προγράμματα που πρέπει να αντιδρούν σε χρωματιστά αντικείμενα, συνθήκες φωτισμού ή ανατροφοδότηση αισθητήρα σε πραγματικό χρόνο.
Αυτή η σελίδα χρησιμοποιεί optical_1 ως παράδειγμα ονόματος οπτικού αισθητήρα. Αντικαταστήστε το με το δικό σας διαμορφωμένο όνομα, όπως απαιτείται.
Παρακάτω είναι μια λίστα με όλες τις μεθόδους:
Ενέργειες — Ενεργοποίηση ή απενεργοποίηση της λυχνίας LED του οπτικού αισθητήρα.
set_light— Ορίζει την κατάσταση ενεργοποίησης ή απενεργοποίησης της λυχνίας LED.
Μεταλλαγμένοι — Προσαρμόστε τις ρυθμίσεις φωτεινότητας LED και ανίχνευσης αντικειμένων.
set_light_power— Ορίζει τη φωτεινότητα της λυχνίας LED.object_detect_threshold— Ορίζει το όριο για την ανίχνευση αντικειμένων.
Λήψεις — Ανάγνωση παρουσίας αντικειμένων, χρώματος, φωτεινότητας, απόχρωσης, RGB και κατάστασης αισθητήρα.
is_near_object— Επιστρέφει εάν ένα ανιχνευμένο αντικείμενο βρίσκεται κοντά στον οπτικό αισθητήρα.color— Επιστρέφει την πλησιέστερη ανιχνευμένη αντιστοίχιση χρώματος.brightness— Επιστρέφει τη φωτεινότητα ενός ανιχνευμένου αντικειμένου.hue— Επιστρέφει την απόχρωση ενός ανιχνευμένου αντικειμένου.rgb— Επιστρέφει τις τιμές RGB που ανιχνεύονται από τον οπτικό αισθητήρα.installed— Επιστρέφει εάν ένας οπτικός αισθητήρας είναι συνδεδεμένος στον εγκέφαλο.
Επανάκληση — Εκτέλεση κώδικα όταν εντοπιστεί ή χαθεί ένα αντικείμενο.
object_detected— Καταγράφει μια συνάρτηση που θα κληθεί όταν εντοπιστεί ένα αντικείμενο.object_lost— Καταχωρεί μια συνάρτηση που θα κληθεί όταν χαθεί ένα αντικείμενο.
Κατασκευαστές — Μη αυτόματη αρχικοποίηση και διαμόρφωση ενός οπτικού αισθητήρα.
Optical— Δημιουργεί έναν οπτικό αισθητήρα.
Ενέργειες#
set_light#
set_light ορίζει τη λυχνία LED του οπτικού αισθητήρα σε ενεργοποιημένη, απενεργοποιημένη ή σε ένα καθορισμένο επίπεδο φωτεινότητας.
Usage:
optical_1.set_light(state)
Παράμετροι |
Περιγραφή |
|---|---|
|
Η κατάσταση για να ορίσετε το φως ή το ποσοστό ισχύος στο εύρος 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 ορίζει τη φωτεινότητα του φωτός του οπτικού αισθητήρα. Εάν η λυχνία LED δεν είναι ήδη αναμμένη, αυτή η μέθοδος θα την ανάψει επίσης.
Usage:
optical_1.set_light_power(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)
Παράμετροι |
Περιγραφή |
|---|---|
|
Ένας αριθμός στην περιοχή 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 επιστρέφει το προκαθορισμένο χρώμα που ανιχνεύεται από τον οπτικό αισθητήρα από τα παρακάτω χρώματα:
BLACKBLUECYANGREENORANGEPURPLEREDTRANSPARENTWHITEYELLOW
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)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικό. Μια λογική τιμή για την ανάγνωση των ακατέργαστων δεδομένων φωτεινότητας αντί για ποσοστό:
|
hue#
hue επιστρέφει την τιμή της απόχρωσης που ανιχνεύεται από τον οπτικό αισθητήρα ως κινητή τιμή στην περιοχή από 0 έως 359,99 μοίρες.
Η απόχρωση είναι ένας τρόπος περιγραφής του χρώματος χρησιμοποιώντας αριθμούς γύρω από έναν χρωματικό κύκλο, όπως φαίνεται παρακάτω.

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)
Παράμετροι |
Περιγραφή |
|---|---|
|
Προαιρετικό. Μια λογική τιμή για να προσδιορίσετε εάν επιστρέφετε ακατέργαστες ή επεξεργασμένες τιμές:
|
# 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 επιστρέφει μια Boolean τιμή που υποδεικνύει εάν ο οπτικός αισθητήρας είναι συνδεδεμένος με τον εγκέφαλο.
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)
Παράμετροι |
Περιγραφή |
|---|---|
|
Μια συνάρτηση που έχει οριστεί προηγουμένως για εκτέλεση όταν ανιχνεύεται ένα αντικείμενο. |
|
Προαιρετικό. Μια πλειάδα που περιέχει ορίσματα για να μεταβιβαστούν στη συνάρτηση επανάκλησης. Δείτε Συναρτήσεις με Παραμέτρους για περισσότερες πληροφορίες. |
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)
Παράμετροι |
Περιγραφή |
|---|---|
|
Μια συνάρτηση που έχει οριστεί προηγουμένως για εκτέλεση όταν χάνεται ένα αντικείμενο. |
|
Προαιρετικό. Μια πλειάδα που περιέχει ορίσματα για να μεταβιβαστούν στη συνάρτηση επανάκλησης. Δείτε Συναρτήσεις με Παραμέτρους για περισσότερες πληροφορίες. |
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)
Παράμετρος |
Περιγραφή |
|---|---|
|
Η Έξυπνη Θύρα στην οποία είναι συνδεδεμένος ο Οπτικός Αισθητήρας, γράφεται ως 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())