proyecto de vinculación pvs-2018-031 · proyecto de vinculación pvs-2018-031 desarrollo de...

18
Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa Don Bosco

Upload: others

Post on 02-Oct-2020

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Proyecto de VinculaciónPVS-2018-031

Desarrollo de habilidades técnicas en

el área de robótica en los estudiantes de la Unidad Educativa Don Bosco

Page 2: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

PROGRAMACIÓN DE ENTRADAS Y SALIDAS

DIGITALES

1

Page 3: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Objetivos• Comprender el funcionamiento de las entradas y

salidas digitales de un Arduino.

• Analizar conceptos relacionados con las entradas ysalidas digitales y con los sistemas digitales.

• Conocer cuáles son las funciones que permitenprogramar una entrada y salida digital.

• Diseñar aplicaciones que permitan el manejo dedispositivos sencillos de entrada y salida (pulsadores,leds, resistencias, etc.)

2

Page 4: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

INTRODUCCIÓNSeñales Digitales y Señales Analógicas

3

Page 5: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

INTRODUCCIÓNSeñales Digitales

Las señales digitales que manejan losdispositivos electrónicos son representadas enla mayoría de casos en lenguaje binario, es decir,pueden tomar 1 o 0 lógico.

1 LÓGICO Encendido Nivel alto Abierto +Vcc 5 [V]

0 LÓGICO Apagado Nivel bajo Cerrado -Vcc 0 [V]

4

Page 6: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

INTRODUCCIÓNEntradas / Salidas

Los microcontroladoresposeen una serie determinales o tambiénconocidos como pineso patas que funcionancomo entradas y salidasde señales digitales (oanalógicas).

5

Page 7: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Entradas DigitalesUn pin configurado como entradadigital puede verse como unterminal que permite el ingreso deinformación al microcontrolador.

A manera de ejemplo una entradadigital puede verse como unperiférico de entrada en unacomputadora.

6

Page 8: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Entradas Digitales

Una entrada es un terminal que permite que se leaplique una señal de voltaje, lo cual le permite almicrocontrolador interpretar que algo está sucediendoy que se debe comportar de una forma determinada.

¿Qué pasa si a una entrada digital no se conecta nada?

7

Page 9: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Cuando el interruptor está abierto, el voltaje registrado es 0 voltios.Cuando se presiona el botón se cierra el interruptor y el voltajealcanza 5 voltios. Si se conecta este circuito al Arduino, al presionarel botón éste registrará los 5 voltios y podrá interpretar que el botónha sido presionado. Entonces, por medio de la programaciónadecuada, se ejecutarán las acciones que el programador hayaestablecido.

8

Page 10: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Entradas DigitalesLos voltajes que el Arduino puede reconocer como 0lógico y como 1 lógico son los siguientes:

Existe una franja en la que el valor delvoltaje se desprecia, no se considera ni un1L ni un 0L, de este modo se filtranposibles datos erróneos producidos porposibles rebotes de tensión provenientesde dispositivos externos.

9

Page 11: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Salidas DigitalesUn pin configurado como salidadigital puede verse como unterminal que permite mostrarinformación al usuario.

Como ejemplo, un terminalconfigurado como salida digitalpuede verse como un periférico deentrada .

10

Page 12: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Salidas DigitalesEl pin se encuentra en un estado de baja impedancia.Gracias a esto, el microcontrolador puede entregar unacorriente alta de hasta 40 mA.

NOTA: no es recomendable conectar directamente loselementos. Se debe colocar una resistencia de 1kΩ porlo menos para proteger los pines.

11

Page 13: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Función pinModeFunción usada en la function setup() para configurar unpin dado para comportarse como INPUT o OUTPUT. Elcomando pinMode(pin, OUTPUT) configura el pinnúmero pin como salida. Los pines de Arduinofuncionan por defecto como entradas, de forma que nonecesitan declararse explícitamente como entradasempleando pinMode().

Ejemplo: pinMode(4,OUTPUT)

12

Page 14: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Función digitalReadLee el valor desde un pin digital específico. Devuelve unvalor HIGH o LOW. El pin puede ser especificado conuna variable o una constante (0-13).

Ejemplo: v = digitalRead(Pin);

13

Page 15: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Función digitalWriteIntroduce un nivel alto (HIGH) o bajo (LOW) en el pindigital especificado. De nuevo, el pin puede serespecificado con una variable o una constante 0-13.

Ejemplo: digitalWrite(pin, HIGH)

14

Page 16: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Ejercicio 1Encender un led

//declaración de variables

int tiempo=200; //para el control de los intervalos de parpadeo

void setup() //código que se ejecuta una sola vez

pinMode(2,OUTPUT); //el pin 2 del arduino uno como salida digital

void loop() //ciclo del programa

digitalWrite(2,HIGH); //led en el pin 2 encendido

delay(tiempo); //pausa de 200ms

digitalWrite(2,LOW); //led en el pin 2 apagado

delay(tiempo); //pausa de 200ms

15

Page 17: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Ejercicio 1

Al momento de armar el circuito, ¿cuál es laresistencia adecuada?

V = I x R

Vfuente – Vled = I x R

Vfuente – Vled = I x R

R = (Vfuente – Vled) / I

Por lo general, la corriente que soporta un led es 20 mA16

Page 18: Proyecto de Vinculación PVS-2018-031 · Proyecto de Vinculación PVS-2018-031 Desarrollo de habilidades técnicas en el área de robótica en los estudiantes de la Unidad Educativa

Ejercicio 2Encender un led mediante un pulsador

declaración de variables

byte pulsador=11; //al pin 11 se le llamará pulsador

byte led=13; //al pin 13 se le llamará led

byte tiempo=500; //antirrebotes

boolean aux=0; //variable auxiliar para cambiar los estados del led

void setup() //código que se ejecuta una sola vez

pinMode(pulsador,INPUT_PULLUP); //el pin 11 del arduino uno como entrada digital

//con su resistencia pull up interna activada

pinMode(led,OUTPUT); //el pin 13 del arduino uno como salida digital

digitalWrite(led,LOW); //el led inicia apagado

void loop() //ciclo del programa

if(digitalRead(pulsador)==0 && aux==0) //si se ha pulsado y la variable aux es 0

delay(tiempo); //antirreboltes

digitalWrite(led,HIGH); //el led enciende

aux=1; //aux a 1 para que el led se pueda volver a apagar con el mismo pulsador

if(digitalRead(pulsador)==0 && aux==1) //si se ha pulsado y la variable aux es 1

delay(tiempo); //antirreboltes

digitalWrite(led,LOW); //el led se apaga

aux=0; //aux a 0 para que el led se pueda volver a encender con el mismo pulsador

17