Activa JavaScript para disfrutar de los vídeos de la Mediateca.
PROYECTO FINAL "BOLA DE CRISTAL" - Contenido educativo
Ajuste de pantallaEl ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:
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"
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
- Primer Ciclo
- Ordinaria
- 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