Podrían por favor ayudarme soy nueva en esto de la codificacion y eso y estoy haciendo un proyecto de caudalimetro también pero al momento de poner los datos y eso no da correctamente y nc q está mal nc si podrían ayudarme xf ese es el código pero no dan los datos exactos que deberían en el lcd y el sensor yf-s201 nose como cuenta los pulsos positivos con un pic 18f4550
// Configuración del LCD
sbit LCD_RS at RD0_bit;
sbit LCD_EN at RD1_bit;
sbit LCD_D4 at RD4_bit;
sbit LCD_D5 at RD5_bit;
sbit LCD_D6 at RD6_bit;
sbit LCD_D7 at RD7_bit;
sbit LCD_RS_Direction at TRISD0_bit;
sbit LCD_EN_Direction at TRISD1_bit;
sbit LCD_D4_Direction at TRISD4_bit;
sbit LCD_D5_Direction at TRISD5_bit;
sbit LCD_D6_Direction at TRISD6_bit;
sbit LCD_D7_Direction at TRISD7_bit;
int pulsos=0;
double cpulsos=2.25;
double litros = 0.0;
double metrosCubicos = 0.0;
char l[5] ;
char m [5];
void main() {
adcon1=0b00001111;
TRISC.b1 = 1; // Configurar PORTC como entrada
trisd=0;
portc.b1=0;
portd=0;
Lcd_Init(); // Inicializar el LCD
Lcd_Cmd(_LCD_CLEAR); // Limpiar la pantalla del LCD
Lcd_Cmd(_LCD_CURSOR_OFF); // Apagar el cursor del LCD
Lcd_Out(1, 1, "Lts: ");
//Lcd_Out(2, 1, "pulsos: ");
while (1) {
if( portc.b1=1)
{ pulsos=cpulsos;
// Calcular los litros
litros = pulsos / 7.5;
metrosCubicos = litros / 1000;
cpulsos+=2.25;
Delay_ms(1000 ); // Esperar 1 segundo
}
lcd_cmd(_lcd_first_row);
FloatToStr(litros,l) ;
Lcd_chr(1, 6,l[0]);
lcd_chr_cp(l[1]);
lcd_chr_cp(l[2]);
lcd_chr_cp(l[3]);
lcd_chr_cp(l[4]);
FloatToStr(metrosCubicos,m) ;
Lcd_chr(2,6,m[0]);
lcd_chr_cp(m[1]);
lcd_chr_cp(m[2]);
lcd_chr_cp(m[3]);
lcd_chr_cp(m[4]);
// FloatToStr(pulsos,q) ;
//Lcd_out(2, 8,q);
}
}