Etiquetas: , , ,
0
(0)

A robot is constituted of four main components: Motors for motion, Mechanics to hold the pieces together, sensors to make it react to environment and a code to control them and create the desired functionality.

Los sensores juegan un papel importante cuando se trata de un robot autónomo. Veremos aquí cómo usarlos.

Presentación

El propósito de un sensor es medir un valor físico (velocidad, ángulo, temperatura, etc.). Existen numerosos sensores de diferentes tipos pasivos y activos (requieren alimentación). En este ejemplo, usamos un fotoresistor, pero se puede aplicar a otro tipo de sensor.

Ejamplo de sensores :

Passivo:

  • photoresistor
  • tilt
  • push button

Activo:

  • infrared distance sensor
  • ultrasonic distance sensor

Cableado

Sensores tiene un cableado diferente dependiendo de la cantidad de pines que utilizan. Por lo general, un sensor tiene 3 pines a tierra, suministro de voltaje 5V y la señal. Para el sensor pasivo, se crea una tercera salida para leer el voltaje en sus extremos.

pushbutton scheme

infrared sensor scheme

Codigo basico

Dependiendo de su tipo, el sensor puede devolver dos informaciones: un estado (presencia o no) o un valor de voltaje continuo.

Para leer un estado, la función a utilizar es digitalRead(). Devuelve un nivel ALTO(HIGH) o BAJO(LOW) que representa el voltaje aplicado en el pin digital (0, 1, 2, etc.).

/*Read digital state*/
// Constants
#define DELAY 500 // Delay between two measurements in ms

// Parameters
const int sensorPin = 2; // Pin connected to sensor

//Variables
int sensorState; // state from the sensor

void setup(void) {
  Serial.begin(9600);
  pinMode(sensorPin,INPUT);
}

void loop(void) {
  sensorState = digitalRead(sensorPin);
 
  if (sensorState == HIGH) {
     Serial.print("Sensor state is HIGH ");
  } else {
     Serial.print("Sensor state is LOW ");
  }
  delay(DELAY);
}

Para leer un valor continuo, la función que usamos es analogRead() . Devuelve un valor entre 0 y 1023 que representa el voltaje aplicado en el pin analógico de Arduino (A0, A1, A2, etc.).

/*Read analog signal*/
// Constants
#define DELAY 500 // Delay between two measurements in ms

// Parameters
const int sensorPin = A0; // Pin connected to sensor

//Variables
int sensorVal; // Analog value from the sensor

void setup(void) {
  Serial.begin(9600);
}

void loop(void) {
  sensorVal = analogRead(sensorPin);
  Serial.print("Sensor reading = ");
  Serial.println(sensorVal); // the analog reading
  delay(DELAY);
}

Aplicaciones

Encuentre otros tutoriales y ejemplos en el generador de código automático
Arquitecto de Código

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 0 / 5. Recuento de votos: 0

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Ya que has encontrado útil este contenido...

¡Sígueme en los medios sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?