Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Arduino: Comunicación serie II - 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 la práctica de hoy vamos a ver la segunda parte de la comunicación a través del puerto serie.
00:00:01
En este caso lo que vamos a ver, vamos a verlo en el simulador y también en la oralidad,
00:00:08
es cómo se pueden mandar órdenes desde el ordenador a la placa Arduino a través de este cable,
00:00:15
que es la comunicación serie.
00:00:21
Entonces, como siempre, vamos a empezar con la simulación.
00:00:24
tengo yo aquí cuatro leds conectados, cada uno de ellos a los terminales 13, 12, 11 y 10
00:00:28
con los tocados de colores y todos ellos a una resistencia de protección que está subida a la tierra
00:00:38
es el montaje habitual para encender y apagar los leds, utilizaríamos 13, 12, 11 y 10 como salidas digitales
00:00:44
nada nuevo en contra de lo que es la circuitería, el montaje
00:00:53
La novedad está en el código. En el código vamos a utilizar esto, leer del puerto serie.
00:00:57
¿Por qué? ¿Qué hace el Arduino? Bueno, el Arduino va a leer lo que le viene a través del puerto serie.
00:01:10
Este conector que hay aquí lee lo que le viene, lee el número que hay ahí y lo guarda en una variable que le llamamos serie.
00:01:16
Vale, muy bien. Entonces, esa variable serie, dependiendo de qué valores toma, tomaremos distintos valores.
00:01:23
Por ejemplo, si este número que nos ha entrado por aquí vale 1, podemos coger y poner el pasador 13 en alto.
00:01:29
¿Por qué 1? Pues porque queremos, podríamos haber dicho que valiera 2, 3, 4, 5, lo que queramos.
00:01:36
Es una codificación. Cuando entra un determinado valor, hacemos una acción que está codificada por ese valor.
00:01:40
Podemos también luego ir añadiendo más este bloque sí, puede repetirse.
00:01:47
podría haber otro grupo que sí, que diga si serie vale 3, pues entonces pongo el 12 en alta o lo que sea, ¿vale?
00:01:51
En este momento vamos a trabajar solo con esto.
00:01:58
Entonces, vamos a darle a la simulación y a ver qué pasa.
00:02:00
Pues acordaros que para trabajar con el monitor serie tenemos que clicar en este botoncito de abajo.
00:02:07
Entonces, si yo pongo el puerto serie, pongo 4, pongo 5, pongo 6, no pasa nada, que es lo que uno espera.
00:02:14
Y si pongo 1, debería ponerse el led rojo encendido, ¿verdad?
00:02:21
bueno, pues pulso y no ha pasado nada
00:02:24
bueno, ¿eso por qué? ¿por qué es?
00:02:27
pues es por
00:02:29
nos aparece un problema entre comillas
00:02:30
que es que por una vez
00:02:33
si vamos a texto
00:02:34
aquí vemos muy bien la correspondencia
00:02:37
este, definir serie
00:02:40
leer serie, lo que hace es que
00:02:41
esta línea corresponde con el primer rojo
00:02:43
¿ok? lo que hace es leer y lo guarda
00:02:45
la variable serie, esta segunda es el
00:02:47
sí, con inglés sí, si la serie vale
00:02:49
uno, entonces pone el pasador
00:02:51
13 en alta, ¿vale? o sea que estas tres líneas
00:02:53
corresponden con estos tres bloques
00:02:55
bueno, pues ha habido un problema, como lo que nosotros estamos
00:02:56
mandando es enteros, esta función
00:02:59
que ha decidido usar
00:03:01
el traductor de bloques a código
00:03:03
no es la más adecuada, hay que cambiarla
00:03:05
entonces lo que yo voy a hacer es
00:03:07
para poder cambiarla, si intento escribir aquí no me deja
00:03:09
porque yo lo modifico aquí en los bloques
00:03:11
no tengo un bloque específico
00:03:13
para leer enteros
00:03:15
entonces lo que tengo que hacer es pasarme a texto
00:03:17
vamos por primera vez a trabajar con texto
00:03:19
entonces le doy aquí
00:03:21
Y me dice, cuidado, ¿estás seguro de que desea cerrar el editor de bloques?
00:03:23
Esto es así porque una vez que yo pase el editor de bloques, ya no me deja volver hacia atrás.
00:03:27
No me deja volver nunca más al editor de bloques, por lo menos para este circuito.
00:03:31
Lo que podéis hacer, si queréis, es hacer una copia, una vez llegados a este punto, hacer una copia,
00:03:36
y tener una copia ahí por si acaso, o bien, otra opción es la que os voy a decir ahora.
00:03:40
Bueno, yo en cualquier caso me vuelvo al texto, que lo que quiero es cambiar, le digo que continuar.
00:03:44
Aquí tengo el texto, ya no puedo trabajar con bloques, ya no me da esa opción.
00:03:48
si quisiera volver a bloque, lo borraría
00:03:51
entonces lo que yo quiero es que en vez de usar la función
00:03:54
serial.read, voy a usar esta función
00:03:56
serial.parse
00:03:59
y ya está
00:04:00
vamos a probar ahora, le doy a iniciar
00:04:03
simulación
00:04:06
y de nuevo, si escribo
00:04:07
aquí, 2, 3
00:04:10
4, no pasa nada
00:04:12
si escribo 1, debería encenderse
00:04:14
vamos a ver, mando 1
00:04:16
y se ha encendido
00:04:18
efectivamente era tan fácil
00:04:21
como cambiar esa
00:04:24
esa función
00:04:26
entonces, el ejercicio
00:04:27
¿qué es lo que yo os pido? bueno, pues os pido
00:04:30
que hagáis una codificación
00:04:32
es decir, que igual que hemos hecho
00:04:35
tres bloques
00:04:36
estas tres líneas para encender un LED
00:04:38
que lo hagáis para este, para este y para este
00:04:40
y lo mismo que lo hagáis para apagar
00:04:42
¿vale? entonces sería
00:04:44
empezar otra vez y crear
00:04:46
unos bloques que, pues diga, si serie
00:04:48
es igual a 1, enciende el 13
00:04:50
si serie es igual a 2, enciende
00:04:52
el 12, si es igual a 3, enciende
00:04:54
el 11, si es igual a 4, enciende el 10
00:04:56
lo que queráis, a mí la codificación me da igual
00:04:58
y luego lo mismo, si serie es igual a 5
00:05:00
apaga el 13
00:05:02
eso es una posibilidad, otra
00:05:03
es coger esto
00:05:06
y hacer copiar y pegar
00:05:07
si yo estas tres líneas las voy
00:05:09
copiando y pegando
00:05:12
bueno, ni siquiera
00:05:13
con hacer una única lectura, me vale
00:05:15
yo leo una vez y lo que voy haciendo es
00:05:18
Son estas dos líneas, es comparando las lecturas.
00:05:20
Si serie que he leído vale 2, lo que sea.
00:05:24
Si serie que he leído vale 3, se puede ir haciendo copiar y pegar.
00:05:27
Si yo esto lo copio y lo pego aquí,
00:05:31
luego lo puedo modificar a mi jardín de aire.
00:05:35
Me he equivocado.
00:05:38
El problema de trabajar con el texto es que puede ser complicado.
00:05:39
Es fácil que os equivocéis.
00:05:44
Este cierre va con esta apertura.
00:05:46
Entonces, si yo elijo, lo puedo copiar incluido esto, ¿vale?
00:05:49
Lo copiaría así, y lo iría pegando, con las distintas posibilidades.
00:05:53
Si serie vale 2, entonces se podría poner el 12 en high, o el 12 en low, o el 13 en low, lo que queráis.
00:05:57
¿Vale? Eso es una posibilidad que es lo mismo que ir repitiendo los 6.
00:06:02
¿Vale?
00:06:07
Se puede trabajar tanto con bloques como con código.
00:06:08
Entonces, ese sería el ejercicio.
00:06:11
Hacer un programa para...
00:06:12
Que lo podéis programar con bloques, perfectamente, ¿vale?
00:06:16
porque vosotros lo vais a hacer en el simulador
00:06:19
yo he querido utilizar el texto
00:06:20
porque me lo voy a llevar
00:06:22
el IDE de Arduino, que lo he llevado
00:06:24
de hecho lo tengo aquí, pero no os enseño
00:06:26
la parte de arriba
00:06:28
y lo que voy a hacer es
00:06:29
mandar mi programita
00:06:32
a la placa Arduino real, para que veáis
00:06:33
cómo funciona esto en la vida real
00:06:38
que es donde de verdad tiene sentido
00:06:39
es mucho más
00:06:41
interesante, entonces voy a mandar este programa
00:06:43
se encenden
00:06:46
las lucecitas estas, la habéis visto parpadear
00:06:48
que estaba recibiendo un código, entonces yo ahora mismo, herramientas, monitor serie,
00:06:50
y lo que voy a hacer es ir mandando códigos, yo lo que he hecho es que si mando un 12,
00:06:59
se enciende, perdón, si mando, los tengo conectados a 13, 12 y 11, entonces si mando
00:07:03
un 13 se encenderá el que tengo conectado a 13 que es el verde, con una vez a la codificación
00:07:09
vamos a ver si tengo algo mal conectado
00:07:19
en principio está todo bien conectado
00:07:28
ah, ¿cuál es mi problema?
00:07:33
mirad, que me he llevado el código
00:07:39
pero lo he puesto mal, tengo que cambiarlo ahí
00:07:42
el parse int este
00:07:44
vale, lo he cambiado en la simulación
00:07:45
pero no me he acordado de cambiarlo aquí en la
00:07:48
¿lo veis aquí el parse int? bueno, pues lo voy a compilar
00:07:49
otra vez para asegurarme que está todo bien
00:07:52
no ha dado ningún error en principio
00:07:53
Pío, no, y lo que voy a hacer es mandarlo ahora.
00:07:56
Y entonces repito ahora la jugada.
00:08:03
Si mando el 13, ahora sí debería encenderse el LED verde.
00:08:05
Efectivamente, no había cambiado en el código ese.
00:08:09
Si mando un 12, se encenderá el otro.
00:08:11
Y si mando un 11, se encenderá el otro.
00:08:14
Y ahora, si quiero apagarlos, los he codificado que el 113 me apague el 13.
00:08:17
¿Y por qué 113? Porque he querido, pudiera ser un 5.
00:08:21
Bueno, 113. ¿Me apaga ese? Sí.
00:08:24
el 111 me apagará el 11
00:08:26
porque está programado así
00:08:29
y el 112 me apagará el otro
00:08:31
porque está programado así
00:08:33
eso ha sido mi codificación
00:08:35
fijaros que chulada es esto
00:08:37
que yo aquí desde el teclado, desde el ordenador
00:08:39
estoy controlando
00:08:41
unos nets
00:08:42
que están conectados al arduino
00:08:45
puedo desde mi ordenador controlar el arduino
00:08:47
esa es la clave
00:08:50
de la comunicación seria
00:08:52
que pueden arduino y el ordenador intercambiar
00:08:53
bueno, pues este es el ejercicio y esto es lo que tenéis que hacer
00:08:55
tenéis que hacer esto mismo que yo he hecho
00:08:58
en la vida real, con un ataque real
00:09:00
lo tenéis que hacer en la
00:09:02
en la simulación, vale
00:09:03
bueno, ya lo tenéis, es facilito
00:09:05
- Autor/es:
- David Gonzalez Arroyo
- Subido por:
- David G.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 159
- Fecha:
- 14 de enero de 2021 - 0:18
- Visibilidad:
- Público
- Centro:
- IES MARIE CURIE Loeches
- Duración:
- 09′ 09″
- Relación de aspecto:
- 16:10 El estándar usado por los portátiles de 15,4" y algunos otros, es ancho como el 16:9.
- Resolución:
- 1152x720 píxeles
- Tamaño:
- 20.78 MBytes