Está en la página 1de 8

Envı́o y transmisión de datos por puerto serial

Aura Lorena Carrero Valencia.


aural.carrerov@ecci.edu.co
Karen Tatiana Bermudez Machete.
karent.bermudezm@ecci.edu.co
Departamento de Ingenierı́a Biomédica
Escuela Colombiana de Carreras Industriales (ECCI)

Abstract—Using the STM32F407VGTx microcontroller, we


generate an ASCII code to be able to see it on the display
with 16 segments, letters and numbers. We also carry out a
programming in C language sent by RS232 data from an LM35
sensor to observe the temperature through the cell phone.
Keywords: CubeSTM, Display de 16 segmentos, LM35,
Módulo bluetooth HC05, Software Keil, STM32F407VGT.

I. I NTRODUCCI ÓN

Fig. 1: Código ASCII


Código ASCII

• Caracteres de control (0–31 127): los caracteres de


control no son caracteres imprimibles. Estos transmiten
comandos al PC o a la impresora y se basan en técnicas A. Materiales usados
de teletipo. Con ellos también se pueden colocar saltos
de lı́nea o tabuladores, aunque muchos apenas se utilizan
• Display 16 segmentos
en la actualidad.
• RS232
• Caracteres especiales (32–47 / 58–64 / 91–96 / 123–126):
• Sensor LM35 (1mV por cada o C)
estos comprenden todos los imprimibles que no son
• Módulo bluetooth HC05
ni letras ni números, como, por ejemplo, los signos
de puntuación o los sı́mbolos matemáticos. También se
incluye el espacio en blanco, que es considerado como * Display 16 Segmentos
carácter imprimible pero no visible y, por lo tanto, no
Display Alfa-Numérico de 16 segmentos sin punto decimal
pertenece a los caracteres de control como se podrı́a
que permite representar números y letras en proyectos y/o
suponer.
equipos electrónicos.
• Números (30–39): los números engloban las diez cifras
árabes del cero al nueve. Las pantallas de 16 segmentos o alfanuméricas le permiten
• Letras (65–90 / 97–122): las letras se dividen en dos representar los dı́gitos numérico y, razonablemente bien, todas
bloques, el primero para las mayúsculas y el segundo las letras del alfabeto.[2]
para las minúsculas.
Especificaciones:
Las tablas ASCII los valores se representan de un modo dec-
imal, binario y hexadecimal. Los primeros dos tipos se recogen • Voltaje: 3 VCD
debido a que, en general, son sistemas de caracteres usados • Amperaje: 20 mA
tanto por humanos como por máquinas. Por el contrario, el • Número de segmentos: 16
sistema hexadecimal tiene la ventaja de que comprende 16 • Cátodo común
caracteres (0–9 + A–F) y puede representar números grandes • Color del LED: Rojo
con menos posiciones que las otras dos variantes. Ası́, un byte • Posición de los pines con respecto al punto: Horizontales
siempre puede representarse con máximo 2 cifras. [1] • Dimensiones: 4.3 cm x 3.1 cm x 0.8 cm
• Voltaje de alimentación. Por ejemplo, esté sensor se
puede alimentar desde 4Vdc hasta 20Vdc.
• Tipo de medición. Salida analógica.
• Numero de pines: 3 pines, GND, VCC y VSalida.
• No requiere calibración.
• Tiene una precisión de C.
• Esta calibrado para medir C.
• Consumo de corriente: 60 A
Fig. 2: Display 16 segmentos

* RS232
La comunicación serial mediante el estándar RS232 puede
ser directa cuando se realiza sobre banda base digital y/o
mediante un modem cuando la transmisión se realiza en banda
base análoga modulando la portadora.
Los tipos de señales de la especificación RS-232 (CCITT
V.24) son los siguientes: 1.- Masa: GND para aislamiento del
conector con enlace al chasis de la terminal; SG Señal sobre la
Fig. 4: LM35
que se establece la tensión de las demás señales del conector.
2.- Canal Principal: Conjunto de señales de datos y control,
TxD y RxD lı́neas de transmisión y recepción respectivamente;
RTS, CTS, DSR y DCD señales básicas, DTR y RI señales * Módulo bluetooth HC 05
conmutadas y SQ, CH y CI señales de calidad y canales. El Bluetooth HC-05 es un pequeño modulo transmisor/re-
3.- Transmisión Sı́ncrona: DA, DD y DB exclusivas de sin- ceptor TTL fue diseñado para ser controlado a través de
cronı́a. 4.- Canal Secundario: para algunos modelos DCE. 5.- RS232. Permite transmitir como recibir datos a través de
Terminales sin Asignación Fija: para utilizarse por aplicación tecnologı́a bluetooth sin conectar cables a los dispositivos a
formando dos bucles de corriente en caso de ser requeridas. comunicar. Es un dispositivo muy facil de usar y compacto se
[3] controla mediante comandos AT por el puerto serie. [5]

Fig. 3: RS232

* LM35
El sensor tiene un rango desde 55C a 150C. Su popularidad
se debe a la facilidad con la que se puede medir la temperatura. Fig. 5: Módulo bluetooth HC 05
Incluso no es necesario de un microprocesador o microcon-
trolador para medir la temperatura. Dado que el sensor LM35
es analógico, basta con medir con un multı́metro, el voltaje a II. R ESULTADOS
salida del sensor.
Para convertir el voltaje a la temperatura, el LM35 pro-
porciona 10mV por cada grado centı́grado. También cabe Después de realizar la respectiva programación, procedimos
señalar que ese sensor se puede usar sin offset, es decir que a conectar y por medio del display 16 segmentos se observo
si medimos 20mV a la salida, estaremos midiendo 2C.[4] el carácter enviado por la terminal, donde se visualizó la
• Resolución: 10mV por cada grado centı́grado. siguiente imagen.
Fig. 6: Abecedario, números y caracteres especiales Fig. 9: Visualización de Temperatura

III. C ÓDIGO F UENTE


