Compañeros Buen dia:
Anteriormente tenia un problema en el proyecto que fue resuelto con mucha rapidez por los amigos del foro dejo el enlace para ir explicando paso a pasocomo se desarrolla el proyecto
http://forum.arduino.cc/index.php?topic=409507.0
Ahora avanzando les explico cual es el proyecto final.
Una balanza me envia datos de peso continuamente al arduino, con el teclado matricial digito un determinado peso ejem(15.00 kg), luego presiono un boton y enciende un led mientras voy llenando la balanza, cuando el peso de la balanza sea mayor al peso digitado en el teclado el led se apaga.
El detalle esta en como guardar en un variable el peso digitado y luego compararlo con el dato serie para apagar un led.
luegopienso conectarle a los led un optocoplador junto con un triac y algun contactor pues pienso conectar un motor trifasico que consume 19 amperios.
Aun no uno el peso del teclado con el puerto serie porque me sale error, pero el codigo avanzado es el siguiente.
#include <Keypad.h>
const byte Filas = 4; //KeyPad de 4 filas
const byte Cols = 4; //y 4 columnas
//byte Pins_Filas[] = {13, 12, 11, 10}; //Pines Arduino para las filas.
//byte Pins_Cols[] = {7, 6, 5, 4}; // Pines Arduino para las columnas.
byte Pins_Filas[] = {9,8,7,6}; //Pines Arduino para las filas.
byte Pins_Cols[] = {5,4,3,2}; // Pines Arduino para las columnas.
char pulsacion;
String PIN_Tecleado = "";
char Teclas [Filas][Cols] = {
{'1','2','3','A'},
{'4','5','6','B'},
{'7','8','9','C'},
{'*','0','#','D'}
};
Keypad Teclado1 = Keypad(makeKeymap(Teclas), Pins_Filas, Pins_Cols, Filas, Cols);
//encender led//
const int pinled = 12;
const int boton = 11;
int botonestado = 0;
int estadoled = 0;
//CONFIGURACION PARA EL DATO SERIE//
float numero;
void setup() {
pinMode(pinled, OUTPUT);
pinMode(boton, INPUT);
Serial.begin(9600);
}
void loop() {
botonestado = digitalRead(boton);
if( botonestado ==HIGH){
digitalWrite(pinled, HIGH);
}
pulsacion = Teclado1.getKey();
if (pulsacion) { // Si se ha pulsado una tecla.
if (pulsacion >= '0' && pulsacion <= '9' ){ // Si la pulsación es un dígito de 0 a 9 y hay menos de 4 dígitos en la clave.
PIN_Tecleado += pulsacion;
Serial.print(pulsacion); //¿Como guardar los numeros digitados y compararlos?
}
if(Serial.available()> 0){
numero = Serial.parseFloat();
if(numero > pulsacion){
digitalWrite(pinled, LOW);
Serial.println(numero);
Serial.flush();
}
}
}
}