Browse Source

Actualizar 'Readme.md'

Explicación del código en Arduino
master
parent
commit
60c21cf709
1 changed files with 60 additions and 0 deletions
  1. +60
    -0
      Readme.md

+ 60
- 0
Readme.md View File

@ -103,5 +103,65 @@ Este error es un poco distinto y suele ser por problemas de compatibilidad con e
*Notas: es posible que al usar otro IDE de Python no se requiera solucionar estos errores por que los módulos ya vienen instalados con el programa; también puede que, si ocurren estos errores, el procedimiento de instalación de los módulos sea diferente al trabajar en un entorno distinto; además, si es el caso de que falta algún otro módulo de librería solo hay que ejecutar la instalación del mismo con la instrucción "pip install"; información adicional sobre otro tipo de errores no mencionados aquí se puede encontrar en diversas páginas web*
## Código en Arduino
A continuación, se presenta una breve explicación acerca del funcionamiento del programa diseñado en el IDE de Arduino:
En primer lugar, se establecen los puertos a utilizar del microcontrolador, para ello se definen 2 constantes correspondientes a la entrada de datos analógicos (pines A0 Y A1) a partir de los sensores de temperatura y otras 2 para las salidas que encenderán a los transistores (pines 6 y 7); además de ello, se declaran las variables que guardan los datos de las lecturas recibidas y las que almacenan el valor convertido de la temperatura en grado centígrados, por último una variable que indica el estado proporcionado desde Python para encender o apagar los transistores:
```
#define in1 A0
#define in2 A1
#define out1 6
#define out2 7
float temp1, lectura1, temp2, lectura2;
String estado;
```
Ahora, en la función *setup()* se indica el uso del monitor serial a una velocidad de comunicación de 9600 baudios, además de el modo de funcionamiento de los pines de entrada y salida:
```
Serial.begin(9600);
pinMode(in1, INPUT);
pinMode(in2, INPUT);
pinMode(out1, OUTPUT);
pinMode(out2, OUTPUT);
```
En el ciclo prrincipal *loop()*, primeramente se establecen las instrucciones para la lectura de datos. las variables de lectura almacenan un valor analógico que consta de valor entre 0 a 1023; posterior a ello se utiliza una ecuación donde la parte que corresponde a **(lecturax * 5000 / 1024)** convierte la medición realizada a voltaje entre 0 a 5000mV; ahora, el fabricante del sensor TMP36 indica que la salida de tensión será de 10 mV (mili voltios) por cada grado de temperatura, por lo que el resultado del voltaje se divide entre 10 para realizar la conversión a temperatura; se imprimen los resultados en el monitor serial para poder leerlos desde Python:
```
lectura1 = analogRead(in1);
lectura2 = analogRead(in2);
temp1 = (lectura1 * 5000 / 1024 / 10) - 33;
temp2 = (lectura2 * 5000 / 1024 / 10) - 37;
Serial.println(temp1);
Serial.println(temp2);
```
Finalmente, se codifican las líneas para cambiar el estado del transistor dependiendo de la información recibida desde Python en el monitor serial, por lo que antes que nada se debe de verificar los datos disponibles en este, para luego realizar la lectura de la variable en este monitor y enviarla a la placa de Arduino para encender o apagar el transisor indicado:
```
if(Serial.available()>0){
estado = Serial.readString();
if(estado == "on1"){
digitalWrite(out1, HIGH);
}
else if(estado == "off1"){
digitalWrite(out1, LOW);
}
else if(estado == "on2"){
digitalWrite(out2, HIGH);
}
else if(estado == "off2"){
digitalWrite(out2, LOW);
}
}
```
Se establece también un retardo de 100 milisegundos para repetir el ciclo.
## Código en Python
![](http://gmarxcc.com:8088/MSP430/GUI-Heater-System/raw/branch/master/Esquematico%20Conexiones/Esquematico_Sistema_de_Calentamiento.png)

Loading…
Cancel
Save