Sensor Objek#

Perkenalan#

Sensor Objek adalah sensor jarak inframerah (IR) yang mendeteksi keberadaan suatu objek dengan menggunakan cahaya IR yang dipantulkan.

Sensor Objek VEX.

Halaman ini menggunakan object_sensor sebagai contoh nama Sensor Objek. Ganti dengan nama yang Anda konfigurasi sendiri sesuai kebutuhan.

Berikut adalah daftar metode yang tersedia:

  • reflectivity – Mengembalikan integer yang mewakili jumlah cahaya yang dipantulkan dari objek dalam persen.

  • is_object_detected – Mengembalikan apakah Sensor Objek mendeteksi suatu objek.

  • set_threshold – Mengatur jumlah cahaya pantulan yang dibutuhkan sebelum suatu objek dianggap terdeteksi.

  • object_detected – Mendaftarkan fungsi yang akan dipanggil setiap kali Sensor Objek mendeteksi objek baru.

  • object_lost – Mendaftarkan fungsi yang akan dipanggil setiap kali Sensor Objek kehilangan objek yang terdeteksi.

  • changed – Mendaftarkan fungsi yang akan dipanggil setiap kali nilai Sensor Objek berubah.

Konstruktor – Menginisialisasi Sensor Objek secara manual.

daya pemantulan#

reflectivity mengembalikan integer yang mewakili jumlah cahaya yang dipantulkan dari objek sebagai persentase.

Catatan:

  • Reflektivitas 0% berarti objek tersebut sangat gelap. Sensor melihat nilai mentah 3000 atau lebih tinggi.

  • Reflektivitas 100% berarti objek tersebut sangat terang. Sensor melihat nilai mentah sebesar 0.

Usage:
object_sensor.reflectivity()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# 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)

objek terdeteksi#

is_object_detected mengembalikan nilai boolean yang menunjukkan apakah Sensor Objek mendeteksi suatu objek.

  • True – Sensor Objek mendeteksi sebuah objek.

  • False – Sensor Objek tidak mendeteksi objek.

Usage:
object_sensor.is_object_detected()

Parameter

Keterangan

Metode ini tidak memiliki parameter.

# 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)

menetapkan ambang batas#

set_threshold menetapkan jumlah cahaya pantulan yang dibutuhkan dalam persentase sebelum suatu objek dianggap terdeteksi.

Usage:
object_sensor.set_threshold(value)

Parameter

Keterangan

value

Jumlah cahaya pantulan yang dibutuhkan agar suatu objek dianggap terdeteksi sebagai bilangan bulat, dari 0 hingga 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)

objek_terdeteksi#

object_detected mendaftarkan sebuah fungsi yang akan dipanggil setiap kali Sensor Objek mendeteksi objek baru.

Usage:
object_sensor.object_detected(callback, arg)

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya yang akan dieksekusi ketika Sensor Objek mendeteksi objek baru.

arg

Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Fungsi dengan Parameter untuk informasi lebih lanjut.

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

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

objek_hilang#

object_lost mendaftarkan sebuah fungsi yang akan dipanggil setiap kali Sensor Objek kehilangan objek yang terdeteksi.

Usage:
object_sensor.object_lost(callback, arg)

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya yang akan dieksekusi ketika Sensor Objek kehilangan objek yang terdeteksi.

arg

Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Fungsi dengan Parameter untuk informasi lebih lanjut.

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

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

berubah#

changed mendaftarkan sebuah fungsi yang akan dipanggil setiap kali nilai Sensor Objek berubah.

Usage:
object_sensor.changed(callback, arg)

Parameter

Keterangan

callback

Sebuah fungsi yang telah didefinisikan sebelumnya yang akan dieksekusi ketika nilai Sensor Objek berubah.

arg

Opsional. Sebuah tuple yang berisi argumen untuk diteruskan ke fungsi callback. Lihat Fungsi dengan Parameter untuk informasi lebih lanjut.

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

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

Konstruktor#

Konstruktor digunakan untuk membuat ObjectDetector secara manual, yang diperlukan untuk mengkonfigurasi Sensor Objek.

ObjectDetector#

ObjectDetector membuat Sensor Objek.

Usage:
ObjectDetector(port, reverse_det)

Parameter

Keterangan

port

Port 3-Kawat yang terhubung ke Sensor Objek:

  • Pada EXP Brain – brain.three_wire_port.x di mana x adalah nomor port.
  • Pada 3-Wire Expander – expander.a di mana expander adalah nama instance expander.

reverse_det

Opsional. Apakah akan membalikkan logika deteksi:

  • True – Ketika sebuah objek hilang, kembalikan bahwa objek tersebut terdeteksi, dan ketika sebuah objek terdeteksi, kembalikan bahwa objek tersebut hilang.
  • False (default) – Ketika sebuah objek hilang, kembalikan bahwa objek tersebut hilang, dan ketika sebuah objek terdeteksi, kembalikan bahwa objek tersebut terdeteksi.

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