Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Arduino: número aleatorio - 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:
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
00:09:15
11
00:09:16
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