Activa JavaScript para disfrutar de los vídeos de la Mediateca.
Arduino: Comunicación serie I - 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 el ejercicio de hoy vamos a ver otra de las utilidades que tiene el cable USB que conecta la placa Arduino al ordenador.
00:00:00
Ya vimos dos de ellas. Vimos que podía, servía para que el ordenador transfiriera el programa hasta el Arduino Board, ¿vale? Y otra posibilidad era también suministrarle energía. Mientras yo tenga el Arduino conectado al ordenador, el ordenador está suministrando energía a la placa.
00:00:18
Bueno, pues existe una tercera, pero vamos a ver en dos prácticas. Vamos a ver cómo se pueden mandar datos desde el Arduino al ordenador, que es lo que veremos en este ejercicio, pero también al revés, desde el ordenador al Arduino utilizando este cable, ¿vale? Es lo que se llama el puerto serie, la comunicación serie, ¿vale?
00:00:36
Bueno, pues entonces, esto es lo que vamos a utilizar y vamos a empezar con la simulación, como siempre.
00:00:52
Vamos a tener un potenciómetro conectado a... ya sabéis cómo funciona el potenciómetro,
00:00:59
uno de los terminales está conectado a tierra y el otro a 5 voltios.
00:01:05
Y este cable del medio iría, por ejemplo, al acero, que es un lector analógico,
00:01:08
Con lo cual, los voltajes que se generan aquí entre 0 y 5 pasan directamente, llegan al Arduino, al conector A0 de lectora analógica, ¿vale?
00:01:13
Entonces, ¿cómo se lee eso? Eso ya lo sabemos, lo voy a enseñar con el código.
00:01:26
Ya hemos visto que se utiliza este bloque de entrada, el leer pasador analógico, en este caso el A0,
00:01:31
y que lo guardábamos en una variable, en este caso la vamos a llamar A.
00:01:37
Así es como se lee un valor analógico.
00:01:42
La parte nueva empieza aquí, en este bloque azul.
00:01:45
¿Cómo mando yo ese valor que he leído al monitor serie?
00:01:48
Bueno, pues en salida tenemos un bloque que permite enviar,
00:01:51
lo que llamo aquí imprimir en monitor serie,
00:01:56
se refiere que es mandarlos a través del cable USB del ordenador.
00:01:58
Entonces, ¿qué es lo que mandamos?
00:02:01
Pues el contenido de la variable A.
00:02:03
Tal cual viene, tal cual se ha guardado en la cajita A,
00:02:09
sale por el cable USB y va al ordenador.
00:02:13
Esto en la simulación, ¿cómo se ve?
00:02:16
Bueno, pues tenemos, cuando abrís el menú de código, abajo pone Monitor Series.
00:02:17
Y aquí es donde van a ir apareciendo, en esta pantallita, los valores que va leyendo.
00:02:23
Entonces, es muy importante colocar un bloque de espera.
00:02:27
¿Por qué? Porque en electrónica todo tiene un retardo.
00:02:30
Si yo leo, el ordenador y Arduino necesitan un tiempo para leer y para mandarse ese dato.
00:02:33
Yo no puedo inmediatamente mandar otra orden de lectura.
00:02:38
Tengo que darle tiempo a la electrónica a que responda.
00:02:41
Entonces, en la simulación, ¿qué os estaría pasando?
00:02:44
Bueno, pues si yo lanzo la simulación, estoy leyendo del cable a cero, lo guardo en la cajita y esa cajita la mando al monitor serie.
00:02:46
Y efectivamente aquí me aparece el 880 todo el rato. ¿Por qué? Porque este número es el 880.
00:02:54
Acordaros que los valores analógicos se codificaban entre 0 y 1023.
00:02:59
0 sería los 0 voltios
00:03:03
1023, 5
00:03:05
512 sería la mitad
00:03:07
2,5
00:03:09
127, que es un cuarto, sería
00:03:10
1,25, ¿vale?
00:03:13
estamos leyendo un valor analógico, lo que pasa es que codificado
00:03:15
entre valores entre 0 y 1023
00:03:17
si yo muevo esto, por ejemplo, a la izquierda
00:03:19
veis que el número está cambiando
00:03:21
675, 695, ahora
00:03:23
hablemos menos, cuanto más acerque
00:03:25
al 0, más bajo es este valor
00:03:27
¿vale? luego eso tiene
00:03:29
sentido
00:03:31
lo que pasa es que claro, esto si lo vemos aquí
00:03:32
ves que estoy haciendo algo en el ordenador
00:03:35
y que sale por la pantalla del ordenador
00:03:37
aquí no lo veo yo
00:03:39
no lo veo yo
00:03:41
el sentido real a esto, bueno pues vamos a ir
00:03:43
al Arduino de verdad
00:03:45
voy a ir no solo a los bloques
00:03:47
sino al bloque más texto
00:03:49
y tengo aquí, esta es la función
00:03:51
que quiero llevarme
00:03:53
esto estaba
00:03:55
en la parte anterior, bueno
00:03:57
esto es lo que me interesa
00:03:59
Cojo el código, lo copio, tal cual, y me lo voy a llevar a la IDE de Arduino, que es el programa este que conocíamos.
00:04:01
Programación Arduino IDE.
00:04:11
Queremos que se abra.
00:04:14
Yo no necesito realmente entender el código.
00:04:17
Aunque si le echo un vistazo, veis que estas tres líneas corresponden a los tres bloques que hemos añadido.
00:04:21
El analog read es leer la variable esta.
00:04:26
El serial print es imprimir monitor serie.
00:04:28
Y el delay es el retardo.
00:04:30
entonces lo que voy a hacer es borrar el código que había antes
00:04:31
pego el nuevo
00:04:35
la variable b no la necesito
00:04:37
está porque había usado antes el código de otra manera
00:04:39
entonces este es mi programa
00:04:41
tal cual está
00:04:43
leo, si fijaros, a es igual a analogRig a 0
00:04:44
estoy leyendo eso en la variable
00:04:47
mando esa variable por el puerto serie
00:04:48
y un delay de milisegundos
00:04:50
o sea que hay una correspondencia
00:04:53
y todo esto es dentro de un bucle que se va repitiendo
00:04:55
o sea que no es tan difícil entender este código
00:04:57
bueno, vamos a compilarlo
00:04:59
como siempre para asegurar que todo va bien
00:05:00
no está dando problemas
00:05:02
entonces, oye esto no
00:05:07
lo que os voy a mostrar es esto
00:05:11
que es donde tengo aquí mi Arduino
00:05:13
conectado a mi potenciómetro
00:05:14
¿vale? veis que tengo tres cables
00:05:17
este está a 5 voltios
00:05:19
está ahí
00:05:21
no sé si se ve muy bien, pero vamos, voy a darle
00:05:22
al autoenfoque, ya que estamos
00:05:24
vamos a verlo bien, la opción de enfocar
00:05:27
o hay mucha luz o no, vale, he enfocado bien
00:05:31
¿veis? el cable morado está a los 5 voltios
00:05:38
el cable negro a tierra
00:05:40
y el cable azul está conectado a A0, lo que corresponde aquí en el potenciómetro con el cable morado que viene aquí a la línea de 5 voltios,
00:05:41
el cable negro viene a la de tierra y el cable azul es el que viene aquí a leer del potenciómetro en medio.
00:05:58
Luego tengo el mismo esquema del conexionado en la simulación que aquí.
00:06:04
Olvidaos del resto de cositas que hay ahí, porque no las estamos usando, el resto de componentes.
00:06:08
Entonces, lo que vamos a hacer ahora es, este código que ya lo he compilado, lo voy a mandar al Arduino.
00:06:12
En cuanto lo mande, vais a ver que parpadean algunas luces, eso es porque lo está recibiendo.
00:06:16
¿Veis ese parpadeo de que está la transmisión en marcha?
00:06:21
Y esto ya estaría funcionando.
00:06:26
¿Dónde puedo ver yo los valores que me están llegando?
00:06:28
Bueno, pues aquí en el ID de Arduino, a la izquierda, si hablo herramientas, monitor serie, aquí es donde debería estar viendo, efectivamente, ahí están, 473, 473, 473.
00:06:30
Ese es el valor que me está llegando, y fijaos que me está llegando a mi ordenador, no a ninguna simulación.
00:06:43
Entonces, si yo muevo esto a la izquierda, me da un valor mayor porque hacia la izquierda están los 5 voltios.
00:06:49
Si lo sigo moviendo más hacia la izquierda, sigue subiendo el valor, lo muevo más y al final llega al 1023, que es el valor máximo. Lo voy a mover ahora hacia la derecha y me estaré acercando hacia el cero, con lo cual los valores van bajando.
00:06:55
¿Lo veis? Lo bueno es, esto a mí es una cosa interesantísima, a mí me lo parece, que es cómo está un elemento externo al ordenador, como es la placa Arduino, está leyendo valores analógicos y los está enviando al ordenador a través de este cable y aparecen en la pantalla del ordenador aquí.
00:07:08
efectivamente hay una comunicación serie
00:07:26
a través de este puerto serie
00:07:28
entre mi placa Arduino y el ordenador
00:07:30
¿vale?
00:07:32
bueno, pues este es
00:07:34
un ejemplo bien sencillo
00:07:36
de... voy a apagar esto
00:07:38
esto es un ejemplo bien sencillo
00:07:39
de como
00:07:42
los bloques
00:07:43
de como utilizar la comunicación puerto serie
00:07:47
el ejercicio que os pido es un poco más complicado
00:07:50
pero no mucho más, os voy a pedir
00:07:53
que coloquéis un segundo potenciómetro
00:07:54
clicaríais y arrastraríais
00:07:56
Un extremo lo conectaréis a tierra, otro a 5 voltios, como siempre, aquí tenéis la línea de 5 voltios, aquí la de tierra, y el terminal del medio iría, por ejemplo, a A1.
00:07:58
Entonces, ¿qué vais a hacer? Bueno, lo vais a hacer, si ahora estáis leyendo una variable, estoy leyendo en A, tendríais una segunda variable en B que leería A1.
00:08:06
Entonces lo tendríais aquí añadido, leeríais en A, en la variable A, A0, y en la variable B, A1.
00:08:15
¿Y qué haríais? Pues como ahora, imprimiríais A, mandaríais A por el puerto serie, y mandaríais B por el puerto serie también.
00:08:20
en vez de sacar un valor, estaríamos sacando dos
00:08:27
y luego, por supuesto, un esperar
00:08:29
bueno, ninguna dificultad hasta ahora
00:08:33
sería simplemente duplicar estos dos bloques
00:08:35
que ya tenemos, bueno, creo que hagáis una cosita
00:08:37
más, también muy sencilla, es utilizar
00:08:39
un bloque sí, ¿para qué?
00:08:41
para que mandéis por el puerto serie
00:08:43
para que consideréis tres posibilidades
00:08:44
si A es mayor que B
00:08:46
mandaréis un mensaje
00:08:49
también con el bloque este de imprimir
00:08:51
el monitor serie, lo que pasa es que lo que imprimiréis aquí
00:08:53
sería un texto, ¿vale? no una variable
00:08:55
es que por ejemplo en Word podéis poner cualquier texto
00:08:56
si A es mayor que B
00:08:59
imprimiríais en el monitor serie A es mayor que B
00:09:01
y veríais que aparecería aquí en la simulación
00:09:03
aparecerían A, B y el mensaje
00:09:05
A es mayor que B
00:09:07
si A es igual a B, mandaréis un mensaje
00:09:08
imprimir el monitor serie A es igual a B
00:09:11
y si B es mayor que A, mandaríais un mensaje
00:09:13
B es mayor que A
00:09:15
¿vale? pues un ejercicio facilísimo
00:09:17
si habéis entendido esto y habéis
00:09:19
os he dado prácticamente el código
00:09:21
o sea que no tiene ninguna dificultad
00:09:23
Y eso es lo que tenéis que mandar
00:09:25
¿Vale?
00:09:26
Venga, hasta luego
00:09:28
- Autor/es:
- David Gonzalez Arroyo
- Subido por:
- David G.
- Licencia:
- Reconocimiento - No comercial - Compartir igual
- Visualizaciones:
- 144
- Fecha:
- 13 de enero de 2021 - 23:44
- Visibilidad:
- Público
- Centro:
- IES MARIE CURIE Loeches
- Duración:
- 09′ 30″
- 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:
- 24.44 MBytes