Robot hambriento2 con sensor IR

Vamos a construir un robot que se accione al depositar un objeto en su bandeja. 

ELEMENTOS:

  • Componentes del robot impresos
  • Servo
  • Sensor de IR
  • Placa Arduino
  • Cables

Partimos del robot impreso y montado de la versión 1 con MRT.

Incluye el sensor de IR en la carcasa del robot y fija el servo. Puedes seguir las instrucciones en el tutorial  https://www.youtube.com/watch?v=KfP_LfUiwdc

Realiza la siguiente implementación con la placa de Arduino:

CODIFICACIÓN

1.- INTRODUCCIÓN

Comentario que describe el programa, autor, fecha etc.

Por ejemplo:

/*

 * ROBOT  HAMBRIENTO 

 * 

* Autor:

* DICIEMBRE 2019

* 1 SERVO

* 1 SENSOR DE INFRARROJOS

*

* El brazo del robot se mueve cuando el sensor IR detecta un objeto 

 * 

 */

2.- SECCIÓN ENCABEZADO

DECLARACIÓN DE OBJETOS, VARIABLES, CONSTANTES:

  • Hay que incluir la librería del servo:

Desde menú Programa, elige ‘Incluir librería’ y luego elegir ‘Servo’

En el programa aparecerá la línea de código:

#include <Servo.h>

  • Hay que declarar una constante de tipo entero para indicar el pin de Arduino dónde está conectado el sensor IR

const int pinSI = 3;

  • Hay que declarar una constante de tipo entero para indicar el pin de Arduino dónde está conectado el sensor IR

const int pinServo = 12;

3.- SECCIÓN SETUP

En esta sección se incluye el código que sólo se ejecuta una vez:

Configuraciones, inicializaciones … 

  • Configura el pin del sensor de infrarrojos para que se comporte como entrada mediante la función pinMode():

      pinMode(pinSI, INPUT);

  • Asocia el pin al servo

      armServo.attach(pinServo);

  • Mueve el servo a la posición inicial

                armServo.write(90);

4.- SECCIÓN LOOP

En esta sección vamos a codificar la siguiente secuencia de instrucciones:

  • Cuando el sensor detecta un objeto su valor es 0, entonces hay que comerse lo que hay en la bandeja:
  • Esperamos dos segundos
  • Decimos cuál es el pin del servo
  • Subimos el brazo: Mover el servo 10 grados
  • Esperamos 300 milisegundos
  • Bajamos el brazo:Mover el brazo 90 grados
  • Esperamos medio segundos
  • Liberamos el brazo

El código correspondiente sería:

//Si hay objeto:

if (digitalRead(pinSI) == 0) {

  //esperamos un segundo

    delay(1000);

  // Asociamos el pin 12 al servo

  armServo.attach(12);

  // Movemos el motor 10 grados (brazo arriba)

 armServo.write(10);

  // esperamos 300 ms

  delay(300);

  // Movemos el motor 90 grados (brazo abajo)

  armServo.write(90);

  //Esperamos medio segundo

  delay(500);

  // Liberamos el brazo

  armServo.detach();

}

  • Compila el programa (traducir nuestro código a 0 y 1 que es lo que entiende el microcontrolador (Arduino). Las teclas:Control+R
  • Corrige los errores si los hubiera
  • Sube el código a la placa. Las teclas:Control+U
  • Comprueba el funcionamiento.
  • Si es necesario calibrar el sensor se pueden seguir las instrucciones desde la url: http://diwo.bq.com/programando-un-sensor-infrarrojo-en-bitbloq/
Please follow and like us:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies. Para más información puede escribirnos a info@educaendigital.com

ACEPTAR
Aviso de cookies
Contacta por WhatsApp