A. Código para visualizar abecedario, números y caracteres
especiales
1
2 char B u f f e r R e c e i v e [ 3 0 ] ;
3
4 while ( 1 )
5 {
6 HAL UART Receive(& h u a r t 3 , ( u i n t 8 t ∗ )
Buffer Receive ,50 ,5) ;
7
8 i f ( B u f f e r R e c e i v e [ 0 ] = = ’A ’ )
9 {
10 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
GPIO PIN SET ) ;
11 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
GPIO PIN SET ) ;
12 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
GPIO PIN SET ) ;
13 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
GPIO PIN SET ) ;
14 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
Fig. 7: Diagrama Display
GPIO PIN SET ) ;
15 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
GPIO PIN SET ) ;
16 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
GPIO PIN SET ) ; HAL GPIO WritePin ( GPIOD ,
GPIO PIN 6 , GPIO PIN SET ) ;
17 }
Por ultimo se procedió a conectar la tarjeta con el sensor 18
19 i f ( B u f f e r R e c e i v e [ 0 ] = = ’B ’ )
LM35 y por conexión bluetooth con el celular se observó el 20 {
cambio de temperatura como se refleja en la siguiente imagen. 21 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
GPIO PIN SET ) ;
22 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
GPIO PIN SET ) ;
23 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
GPIO PIN SET ) ;
24 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
GPIO PIN SET ) ;
25 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
GPIO PIN SET ) ;
26 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
GPIO PIN SET ) ;
27 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ;
28 HAL GPIO WritePin ( GPIOD , GPIO PIN 9 ,
GPIO PIN SET ) ;
29 HAL GPIO WritePin ( GPIOD , GPIO PIN 10 ,
GPIO PIN SET ) ;
30 }
31
32 i f ( B u f f e r R e c e i v e [ 0 ] = = ’C ’ )
33 {
34 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
Fig. 8: Diagrama LM35 GPIO PIN SET ) ;
35 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , 77 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
36 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , 78 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
37 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , 79 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
38 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , 80 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
39 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , 81 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
GPIO PIN SET ) ; } GPIO PIN SET ) ;
82 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
GPIO PIN SET ) ;
40 83 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
41 i f ( B u f f e r R e c e i v e [ 0 ] = = ’D ’ ) GPIO PIN SET ) ;
42 { 84 }
43 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
GPIO PIN SET ) ; 85
44 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , 86 i f ( B u f f e r R e c e i v e [ 0 ] = = ’H ’ )
GPIO PIN SET ) ; 87 {
45 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , 88 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
46 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , 89 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
47 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , 90 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
48 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , 91 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
49 HAL GPIO WritePin ( GPIOD , GPIO PIN 9 , 92 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
50 HAL GPIO WritePin ( GPIOD , GPIO PIN 10 , 93 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
51 } 94 }
95
52 96 i f ( Buffer Receive [0]== ’ I ’ )
53 i f ( B u f f e r R e c e i v e [ 0 ] = = ’E ’ ) 97 {
54 { 98 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
55 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 99 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
56 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , GPIO PIN SET ) ;
GPIO PIN SET ) ; HAL GPIO WritePin ( GPIOB , 100 HAL GPIO WritePin ( GPIOD , GPIO PIN 9 ,
GPIO PIN 14 , GPIO PIN SET ) ; GPIO PIN SET ) ;
57 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , 101 HAL GPIO WritePin ( GPIOD , GPIO PIN 10 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
58 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , 102 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
59 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , 103 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
60 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 , 104 }
GPIO PIN SET ) ; 105 i f ( Buffer Receive [0]== ’ J ’ )
61 } 106 {
62 107 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
63 i f ( Buffer Receive [0]== ’F ’ ) GPIO PIN SET ) ;
64 { 108 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
65 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 109 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
66 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 110 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
67 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 111 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
68 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 112 }
69 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
GPIO PIN SET ) ; 113 i f ( B u f f e r R e c e i v e [ 0 ] = = ’K ’ )
70 } 114 {
71 115 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
72 i f ( B u f f e r R e c e i v e [ 0 ] = = ’G ’ ) GPIO PIN SET ) ;
73 { 116 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
74 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 117 HAL GPIO WritePin ( GPIOD , GPIO PIN 7 ,
75 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 118 HAL GPIO WritePin ( GPIOD , GPIO PIN 12 ,
76 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 119 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
GPIO PIN SET ) ;
120 } 164 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
121 i f ( B u f f e r R e c e i v e [ 0 ] = = ’L ’ ) GPIO PIN SET ) ;
122 { 165 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
123 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 166 }
124 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , 167 i f ( B u f f e r R e c e i v e [ 0 ] = = ’Q ’ )
GPIO PIN SET ) ; 168 {
125 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , 169 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
126 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , 170 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
127 } 171 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
GPIO PIN SET ) ;
128 i f ( B u f f e r R e c e i v e [ 0 ] = = ’M’ ) 172 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
129 { GPIO PIN SET ) ; HAL GPIO WritePin ( GPIOD ,
130 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , GPIO PIN 5 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 173 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
131 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 174 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
132 HAL GPIO WritePin ( GPIOB , GPIO PIN 15 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 175 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
133 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 176 HAL GPIO WritePin ( GPIOD , GPIO PIN 12 ,
134 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 177 }
135 HAL GPIO WritePin ( GPIOD , GPIO PIN 7 , 178 i f ( B u f f e r R e c e i v e [ 0 ] = = ’R ’ )
GPIO PIN SET ) ; 179 {
136 } 180 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
137 i f ( B u f f e r R e c e i v e [ 0 ] = = ’N ’ ) GPIO PIN SET ) ;
138 { 181 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
139 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 182 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
140 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 183 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
141 HAL GPIO WritePin ( GPIOB , GPIO PIN 15 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 184 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
142 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 185 HAL GPIO WritePin ( GPIOD , GPIO PIN 12 ,
143 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 186 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
144 HAL GPIO WritePin ( GPIOD , GPIO PIN 12 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 187 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
145 } GPIO PIN SET ) ;
146 i f ( B u f f e r R e c e i v e [ 0 ] = = ’O ’ ) 188 }
147 { 189 i f ( Buffer Receive [0]== ’S ’ )
148 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , 190 {
GPIO PIN SET ) ; 191 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
149 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 192 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
150 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 193 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
151 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 194 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
152 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 195 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
153 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 196 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
154 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 197 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
155 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 198 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
156 } GPIO PIN SET ) ;
157 i f ( Buffer Receive [0]== ’P ’ ) 199 }
158 { 200 i f ( B u f f e r R e c e i v e [ 0 ] = = ’T ’ )
159 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , 201 {
GPIO PIN SET ) ; 202 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
160 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 203 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
161 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 204 HAL GPIO WritePin ( GPIOD , GPIO PIN 9 ,
162 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 205 HAL GPIO WritePin ( GPIOD , GPIO PIN 10 ,
163 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , GPIO PIN SET ) ;
GPIO PIN SET ) ;
206 } 250 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ;
207 i f ( B u f f e r R e c e i v e [ 0 ] = = ’U ’ ) 251 }
208 { 252 i f ( Buffer Receive [0]== ’1 ’ )
209 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , 253 {
GPIO PIN SET ) ; 254 HAL GPIO WritePin ( GPIOD , GPIO PIN 7 ,
210 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 255 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
211 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 256 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
212 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 257 }
213 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , 258 i f ( Buffer Receive [0]== ’2 ’ )
GPIO PIN SET ) ; 259 {
214 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , 260 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
215 } 261 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
216 i f ( B u f f e r R e c e i v e [ 0 ] = = ’V ’ ) GPIO PIN SET ) ;
217 { 262 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
218 HAL GPIO WritePin ( GPIOB , GPIO PIN 15 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 263 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
219 HAL GPIO WritePin ( GPIOD , GPIO PIN 12 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 264 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
220 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 265 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
221 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , GPIO PIN SET ) ;
GPIO PIN SET ) ; } 266 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ;
222 i f ( B u f f e r R e c e i v e [ 0 ] = = ’W’ ) 267 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
223 { GPIO PIN SET ) ;
224 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , 268 }
GPIO PIN SET ) ; 269 i f ( Buffer Receive [0]== ’3 ’ )
225 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , 270 {
GPIO PIN SET ) ; 271 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
226 HAL GPIO WritePin ( GPIOD , GPIO PIN 11 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 272 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
227 HAL GPIO WritePin ( GPIOD , GPIO PIN 12 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 273 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
228 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 274 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
229 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 275 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
230 } GPIO PIN SET ) ;
231 i f ( B u f f e r R e c e i v e [ 0 ] = = ’X ’ ) 276 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
232 { GPIO PIN SET ) ;
233 HAL GPIO WritePin ( GPIOB , GPIO PIN 15 , 277 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
234 HAL GPIO WritePin ( GPIOD , GPIO PIN 11 , 278 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
GPIO PIN SET ) ; GPIO PIN SET ) ; }
235 HAL GPIO WritePin ( GPIOD , GPIO PIN 12 , 279 i f ( Buffer Receive [0]== ’4 ’ )
GPIO PIN SET ) ; 280 {
236 HAL GPIO WritePin ( GPIOD , GPIO PIN 7 , 281 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
237 } 282 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
238 i f ( B u f f e r R e c e i v e [ 0 ] = = ’Y ’ ) GPIO PIN SET ) ;
239 { 283 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
240 HAL GPIO WritePin ( GPIOB , GPIO PIN 15 , GPIO PIN SET ) ;
GPIO PIN SET ) ; HAL GPIO WritePin ( GPIOD , 284 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
GPIO PIN 7 , GPIO PIN SET ) ; GPIO PIN SET ) ;
241 HAL GPIO WritePin ( GPIOD , GPIO PIN 10 , 285 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
242 } 286 }
243 i f ( B u f f e r R e c e i v e [ 0 ] = = ’Z ’ ) 287 i f ( Buffer Receive [0]== ’5 ’ )
244 { 288 {
245 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , 289 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
246 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , 290 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
247 HAL GPIO WritePin ( GPIOD , GPIO PIN 11 , 291 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
248 HAL GPIO WritePin ( GPIOD , GPIO PIN 7 , 292 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
249 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , 293 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
294 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , 337 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
295 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , 338 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
296 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , 339 }
GPIO PIN SET ) ; 340 i f ( Buffer Receive [0]== ’0 ’ )
297 } 341 {
298 i f ( Buffer Receive [0]== ’6 ’ ) 342 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
299 { GPIO PIN SET ) ;
300 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , 343 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
301 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 , 344 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
302 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 , 345 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
303 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , 346 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
304 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , 347 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
305 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , 348 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
306 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , 349 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
307 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , 350 HAL GPIO WritePin ( GPIOD , GPIO PIN 11 ,
GPIO PIN SET ) ; GPIO PIN SET ) ; HAL GPIO WritePin (
308 } GPIOD , GPIO PIN 7 , GPIO PIN SET ) ; }
309 i f ( Buffer Receive [0]== ’7 ’ ) 351 i f ( Buffer Receive [0]== ’ / ’ )
310 { 352 {
311 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , 353 HAL GPIO WritePin ( GPIOD , GPIO PIN 11 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
312 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , 354 HAL GPIO WritePin ( GPIOD , GPIO PIN 7 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
313 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , 355 }
GPIO PIN SET ) ; 356 i f ( B u f f e r R e c e i v e [ 0 ] = = ’@’ )
314 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , 357 {
GPIO PIN SET ) ; 358 HAL GPIO WritePin ( GPIOD , GPIO PIN 7 ,
315 } GPIO PIN SET ) ;
316 i f ( Buffer Receive [0]== ’8 ’ ) 359 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
317 { GPIO PIN SET ) ;
318 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , 360 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
319 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , 361 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
320 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , 362 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
321 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , 363 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
322 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 , 364 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
323 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , 365 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
324 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 , 366 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
325 HAL GPIO WritePin ( GPIOD , GPIO PIN 8 , 367 }
GPIO PIN SET ) ; 368 i f ( B u f f e r R e c e i v e [ 0 ] = = ’%’ )
326 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 , 369 {
GPIO PIN SET ) ; 370 HAL GPIO WritePin ( GPIOD , GPIO PIN 11 ,
327 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , GPIO PIN SET ) ;
GPIO PIN SET ) ; 371 HAL GPIO WritePin ( GPIOD , GPIO PIN 7 ,
328 } GPIO PIN SET ) ;
329 i f ( Buffer Receive [0]== ’9 ’ ) 372 HAL GPIO WritePin ( GPIOD , GPIO PIN 9 ,
330 { GPIO PIN SET ) ;
331 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 , 373 HAL GPIO WritePin ( GPIOD , GPIO PIN 10 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
332 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , 374 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
333 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , 375 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
334 HAL GPIO WritePin ( GPIOD , GPIO PIN 5 , 376 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
335 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 , 377 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
336 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 , 378 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
GPIO PIN SET ) ; GPIO PIN SET ) ;
379 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 , display 16 segmentos lo que le enviemos, en nuestro
GPIO PIN SET ) ; caso carácteres alfanuméricos y especiales.
380 }
381 i f ( Buffer Receive [0]== ’∗ ’ ) 2) Se empleo la programación de lenguaje en c, con la cual
382 { pudimos ver la interacción de un sensor de temperatura
383 HAL GPIO WritePin ( GPIOD , GPIO PIN 11 , con el modulo RS-232 y el microcontrolador. Al mo-
GPIO PIN SET ) ;
384 HAL GPIO WritePin ( GPIOD , GPIO PIN 7 , mento que se variaba la temperatura en el LM 35 se
GPIO PIN SET ) ; podı́a visualizar este cambio en el celular.
385 HAL GPIO WritePin ( GPIOD , GPIO PIN 9 , 3) Finalmente, se comprendió la diferencia entre comuni-
GPIO PIN SET ) ;
386 HAL GPIO WritePin ( GPIOD , GPIO PIN 10 , cación sincrónica (USART) y asincrónica(UART), y se
GPIO PIN SET ) ; evidenció que en los dos puntos del laboratorio usamos
387 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 , la comuniación sincrónica, pues fue necesario transmitir
GPIO PIN SET ) ;
388 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 , bits de datos entre el emisor y el receptor, evidenciando
GPIO PIN SET ) ; ya sea en el celular (el de temperatura) o en el display
389 HAL GPIO WritePin ( GPIOB , GPIO PIN 15 , la información que querı́amos visualizar.
GPIO PIN SET ) ;
390 HAL GPIO WritePin ( GPIOD , GPIO PIN 10 , R EFERENCES
GPIO PIN SET ) ;
391 HAL GPIO WritePin ( GPIOD , GPIO PIN 12 , [1] E. ALCALDE LANCHORRO and F. ORMA-
GPIO PIN SET ) ; } CHEA SAHUQUILLO, “Arquitectura de ordenadores,” 1992.
392 i f ( Buffer Receive [0]== ’$ ’ ) [2] H. F. W. Puhlmann, “Displays de led de 7 segmentos.”
393 { [3] P. de Vicente, “Programas de control y monitorización de la
394 HAL GPIO WritePin ( GPIOB , GPIO PIN 13 , estación meteorológica y del terminal gps del cay,” 2002.
GPIO PIN SET ) ; [4] J. G. Coneo, B. N. Pérez, and P. V. Molinares, “Sistema de
395 HAL GPIO WritePin ( GPIOB , GPIO PIN 12 , monitoreo en tiempo real para la medición de temperatura,”
GPIO PIN SET ) ; Scientia et technica, vol. 17, no. 50, pp. 128–131, 2012.
396 HAL GPIO WritePin ( GPIOD , GPIO PIN 4 , [5] J. I. Vega, G. Salgado, M. A. Lagos, V. N. Tapia, and F. J.
GPIO PIN SET ) ; Sánchez, “Monitoreo de temperatura y humedad en un campo
397 HAL GPIO WritePin ( GPIOD , GPIO PIN 6 , de cultivo utilizando el protocolo bluetooth,” Centro de Ciencias
GPIO PIN SET ) ; Aplicadas y Desarrollo Tecnológico, vol. 29, p. 2, 2014.
398 HAL GPIO WritePin ( GPIOD , GPIO PIN 3 ,
GPIO PIN SET ) ;
399 HAL GPIO WritePin ( GPIOD , GPIO PIN 2 ,
GPIO PIN SET ) ;
400 HAL GPIO WritePin ( GPIOD , GPIO PIN 1 ,
GPIO PIN SET ) ;
401 HAL GPIO WritePin ( GPIOB , GPIO PIN 14 ,
GPIO PIN SET ) ;
402 HAL GPIO WritePin ( GPIOD , GPIO PIN 9 ,
GPIO PIN SET ) ;
403 HAL GPIO WritePin ( GPIOD , GPIO PIN 10 ,
GPIO PIN SET ) ;
404 }

B. Código para visualizar la temperatura

1
2 char V o l t P o t [ 2 0 ] ;
3 while ( 1 )
4 {
5 HAL ADC Start(& h a d c 3 ) ;
6 v=HAL ADC GetValue(& h a d c 3 ) ;
7 {
8 s p r i n t f ( V o l t P o t , ” T e m p e r a t u r a = %.3 f V o l t i o s \n
” , ( v ∗3/4095) ) ;
9 HAL Delay ( 7 0 0 ) ;
10 HAL UART Transmit(& h u a r t 3 , ( u i n t 8 t ∗ ) V o l t P o t
,28 ,5000) ;
11 }

IV. C ONCLUSIONES
1) En este laboratorio se pudo observar como es posible
el trabajo en conjunto de tres dispositivos electrónicos
totalmente diferentes. Gracias a la programación, se
evidenció como a través del celular podemos enviar
datos al módulo bluetooth RS-232 y visualizar en el

También podría gustarte