Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

PROYECTO FINAL "BOLA DE CRISTAL" - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 25 de abril de 2020 por Rafael M.

166 visualizaciones

Proyecto de programación con Arduino para simular con Tinkercad Circuits una "bola de cristal" que responde a tus preguntas mediante pantalla LCD. Idea original en el libro "Arduino Starter Kit"

Descargar la transcripción

Bien, buenos días a todos. Os presento la última de las prácticas, la práctica final que vamos a desarrollar en este curso y consiste en el desarrollo de una pequeña práctica que simularía una bola de cristal, es decir, simularía el funcionamiento de esas típicos jueguecitos en los que haces una pregunta y en una pantalla aparece la respuesta de esa pregunta. 00:00:04
Obviamente respuesta aleatoria, que no tiene nada que ver con la realidad, pero bueno, en sí en la práctica es interesante porque vamos a ver varios aspectos que interesa abarcar. 00:00:31
En primer lugar, el control de la pantalla LCD y el programa propiamente dicho. 00:00:42
Entonces, para poder realizar esta práctica tenéis este documento en el aula virtual y en ese documento se describe todo lo necesario para poder hacerlo. 00:00:47
Lo vais a tener que hacer utilizando el simulador TKC, publicando el proyecto para que yo pueda después calificarlo directamente sobre vuestro enlace que me dejéis en el aula virtual. 00:00:59
Bien, ¿y cómo funciona? Bueno, por lo primero lo que tenemos que centrarnos es en ver un poquito el circuito. 00:01:12
Bueno, en primer lugar no os asustéis porque efectivamente tú ves esto y dices aquí hay un lío de cables, esto está fatal. 00:01:18
Bueno, ahora os voy a enseñar otra pequeña conexión mucho más fácil, esto está más desordenado, pero en realidad es mucho más fácil de lo que parece aquí. 00:01:25
De todas maneras, evidentemente, pues haciendo un zoom puedes acercarte y ver exactamente cómo son las conexiones, insisto, ahora voy a detallar todas ellas, 00:01:33
pero sobre todo lo que más me interesa es que aquí tenéis, en la parte esta de aquí, el esquema electrónico de conexiones, 00:01:41
que esta si realmente detalla claramente 00:01:47
donde van cada uno de los pines 00:01:50
de la pantalla LCD 00:01:52
al arduino y a nuestro sensor 00:01:53
por cierto que 00:01:56
en el TKC no se si hay un sensor 00:01:58
de inclinación, da igual ponéis cualquier 00:02:00
otro elemento, un simple pulsador 00:02:02
o un sensor 00:02:04
o cualquier otro sensor me da igual 00:02:05
un simple pulsador es suficiente 00:02:07
bueno 00:02:09
como funcionaría esta práctica 00:02:14
pues evidentemente cuando tu le da 00:02:18
golpeas al sensor de iluminación o le das al pulsador, una vez que hayas hecho una pregunta 00:02:19
pues aparecerá aquí la respuesta correspondiente. Entonces, lo más importante es 00:02:23
entender cómo es la conexión de la pantalla LCD directamente 00:02:27
a Arduino sin la utilización de una comunicación I2T. Esto que 00:02:31
significa que la comunicación no la podemos hacer vía serie con otro chip 00:02:35
que suelen ir incorporados en estas placas, sino que tenemos que hacerlo a través 00:02:39
de un bus de datos, es decir, de cuatro pines de conexión 00:02:43
De datos de la pantalla LCD 00:02:46
Directamente a la tarjeta Arduino 00:02:48
Y por eso hay que realizar el resto de las configuraciones 00:02:51
Que normalmente con una comunicación I2C 00:02:53
El propio chip que viene internamente 00:02:55
Dentro de la LCD 00:02:57
Pues ya lleva todas estas conexiones hechas 00:02:59
Bueno, no pasa nada 00:03:01
Así repasamos las conexiones 00:03:02
Y así os fijáis un poquito como va todo 00:03:04
Y una vez que hagáis las conexiones 00:03:06
Pues aquí tendremos el programa 00:03:09
Que vamos a ver ahora más tarde 00:03:10
Que es muy básico porque en realidad todo esto es reconfiguración 00:03:12
que yo voy a dar un programa más sencillito para que lo entendáis 00:03:15
y luego realmente aquí tendríamos todas las respuestas que nos podría dar 00:03:17
aquí hay 8 pero podéis poner las que queráis 00:03:20
y de hecho se valorará especialmente las respuestas más originales que podáis incluir 00:03:22
no solamente 8, si queréis incluir alguna más diferente 00:03:29
10 respuestas a cada cual más original 00:03:32
pues perfecto, siempre tened en cuenta que debe dar una respuesta a una pregunta concreta 00:03:35
y como digo aquí está perfectamente explicado el programa 00:03:39
y que lo vamos a ver ahora más despacito 00:03:43
Y como os decía, aquí tenéis un poco la idea de añadir para personalizar, digamos que sería un requisito obligatorio, hay que personalizar la práctica incluyendo algún elemento, alguna respuesta más personal de las que vienen o más original de las que vienen de esa tarjeta aquí. 00:03:45
Bueno, entonces la duda que todos tendréis es cómo Narices se conecta a todo esto, si aquí prácticamente no hay Dios que se entere de nada. 00:04:03
Bueno, en realidad es muy fácil, lo vais a ver porque tengo aquí directamente, como veis aquí, una configuración ya muy básica hecha de una pantalla LCD con Arduino y por supuesto con su código a lo más simple posible. 00:04:11
entonces vamos a analizar un poquito todo 00:04:25
en primer lugar, la pantalla LCD tiene todas estas configuraciones 00:04:27
y todo esto que veis aquí, voy a hacerlo un poco más grande 00:04:32
todo esto que veis aquí, de 1, de 2, de 3, de 4, 5, 6, 7 y 8 00:04:35
esto de aquí sería el bus de comunicaciones entre cualquier dispositivo como Arduino y la pantalla LCD 00:04:42
pero en realidad no solo nos interesa estos 4 porque podemos hacer la comunicación directamente con estos 4 pines 00:04:49
por lo tanto estos cuatro pines es la comunicación que nos vamos a tener con el Arduino 00:04:54
y el resto en realidad son pines de configuración o pines de alimentación de la propia LCD 00:05:00
tenemos por ejemplo estos dos pines que simplemente es para configurar la retroiluminación que tiene la LCD 00:05:09
de hecho si nosotros quitáramos estos dos elementos pues no funcionaría porque no se visualizaría 00:05:17
o se visualizaría muy pequeñito, mejor dicho 00:05:22
y luego tenemos, perdón, muy pequeñito 00:05:24
con una luz muy baja y prácticamente no se vería 00:05:27
luego tenemos este pin de aquí, Enable 00:05:30
y este pin de aquí, RS 00:05:32
que son también dos pines de configuración muy importantes 00:05:34
estos dos junto con estos cuatro 00:05:38
ahora lo vamos a ver en el programa 00:05:40
y luego todo esto que veis aquí 00:05:41
pues en realidad es la alimentación propia del propio chip 00:05:43
y de la propia LCD 00:05:46
V0 es la entrada 00:05:47
si quisiéramos regular la intensidad 00:05:49
en la que aparece en las letras y y r w sería lectura y escritura que en este caso no lo 00:05:51
necesitamos bloquear la lectura de la escritura con lo cual lo ponemos directamente a base y ya 00:06:01
está este la v 0 en realidad lo hemos puesto a masa pero podríamos ponerlo a través de un 00:06:05
potenciómetro irregular como digo la intensidad pero en este caso como queremos que brille al 00:06:09
máximo por directamente negativo y ya está de acuerdo y ahora vamos a ver el programa que es 00:06:13
En primer lugar, tenemos que utilizar la librería Liquid Crystal. Es una librería específica para el control de pantallas LCD y en este caso, esta propia librería necesita que defines primeramente los pines de configuración, es decir, los pines de conexión o de comunicación entre Arduino y la pantalla LCD. 00:06:18
y aquí como veis los hemos conectado 00:06:41
aquí los hemos conectado directamente desde el D7, D6, D5 y D4 00:06:43
los hemos conectado, veis, a los pines desde el 2 hasta el 5 00:06:51
bueno, pues en esta configuración Liquid Crystal LCD 00:06:55
ponemos entre paréntesis los cuatro últimos números 00:06:58
corresponderían a estos cuatro datos que hemos visto 00:07:02
en el pin 2, 3, 4 y 5 00:07:04
en el pin 2, 3, 4 y 5 00:07:06
Tenemos esta configuración de estos cuatro pines 00:07:08
Y los dos primeros, 7 y 6, en realidad son estos dos de aquí 00:07:12
Que corresponden con estos dos pines que hemos dicho 00:07:16
Enable y Reset, R, S y E 00:07:19
Que son los que también se necesitan para poder configurar 00:07:22
Y poder enviar los datos 00:07:25
Y limpiar la pantalla en caso de necesario 00:07:27
Y habilitar, Enable habilita la pantalla para poder comunicarnos con ella 00:07:29
Es decir, que esta instrucción lo que hace es permitir la escritura sobre la pantalla LCD con ayuda de estos cuatro pines. 00:07:34
Y luego ya el programa principal es muy sencillo. 00:07:44
Tenemos que indicar en el VoiceTab la configuración, es decir, qué tipo de LCD tenemos. 00:07:47
En este caso es de 16 columnas y dos filas. 00:07:51
Aquí tenemos que indicarlo de esta manera, con LCD.begin y entre paréntesis 16 y 2. 00:07:55
Y luego en el programa este que nos va a permitir escribir cosas, pues en realidad en la instrucción que permite escribirlo, primero tienes que decir dónde quieres empezar a escribir, en este caso con la instrucción lcd.secursor y entre paréntesis dónde quieres empezar, siempre se empieza aquí indicando en este caso fila y columna. 00:08:02
bueno pues en la primera fila que sería la fila número cero empieza por cero y 00:08:20
la columna también empezaría por cero si quiero que empecé a escribir aquí pues 00:08:25
entonces esto sería le puntos el curso y entre partidos cero con cero vale y de 00:08:28
esta manera empezaría aquí a escribir y luego ya escribo el texto en este caso 00:08:33
pues con la instrucción lcd punto print y entre paréntesis indicar lo que 00:08:38
quieras casa escriban y luego esto sería esto lo he hecho para la primera para la 00:08:42
primera fila la fila cero para la fila número uno o segunda fila según como 00:08:47
contemos pues entonces tendríamos que colocar otra vez los mismos y vamos a 00:08:52
decirle que escribimos en la segunda fila vale en la fila número uno 00:08:55
empezando a contar por cero y luego aquí escribimos el texto correspondiente de 00:09:00
manera que si ejecutamos ahora esto pues aparece efectivamente el mensajito que 00:09:04
hemos escrito entre paréntesis vale y que en vuestro caso pues van a ser las 00:09:11
respuestas a las 00:09:15
preguntas que vas a hacer de manera aleatoria 00:09:17
bueno 00:09:19
como veis, lo que os decía 00:09:20
estos dos 00:09:23
pines son realmente 00:09:24
de la propia 00:09:27
retroiluminación de la LCD 00:09:28
si nosotros la quitamos 00:09:31
veremos que efectivamente 00:09:33
aparece, no sé si se apreciará 00:09:35
en la grabación, pero aparece con 00:09:37
muy poca luz porque no tiene la retroiluminación 00:09:39
con esto también podemos jugar 00:09:42
si quisiéramos con algún programa para que brillase más o menos, pero bueno, esto digamos que sería la forma de controlar con Arduino directamente una pantalla LCD a lo bestia, 00:09:44
es decir, con cuatro datos, con cuatro pines de comunicaciones. Bueno, ¿y cómo sería el programa entonces que nos permite ejecutar esta pequeña aplicación? 00:09:55
Pues vamos a ella. Esta aplicación, lo mismo que hemos dicho antes, incluimos la librería Liquid Crystal y en este caso, bueno, pues para el montaje anterior tiene esta configuración. 00:10:04
si queréis seguir directamente este pdf 00:10:13
pues tenéis que seguir con estos pines 00:10:16
y de hecho si nosotros nos vamos aquí 00:10:18
efectivamente con lo que hemos visto anteriormente 00:10:20
tendríamos estos pines 00:10:23
de aquí, estos cuatro de aquí 00:10:24
que serían los cuatro de datos 00:10:26
tenemos estos que veis aquí que son los de configuración 00:10:27
y los pines digamos de alimentación 00:10:31
de la LCD 00:10:32
y estos dos de aquí 00:10:35
el amarillo y el naranja que serían los que hemos visto 00:10:36
antes de enable y rs 00:10:38
y los demás son de alimentación 00:10:40
como comentaba antes, bueno aquí ha incluido 00:10:43
un potenciómetro en la entrada V0 00:10:45
pero es porque si quieres regular el 00:10:47
brillo de la pantalla, en este caso 00:10:49
yo directamente lo he puesto a negativo 00:10:51
y luego el sensor 00:10:52
pues está puesto aquí 00:10:54
perdón, el elemento 00:10:57
que nos da la respuesta, que en este caso es un sensor 00:10:59
de inclinación, lo 00:11:01
ha conectado a través de 00:11:02
dos pillos de alimentación 00:11:04
positivo y negativo 00:11:07
a través de una resistencia y digamos que 00:11:09
cuando nosotros golpeamos el sensor este 00:11:10
de inclinación 00:11:12
pues entramos en el 00:11:14
pin número 6 para indicar 00:11:17
que queremos que nos dé la respuesta 00:11:18
vosotros podéis poner perfectamente un pulsador 00:11:20
y ya está, de acuerdo 00:11:22
y vamos a ver el programa 00:11:24
el programa es muy 00:11:26
básico, ya digo, muy sencillo 00:11:28
configuración, todo esto es configuración 00:11:30
y aquí lo único que establecemos es una serie de variables 00:11:32
estado del sensor, estado 00:11:34
previo del sensor y finalmente 00:11:36
la variable contestar 00:11:38
para que nos dé la respuesta. En el pin número 6 establecemos el estado del sensor y aquí indicamos que se trata 00:11:40
de una pantalla de CD16-2, configuramos ese pin número 6 como entrada y directamente imprimimos ya la frase 00:11:51
Pregúntame para que la bola de cristal, también lo ponemos aquí en la segunda fila, para que aparezca este mensaje. 00:12:03
Y ahora simplemente en el programa principal, en el del bucle, preguntamos si el pin del sensor ha sido activado. 00:12:09
Si en este caso el sensor ha sido activado, pues en este caso empezamos a contestar. 00:12:19
Y aquí tenéis todas las posibles respuestas. 00:12:26
Bueno, lo primero limpiamos, aquí no lo hemos visto antes en el programa anterior, 00:12:29
pero aquí aparece lcd.clear, esta función lo que nos permite es limpiar la pantalla. 00:12:34
y aparecerá en este caso un nuevo mensaje que dice 00:12:39
la bola dice y te da la respuesta 00:12:43
dependiendo del número aleatorio entre 0 y 8 00:12:44
y para ello utilizamos la función switch 00:12:50
y las diferentes opciones con case 0, case 1, case 2 00:12:52
la función switch y entre paréntesis 00:12:55
indicando la variable que hemos definido 00:12:57
para que se active cada uno de estos casos 00:13:01
con la variable contestar si la hemos activado 00:13:04
a través del sensor este de inclinación 00:13:07
pues entonces aparecerá cualquiera de estas 00:13:10
digo cualquiera porque dependerá del valor del número aleatorio 00:13:13
en este caso en la variable contestar 00:13:20
dependiendo del número aleatorio con esta instrucción random y entre paréntesis 8 00:13:22
nos aparece un valor que va desde el 0 hasta el 7 00:13:27
y aquí aparecen varias, vosotros podéis incluir todas las que queráis 00:13:32
y por supuesto como digo modificar 00:13:36
las respuestas como se os 00:13:37
antoje, de acuerdo 00:13:40
es una práctica muy fácil, muy sencilla 00:13:41
y lo único como veis que hay un 00:13:44
condicional en función de ese 00:13:46
condicional pues se ejecuta con la 00:13:48
instrucción suite case una opción o otra 00:13:50
de acuerdo, bueno pues yo creo 00:13:52
que con esto es más que suficiente 00:13:54
para poder 00:13:56
lanzaros a hacer esta práctica 00:13:57
venga, un saludo 00:14:00
Materias:
Tecnología
Niveles educativos:
▼ Mostrar / ocultar niveles
  • Educación Secundaria Obligatoria
    • Ordinaria
      • Primer Ciclo
        • Primer Curso
        • Segundo Curso
      • Segundo Ciclo
        • Tercer Curso
        • Cuarto Curso
        • Diversificacion Curricular 1
        • Diversificacion Curricular 2
Autor/es:
Rafael M.
Subido por:
Rafael M.
Licencia:
Reconocimiento - Compartir igual
Visualizaciones:
166
Fecha:
25 de abril de 2020 - 19:07
Visibilidad:
Público
Centro:
IES GRAN CAPITAN
Duración:
14′ 12″
Relación de aspecto:
1.78:1
Resolución:
1280x720 píxeles
Tamaño:
153.88 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid