Saltar navegación

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

Arduino: Comunicación serie I - 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 13 de enero de 2021 por David G.

144 visualizaciones

Descargar la transcripción

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

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid