Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Construyendo mi robot detector de obstáculos con ARDUINO, Ejercicios de Tecnología Electrónica

Construcción, código e instrucciones para la construcción de un robot con ARDUINO. Incluye plantillas y moldes

Tipo: Ejercicios

2021/2022

A la venta desde 01/10/2022

claudia-juliana-dulcey-sanchez
claudia-juliana-dulcey-sanchez 🇨🇴

9 documentos

1 / 18

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Título: Construyendo mi robot detector de obstáculos
Descripción del contexto: AQUÍ!! indicar etapa, nivel, área, modalidad, asignatura y
numero de alumnos
Objetivo General: Estimular las capacidades manuales, lógicas, de exploración y
matemáticas del alumno a través de su propia experiencia.
Planteamiento Pedagógico:
Se propone el desarrollo de las siguientes competencias como elementos fundamentales del
currículo educativo:
1. Competencia matemática y competencias básicas en ciencia y tecnología (CMCT)
2. Competencia Digital (CD)
3. Aprender a Aprender (CAA)
4. Sentido de iniciativa y espíritu emprendedor (CSIEE)
Para lograrlas, se plantean tres (3) sesiones con duración de 60 minutos en las cuales se
desarrollará el proyecto en su totalidad mediante un Aprendizaje Basado en Proyectos (ABP)
siguiendo los objetivos a continuación:
1. Incentivar el aprendizaje colaborativo y el autoaprendizaje.
2. Estimular el razonamiento lógico matemático a través de la creación de algoritmos.
3. Conocer elementos de la electrónica digital.
4. Conocer las características fundamentales de la placa Arduino UNO R3.
5. Conocer los fundamentos básicos de la programación en C++ para Arduino.
6. Desarrollar habilidades manuales y lógicas de interconexión de elementos
electrónicos.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12

Vista previa parcial del texto

¡Descarga Construyendo mi robot detector de obstáculos con ARDUINO y más Ejercicios en PDF de Tecnología Electrónica solo en Docsity!

Título: “Construyendo mi robot detector de obstáculos”

Descripción del contexto: AQUÍ!! indicar etapa, nivel, área, modalidad, asignatura y

numero de alumnos

Objetivo General: Estimular las capacidades manuales, lógicas, de exploración y

matemáticas del alumno a través de su propia experiencia.

Planteamiento Pedagógico:

Se propone el desarrollo de las siguientes competencias como elementos fundamentales del

currículo educativo:

1. Competencia matemática y competencias básicas en ciencia y tecnología (CMCT)

2. Competencia Digital (CD)

3. Aprender a Aprender (CAA)

4. Sentido de iniciativa y espíritu emprendedor (CSIEE)

Para lograrlas, se plantean tres (3) sesiones con duración de 60 minutos en las cuales se

desarrollará el proyecto en su totalidad mediante un Aprendizaje Basado en Proyectos (ABP)

siguiendo los objetivos a continuación:

1. Incentivar el aprendizaje colaborativo y el autoaprendizaje.

2. Estimular el razonamiento lógico matemático a través de la creación de algoritmos.

3. Conocer elementos de la electrónica digital.

4. Conocer las características fundamentales de la placa Arduino UNO R3.

5. Conocer los fundamentos básicos de la programación en C++ para Arduino.

6. Desarrollar habilidades manuales y lógicas de interconexión de elementos

electrónicos.

Recursos:

Elemento Cantidad Fotografía Link de compra

Arduino UNO R3 con cable USB 1

https://www.e- ika.com/arduino-uno- r3-compatible-ch

Placa motor shield 1

https://www.e- ika.com/motor-drive- shield-l293d-for- arduino

Motor con caja reductora de 3 – 6 V 4

https://www.e- ika.com/motor-para- coche- 481

Sensor Ultrasónico HC-SR0 4 1

https://www.e- ika.com/medidor-de- distancias-por- ultrasonidos-hc-sr04- para-arduino

Servomotor SG90 1

https://www.e- ika.com/mini-servo- para-rc

Baterías AA LR6 8

https://www.e- ika.com/pilas- alkalinas-panasonic- aa- 4 - uds

Base de 4 baterías AA 2

https://www.e- ika.com/base-de- baterias- 6 - pilas- modelo-aa-con- conector

Sesiones:

Sesión Objetivo de la sesión Actividades Recursos

Sesión 1 60 min.

Conocer los aspectos técnicos del proyecto y los procedimientos generales que implica

  1. Conversar acerca de lo que se quiere lograr con el proyecto y su producto final.
  2. Aclaratoria de inquietudes referentes a las especificaciones.
  3. Conocer las partes electrónicas y su conexión.
  4. Lectura de diagrama de conexión.
  5. Corte de chasis.
    • Especificaciones del proyecto (Anexo A)
    • Partes electrónicas.
    • Cartón grueso.
    • Plantilla de chasis (Anexo B)

Sesión 2 60 min.

Conocer cómo se programa un Arduino.

  1. Diseñar algoritmo de funcionamiento del robot.
  2. Convertir el algoritmo a lenguaje C++.
  3. Realizar simulación en tinkercad en donde se genera un esquema como el mostrado en el Anexo A.
  4. Programar el Arduino con el software Arduino IDE. - Arduino Uno R3 con cable USB.
  • Ordenador con Arduino IDE 1.8.15 instalado (Descarga gratuita: www.arduino.cc/en/software)
  • Crear una cuenta gratuita en www.tinkercad.com

Sesión 3 60 min.

Montar partes del robot y realizar prueba de funcionamiento.

  1. Armado del chasis.
  2. Realizar diagrama de conexiones de acuerdo al esquema de conexiones (Anexo A) sobre el chasis
  3. Realizar prueba de funcionamiento. - Partes electrónicas. - Chasis de cartón. - Esquema de conexiones (Anexo A)

Tutorial de construcción:

  1. Cortar el chasis de cartón utilizando la plantilla del Anexo B.
  2. Construir el algoritmo de funcionamiento para el robot de acuerdo a las especificaciones del mismo. El algoritmo se presenta a continuación:
  3. Tomar el algoritmo anterior y construir el código de funcionamiento en lenguaje C++. El código resultante será el mostrado en el anexo C.
  4. Realizar simulación en tinkercad utilizando el código generado en el punto 3 (Anexo F).
  5. Escribir el código generado en el punto 3 en el software Arduino IDE.
  6. Realizar la conexión de la placa Arduino al ordenador usando el cable USB y proceder a grabar el código en el Arduino, tal como se detalla en el Anexo D.
  7. Proceder a realizar las conexiones con los cables DuPont de los elementos electrónicos siguiendo el esquema del anexo A sobre el chasis.

Cargar Librerías Arduino Configuracion de entradas/Salidas Andar hacia adelante

Si objeto a menos de 15cm, se detiene y retrocede

Gira a la derecha y verifica si hay objeto a menos de 15 cm

Gira a la izquierda y verifica si hay objeto a menos de 15 cm

Si distancia de la derecha es mayor o igual a la de la izquierda, gira a la derecha

Si distancia de la derecha es menor a la de la izquierda, gira a la izquierda

La forma de conectar todos los elementos electrónicos para que el robot funcione se muestra

en el esquema a continuación:

Nota 1: Se debe asegurar la correcta conexión de cada elemento a los pines correspondientes

de la placa motor shield, esto para garantizar el funcionamiento y que no se averíe ningún

componente.

Nota 2: Los cables de conexión del servomotor y del sensor ultrasónico deben ser de

aproximadamente 25 cm, ya que estos elementos irán ensamblados en el frontal del chasis. La

forma de ensamblado deberá realizarse de tal manera que el sensor ultrasónico esté fijo en el

eje del servomotor para que pueda girar libremente hacia los lados y el sensor pueda realizar la

medición a la izquierda y derecha del robot.

1. Placa Arduino debajo de la placa motor shield.

2. Placa motor shield.

3. Motor delantero izquierdo.

4. Motor delantero derecho.

5. Motor trasero izquierdo.

6. Motor trasero derecho.

7. Servomotor.

8. Sensor ultrasónico.

9. Baterías en su base.

10. Interruptor.

Anexo B: Plantilla de chasis

Anexo C: Código en C++ del robot detector de obstáculos

#include <AFMotor.h> //libreria del motor shield #include <Servo.h> //libreria para el servomotor

int trigger=14; //trigger del ultrasonidos conectado a Pin A0=pin int echo=15; //echo (escucha) del ultrasonidos conectado a pin A1=pin float vSonido=0.0343; //velocidad del sonido en cm/us int distDcha=0; //variables que almacenan la distancia a derecha o izquierda int distIzda=0; AF_DCMotor motorDi(1, MOTOR12_1KHZ); //instancias para los motores AF_DCMotor motorDd(2, MOTOR12_1KHZ); AF_DCMotor motorTi(3, MOTOR34_1KHZ); AF_DCMotor motorTd(4, MOTOR34_1KHZ); Servo servoUltra; //control giro del servomotor que lleva el ulrasonidos

