Αισθητήρας αντικειμένων#

Εισαγωγή#

Ο Αισθητήρας Αντικειμένου είναι ένας αισθητήρας εγγύτητας υπέρυθρης (IR) που ανιχνεύει πότε ένα αντικείμενο είναι κοντά χρησιμοποιώντας ανακλώμενο υπέρυθρο φως.

Ο αισθητήρας αντικειμένων VEX.

Αυτή η σελίδα χρησιμοποιεί object_sensor ως παράδειγμα ονόματος 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#

set_threshold ορίζει την ποσότητα ανακλώμενου φωτός που απαιτείται ως ποσοστό πριν θεωρηθεί ότι ένα αντικείμενο έχει ανιχνευθεί.

Usage:
object_sensor.set_threshold(value)

Παράμετροι

Περιγραφή

value

Η ποσότητα ανακλώμενου φωτός που απαιτείται για να θεωρηθεί ένα αντικείμενο ως ακέραιος αριθμός, από το 0 έως το 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 , τα οποία είναι απαραίτητα για τη διαμόρφωση των Object Sensors.

ObjectDetector#

ObjectDetector δημιουργεί έναν Αισθητήρα Αντικειμένου.

Usage:
ObjectDetector(port, reverse_det)

Παράμετρος

Περιγραφή

port

Η θύρα 3 καλωδίων στην οποία είναι συνδεδεμένος ο αισθητήρας αντικειμένων:

  • Στον EXP Brain – brain.three_wire_port.x όπου x είναι ο αριθμός της θύρας.
  • Σε έναν 3-Wire Expander – expander.a όπου expander είναι το όνομα της παρουσίας του expander.

reverse_det

Προαιρετικό. Εάν θα αντιστραφεί η λογική ανίχνευσης:

  • True – Όταν ένα αντικείμενο χάνεται, επιστρέφει ότι ένα αντικείμενο έχει ανιχνευθεί και όταν εντοπιστεί ένα αντικείμενο, επιστρέφει ότι έχει χαθεί.
  • False (προεπιλογή) – Όταν ένα αντικείμενο χάνεται, επιστρέφει ότι ένα αντικείμενο έχει χαθεί και όταν εντοπιστεί ένα αντικείμενο, επιστρέφει ότι έχει ανιχνευθεί.

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