miércoles, 26 de diciembre de 2018

Arduino Función que pasa el valor leído en un puerto analógico a Byte

En un programa que estoy desarrollando, necesitaba almacenar el valor leído por una LDR en una EEprom y no necesitaba mucha precisión, por eso he decidido hacer esta función que calcula una regla de tres para pasar los valores leídos por la LDR a Byte y así poder trabajar con ellos más cómodamente cuando necesite hacer uso de ellos.

/* Funcion que entrega una lectura analogica como Byte */
/* By Aitor Martin */

const int LDRPin = A0;   //Pin del LDR
const int ValorEntrada = 1023; //Valor maximo que lee la entrada analogica
 
void setup() 
{
   Serial.begin(9600);  //inicializamos el serial
}// Fin setup
 
void loop()
{
  long Valor = 0;
 
  Valor = analogRead(LDRPin);// Leemos el pin de la LDR

  Serial.print("Valor entrada: "); // Imprimimos varios datos
  Serial.println(ValorEntrada);
  
  Serial.print("Leido: ");
  Serial.println(Valor);
  
  Serial.print ("Vlor en Byte: ");
  Serial.println (AnalogicoByte(Valor)); // Calculamos y imprimimos el valor leido en Bytes
  
  delay(10000);
}// Fin loop

/* La funcion que hace la regla de 3 para calcular la proporcion */

byte AnalogicoByte (int Valor){
  
  long ValorL; //Variable para los calculos matematicos
  
  ValorL = (Valor * 255) / ValorEntrada; // Regla de 3 para caldular la proporcion
  
  return ValorL; // Entrega el resultado
  
}//Final Valor leido

No hay comentarios:

Publicar un comentario