void setup() { pinMode(trigger,OUTPUT); // pin configurado como salida pinMode(echo,INPUT); //pin de conexión ultrasonidos como entrada pinMode(9,OUTPUT); //pin del servo conector serv2=pin servoUltra.attach(9); //indicamos en que pin esta conectado el servo

motorDi.setSpeed(150); //velocidad motor Di valores entre 0 y 255 motorDi.run(RELEASE); //iniciamos con motor parado motorDd.setSpeed(150); //velocidad motor Dd motorDd.run(RELEASE); //iniciamos con motor parado motorTi.setSpeed(150); //velocidad motor Ti motorTi.run(RELEASE); //iniciamos con motor parado motorTd.setSpeed(150); //velocidad motor Td motorTd.run(RELEASE); //iniciamos con motor parado } void loop() { int ddistDcha=0; //inicializamos las variables de distancia int ddistIzda=0; int distFront=0; adelante(); //comienza hacia adelante distFront=medir_distancia(); //llamamos a la función medir distancia //para saber la distancia al obstaculo

if (distFront<=15) { //si el obstaculo esta a menos de 15 cm parar(); atras(); //retrocede para facilitar maniobras delay(500); parar(); ddistDcha=miraDcha(); //llamamos a la función para girar-mirar el servo // a la dcha delay(1000); ddistIzda=miraIzda(); //llamamos a la función para girar-mirar el // servo a la izda delay(1000);

if (ddistDcha>=ddistIzda) { //si la distancia de la dcha es mayor o igual a izda giraDcha(); //gira a la derecha

} else { //si no gira a la izda giraIzda(); } } else { adelante(); } }

int miraIzda() //función gira servo izda { servoUltra.write(179); //90 grados izda delay(1000); distIzda=medir_distancia(); //función mide distancia servoUltra.write(90); //recupera posición inicial delay(1000); return distIzda; //retornamos distancia del obstaculo en la izda }

int miraDcha() //función gira servo dcha { servoUltra.write(0); //90 grados dcha delay(1000); distDcha=medir_distancia(); //función mide distancia servoUltra.write(90); //recupera posición inicial delay(1000); return distDcha; //retornamos distancia del obstaculo en la dcha }

int medir_distancia() { //función que realiza la medición de la distancia

digitalWrite(trigger,LOW); //para hacer una lectura el fabricante nos dice //que tenemos que poner delayMicroseconds(4); //trigger 4ms a OFF y luego 10ms a ON digitalWrite(trigger,HIGH); delayMicroseconds(10); digitalWrite(trigger,LOW); int tdvuelo=pulseIn(echo,HIGH); //pulseIn función que nos devuelve el // tiempo en HIGH de un pin int talobjeto=tdvuelo/2; //el tiempo al objeto es la mitad de lo //que tarda la señal en ir y volver int resultado=vSonido*talobjeto; //obtenemos la distancia multiplicando //la vSonido x tiempo que transcurre // hasta al objeto return resultado; //variable o parámetro que devuelve la // función en este caso el valor de //resultado. Se asignara a distancia que //es la variable que se indico en la //llamada de origen

}

Anexo D: Procedimiento de conexión y grabado desde ordenador para Arduino

La forma de conexión entre la PC y el Arduino se realiza a través del cable que trae consigo

el controlador (Arduino) y conectándolo al puerto USB de la computadora; ésta deberá

reconocer la placa como un dispositivo externo, deberá presionar “Instalar”

El IDE deberá reconocer la placa y el puerto donde está conectado, este puerto se mostrará

con el nombre COM y un número dependiendo del puerto USB en donde se haya conectado el

cable.

Las líneas de código que aparecen allí escritas deben borrarse y, en su lugar, copiar y pegar el

código correspondiente al funcionamiento del robot detector de obstáculos. Una vez copiado

en el IDE, se deberá cargar el código al Arduino usando el siguiente botón:

Primero, el programa se compilará (verificar errores) y mostrará el mensaje “Compilando

programa” en la casilla de mensajes.

Luego, se grabará en el Arduino. Al finalizar, se mostrará el mensaje “Subido” en la casilla

de mensajes.

Anexo E: Procedimiento de instalación del Software Arduino IDE

La instalación correcta del software para grabar código en el Arduino, garantizará un

funcionamiento correcto del dispositivo y de los drivers necesarios para su comunicación con

la computadora, esta comunicación se realiza a través de un puerto USB 2.0.

La descarga del IDE para Arduino es gratuita y puede realizarse desde la web oficial a través

del siguiente enlace: https://www.arduino.cc/en/software de acuerdo al sistema operativo

instalado en la computadora con la que se desea trabajar.

Una vez descargado el instalador (archivo *.exe), deberá ejecutarse y seguir los pasos

indicados por el software para la instalación.

Deberán marcarse todas las casillas existentes

Instalación finalizada

Anexo F: Uso de Tinkercad

Crear cuenta en tinkercad de forma gratuita y asegurarse de verificar el correo electrónico.

En el menú lateral izquierdo, seleccionar “Circuitos” y presionar el botón “Crear nuevo

circuito”:

Seleccionar y arrastrar los elementos del menú lateral derecho hacia el centro de la pantalla

hasta tener todos los indicados para el proyecto, para realizar conexiones, basta con hacer clic

en el pin de un elemento y se genera un cable que se extiende con el movimiento del mouse,

cuando se hace clic en otro pin, este cable queda conectado.