Sensores de obstáculos
Les capteurs d'obstacles d'Eliobot sont des capteurs infrarouges qui permettent de détecter les obstacles à une certaine distance.
Usar con Elioblocs
Para utilizar los sensores de obstáculos Eliobot en Elioblocs, utilizamos bloques de la categoría .
Usando con Python
Con Python, debes definir cada sensor de obstáculos como un objeto.
Disponemos de 4 sensores en el sensor de obstáculos, están conectados a los siguientes pines:
| Capteur gauche | Capteur devant | Capteur droit | Capteur derrière | |
|---|---|---|---|---|
| Pin | IO4 | IO5 | IO6 | IO7 |
Los sensores devuelven valores analógicos.
Ejemplos relacionados
Ejemplo de elioblocs
Aquí, si se detecta un obstáculo delante de Eliobot, gira hacia la derecha, en caso contrario avanza.
Ejemplo de Python
Con la biblioteca elio.py
import board
import pwmio
import analogio
from elio import Motors, ObstacleSensor
AIN1 = pwmio.PWMOut(board.IO36)
AIN2 = pwmio.PWMOut(board.IO38)
BIN1 = pwmio.PWMOut(board.IO35)
BIN2 = pwmio.PWMOut(board.IO37)
vBatt_pin = analogio.AnalogIn(board.BATTERY)
obstacle_pins = [
analogio.AnalogIn(board.IO4), # Gauche
analogio.AnalogIn(board.IO5), # Avant
analogio.AnalogIn(board.IO6), # Droite
analogio.AnalogIn(board.IO7), # Arrière
]
motors = Motors(AIN1, AIN2, BIN1, BIN2, vBatt_pin)
obstacle_sensor = ObstacleSensor(obstacle_pins)
speed = 100
while True:
if obstacle_sensor.get_obstacle(1): # Obstacle devant
motors.turn_right(speed)
else:
motors.move_forward(speed)
En este ejemplo, Eliobot avanza si no detecta ningún obstáculo delante de él, en caso contrario gira a la derecha.
Sin la biblioteca elio.py
import board
import analogio
obstacle_avant = analogio.AnalogIn(board.IO5) # Capteur avant
while True:
valeur = obstacle_avant.value
if valeur < 10000: # Obstacle détecté
print("Obstacle détecté, valeur :", valeur)
else:
print("Aucun obstacle, valeur :", valeur)
La detección se activa cuando el valor del sensor cae por debajo de 10000. Este valor se puede ajustar según la distancia de detección deseada.