Saltar navegación

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

Arduino: número aleatorio - 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 8 de enero de 2021 por David G.

239 visualizaciones

Descargar la transcripción

Hola, en esta práctica de hoy vamos a partir de la que hicimos, de la que acabamos de hacer, en la que tenemos un botón y al pulsar este botón se encendía el LED, si queréis lo simulamos brevemente, es el pulso, se enciende suelto y se apaga, es la práctica que teníamos hecha ya antes. 00:00:01
y lo que vamos a hacer, ya aprendimos 00:00:23
a usar tanto la entrada en digital 00:00:25
como la salida en digital 00:00:26
y ahora lo que vamos a hacer es, en vez de colocar 00:00:28
tener un único LED, vamos a tener 00:00:30
cuatro 00:00:33
entonces cojo tres LEDs más 00:00:34
y tres resistencias más 00:00:37
lo que puedo hacer también 00:00:40
una posibilidad de explicar y arrastrar 00:00:42
pero también se pueden copiar, así me ahorro 00:00:44
por ejemplo, esta la pongo a 220 ohmios 00:00:46
y genero dos más 00:00:49
con control C y control V 00:00:52
y ahora control V 00:00:54
y así ya tengo 00:00:56
estas resistencias ya listas, todas de 220 ohmios 00:00:57
bueno, por lo que hago es colocarlas 00:01:01
aquí, ahora os digo por qué necesitamos 00:01:02
para qué quiero más resistencias 00:01:05
un LED aquí 00:01:07
más resistencias y más LED 00:01:09
porque cada uno de estos 00:01:10
de estas resistencias 00:01:13
está protegiendo 00:01:15
al LED en cuestión 00:01:17
tiro los cables 00:01:19
para terminar de cerrar el circuito, los pongo aquí a tierra 00:01:25
acordaros que en esta línea horizontal es cuando tenía yo 00:01:28
toda esta línea horizontal 00:01:30
está a tierra a través de este cable 00:01:32
que va a GND 00:01:34
por eso no necesito llevarlo aquí al 00:01:35
conector, simplemente lo dejo ahí en esa línea horizontal 00:01:38
tiro esta 00:01:40
tiro esta, vale 00:01:42
y ya tengo todos los LED 00:01:43
en su terminal 00:01:46
negativo, en su cátodo conectados a tierra 00:01:48
y ahora lo que voy a hacer es 00:01:50
esto, me lo voy a llevar del 12 al 9 00:01:52
Y voy a tirar cables desde aquí para controlar cada uno de los LEDs. 00:01:54
El 12 controla este, el 11 controla este y el 10 controla este. 00:02:00
Muy bien, pues ese es mi esquema. 00:02:09
El mismo que tenía antes, pero en vez de tener un único LED, tengo cuatro en total. 00:02:11
Y ahora, el código. Ahora tengo que modificar el código. 00:02:16
Pero antes que eso, os cuento que lo que yo quiero es que si pulso este botón se enciende uno de ellos. ¿Cuál? Pues uno aleatorio, al azar, y para eso necesito una función que está por aquí, que es seleccionar un número aleatorio. 00:02:19
como mis 00:02:33
bueno, vamos a poner que como mis pulsadores 00:02:36
son del 13 al 10 00:02:39
pues vamos a suponer que quiero un número aleatorio 00:02:40
entre el 10 y el 13 00:02:42
y voy a 00:02:45
asociado a esto, igual que antes 00:02:50
leíamos un pasador digital que ya no va a estar en 12 00:02:52
va a estar en 9 00:02:54
porque antes yo estaba leyendo 00:02:55
aquí en 12, pero ahora el 12 es una salida 00:02:57
es un cable que aún está en un led, ahora estoy leyendo en 9 00:03:00
bueno, pues por eso este está a 9 00:03:02
entonces, eso no funciona 00:03:04
igual leo, lo guardo en input 00:03:06
y si el input está en alta, haré cosas 00:03:08
vale, voy a quitar esto porque es de momento 00:03:10
y si no está en alta, pues 00:03:12
no haré esas cosas 00:03:14
y ahora lo que quiero es también generar un número 00:03:15
aleatorio, ese número aleatorio una vez que lo genero 00:03:18
lo que a mí me interesa es guardarlo 00:03:20
en una variable 00:03:22
igual que leo 00:03:23
el input y lo guardo en 00:03:26
lo que entra por el 9 y lo guardo 00:03:27
en una cajita, ese número aleatorio 00:03:30
que se genera con una función matemática 00:03:32
lo habéis visto en el bloque aquí de matemáticas 00:03:34
genera un número aleatorio, pero lo voy a guardar en una variable 00:03:35
que la voy a llamar output, salida 00:03:38
¿vale? output, entonces 00:03:41
lo que voy a hacer ahora es definir esta variable 00:03:44
output como ese número aleatorio 00:03:47
luego lo conectaré a los bloques, ¿vale? pero de momento lo dejo 00:03:49
ahí afuera, entonces este número aleatorio entre 10 y 13 00:03:53
que se ha generado con esta función, se guarda con este bloque 00:03:56
se guarda en la variable input no, en output 00:03:59
¿listo? definir output a esto 00:04:02
Vale, muy bien 00:04:05
Entonces, ¿qué es lo que yo quiero? 00:04:06
Bueno, si estoy pulsando 00:04:08
Lo que voy a hacer es que si output vale 13 00:04:09
Enciendo el 13 00:04:12
Si output vale 12, enciendo el 12 00:04:13
Si output vale 11, el 11 00:04:15
Y si output vale 10, el 10 00:04:16
¿Y eso cómo lo hago? 00:04:18
Bueno, pues de nuevo voy a tener que utilizar bloques de control 00:04:19
En este caso son bloques muy sencillitos 00:04:22
Cuidado al clicar y arrastrar 00:04:25
Que os puede pasar como me ha pasado a mí 00:04:28
Que se peguen uno al otro sin vosotros quererlo 00:04:30
Bueno, entonces, lo que yo quiero es si, traigo un bloque de estos, si la variable output vale 13, ¿qué es lo que quiero? Que se encienda el bloque 13, salida, definir pasador 13 en alta, esto hacia abajo para que se vea un poco, no, al contrario, tengo que ir hacia arriba, definir pasador 13 en alta. 00:04:34
entonces, esto estaría aquí dentro 00:05:05
si yo he pulsado el botón 00:05:07
si el input es igual a alta 00:05:09
y ese número aleatorio que yo he generado 00:05:11
es 13, se enciende el 13 00:05:14
¿qué ocurre si fuera 00:05:16
el output a 12? se encendería el 12 00:05:17
entonces yo tengo que ir copiando esto varias veces 00:05:19
pero no tengo que ir clicando y arrastrando 00:05:21
todo el rato, puedo hacer esto que hacemos 00:05:24
de botón derecho, duplicar 00:05:25
y pongo aquí este bloque copiado 00:05:27
y ahora lo que yo quiero es que sea el 12 00:05:30
chequeo el 12 00:05:32
Si el output vale 12 00:05:33
Pongo el 12 en alta 00:05:36
Y lo mismo voy a hacer con el 11 00:05:39
Y con el 10 00:05:41
Duplico 00:05:42
Y pego aquí 00:05:44
Si el output vale 11 00:05:47
Es el pasador 11 00:05:50
El que tendrá que ponerse alta 00:05:53
Esto lo he pegado mal 00:05:55
Porque está dentro del sí, ¿vale? 00:05:57
Fijaos muy bien donde pegáis las cosas 00:05:59
Estos tres bloques 00:06:01
estos sí, estas tres condiciones sí 00:06:03
están dentro del sí input igual a alta 00:06:04
porque sólo si estoy pulsando 00:06:07
el botón se dará alguna de estas 00:06:09
tres posibilidades y alguna 00:06:11
de estas posibilidades, alguna de estas implicará 00:06:13
que yo encienda, ponga en alta 00:06:15
alguno de esos, entonces ahora voy a hacer lo mismo 00:06:17
con el bloque 00:06:19
10 en este caso 00:06:21
si la entrada vale 10 00:06:22
el pasador 10 se pone 00:06:24
en alta, vale 00:06:27
y ya está, ahora 00:06:28
me muevo para arriba 00:06:30
si lo que estoy leyendo está alta 00:06:31
hay tres posibilidades 00:06:35
primera, que el output valga 13, que valga 12 00:06:37
que valga 11 y que valga 10, en función de esa 00:06:39
variable aleatoria, y lo que hago es para 00:06:41
cada uno de esos sí, es poner la salida 00:06:43
correspondiente en alta 00:06:45
si no 00:06:46
lo diré 00:06:48
si la variable esa no está en alta 00:06:50
aquí hay 00:06:53
un error, me he dejado, fijaros que 00:06:57
aquí se me ha montado un bloque encima del otro 00:06:59
o se me ha quedado este por aquí por debajo 00:07:01
me lo voy a llevar, esto es un lío, cuando trabaja uno 00:07:03
con varios bloques, tenéis que tener cuidado 00:07:05
no se os quede uno por debajo, como me ha pasado 00:07:07
a mí, o enlacéis el que no es, ¿vale? 00:07:09
este bloque lo voy a usar ahora, entonces 00:07:11
¿qué ocurre si no hay ninguna pulsación? 00:07:13
si este input 00:07:16
no está alta 00:07:17
este sí, viene hasta aquí 00:07:18
que es el si no, bueno, pues lo que ocurre 00:07:21
es que tendré que poner cualquiera, todos 00:07:23
los tres, a baja 00:07:25
que el 13 00:07:26
se ponga a baja 00:07:28
que el 12 00:07:31
se ponga a baja 00:07:36
que el 11 00:07:38
se ponga a baja 00:07:41
pues me ha pasado lo de antes 00:07:43
que este bloque se me ha quedado ahí debajo del 00:07:51
resto, me lo llevo aquí un poquito 00:07:52
hacia abajo, para tenerlo 00:07:55
más a mano, entonces fijaos lo que he puesto 00:07:57
a ver si me deja el scroll 00:07:59
si no sea la condición 00:08:01
que es que el botón ese estuviera en alta 00:08:03
acordaos que este si no viene de arriba 00:08:05
viene de aquí 00:08:06
del si input igual a alta, si no quiere decir 00:08:09
que está en baja 00:08:11
ponemos 13, 12, 11 y 10 en baja 00:08:11
y luego además lo que vamos a hacer es 00:08:18
ahí generar el número aleatorio 00:08:20
si no estamos pulsando generamos el número aleatorio 00:08:24
y así el programa funcionará 00:08:27
y con este código que tenemos aquí 00:08:30
ya debería estar todo bien programado 00:08:31
y espero que lo hayáis entendido 00:08:34
si no entendéis pues volvéis a repetir el vídeo 00:08:36
y volvéis a ver la repetición, entonces lo que vamos a hacer ahora es ver la simulación 00:08:39
ver que efectivamente está simulándose correctamente, entonces pues nada 00:08:44
le damos a iniciar simulación y la idea es que cada vez que yo pulse el botón 00:08:48
se encenderá uno de los LEDs aleatoriamente, pulso una vez 00:08:51
se ha encendido el 12, suelto, pincho otra vez, el 12 otra vez 00:08:55
pincho otra vez, el 12, vaya por Dios, parece que he hecho algo mal, ah no 00:08:59
ha salido 3 veces el 12 pero se ha ido al azar, ahora sale el 11, suelto 00:09:03
pincho otra vez, el 12 otra vez 00:09:07
pincho otra vez, el 13 00:09:09
¿ves? es al azar, es imprevisible, cada vez que yo pulso 00:09:11
se enciende uno y no sé el cual 00:09:13
13, 12 00:09:18
cada vez que yo pincho 00:09:21
se enciende uno, el 10 no se me ha encendido 00:09:24
todavía, pero yo imagino que debe ser una cuestión 00:09:25
puramente al azar 00:09:27
debería haberse encendido, bueno 00:09:28
el caso es eso, que tenemos 00:09:31
que se están encendiendo, ahí se ha encendido el 10 00:09:33
era para demostraros que efectivamente se están encendiendo cualquiera de ellos al azar 00:09:35
y que cada vez que yo pulso se enciende uno de ellos al azar 00:09:39
bueno, pues ese es el ejercicio que tenéis que hacer y además contestar alguna pregunta 00:09:43
bueno, esta primera parte es muy fácil porque os la he dado hecho 00:09:48
y lo de las preguntas podéis saber también que es muy fácil 00:09:51
Autor/es:
David Gonzalez Arroyo
Subido por:
David G.
Licencia:
Reconocimiento - No comercial - Compartir igual
Visualizaciones:
239
Fecha:
8 de enero de 2021 - 16:01
Visibilidad:
Público
Centro:
IES MARIE CURIE Loeches
Duración:
09′ 57″
Relación de aspecto:
16:9 Es el estándar usado por la televisión de alta definición y en varias pantallas, es ancho y normalmente se le suele llamar panorámico o widescreen, aunque todas las relaciones (a excepción de la 1:1) son widescreen. El ángulo de la diagonal es de 29,36°.
Resolución:
908x512 píxeles
Tamaño:
24.40 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid