You are on page 1of 4

# incluye < LiquidCrystal.

h >
LiquidCrystal lcd ( 7 , 6 , 5 , 4 , 3 , 2 );

# define DT A0
# define SCK A1
# define sw 9

largomuestra = 0 ;
flotador val = 0 ;
cuenta larga = 0 ;

sin firmar largo readCount firmar ( nulo )


{
no firmado larga ;
no firmado Carácter ;
pinMode (DT, SALIDA);
escritura digital (DT, ALTA);
escritura digital (SCK, LOW);
Cuenta = 0 ;
pinMode (DT, ENTRADA);
while ( digitalRead (DT));
para (i = 0 ; i < 24 ; i ++)
{
escritura digital (SCK, ALTA);
Count = Count << 1 ;
escritura digital (SCK, LOW);
if ( digitalRead (DT))
Cuenta ++;
}
escritura digital (SCK, ALTA);
Cuenta = Cuenta ^ 0x800000 ;
escritura digital (SCK, LOW);
retorno (Count);
}

configuración del vacío ()


{
pinMode (SCK, SALIDA);
pinMode (sw, INPUT_PULLUP);
lcd comienzo ( 16 , 2 );
lcd imprimir ( " Peso " );
lcd setCursor ( 0 , 1 );
lcd impresión ( " Medición " );
retraso ( 1000 );
lcd claro ();
calibrar ();
}

bucle de vacío ()
{
count = readCount ();
int w = (((muestra-muestra) / val) - 2 * ((cuenta-muestra) / val));
lcd setCursor ( 0 , 0 );
lcd impresión ( " peso medido " );
lcd setCursor ( 0 , 1 );
lcd imprimir (w);
lcd impresión ( " g " );

if ( digitalRead (sw) == 0 )
{
val = 0 ;
muestra = 0 ;
w=0;
cuenta = 0 ;
calibrar ();
}
}

void calibrate ()
{
lcd claro ();
lcd imprimir ( " Calibrando ... " );
lcd setCursor ( 0 , 1 );
lcd imprimir ( " Por favor, espere ... " );
para ( int i = 0 ; i < 100 ; i ++)
{
count = readCount ();
muestra + = cuenta;
}
muestra / = 100 ;
lcd claro ();
lcd imprimir ( " Poner 100g y esperar " );
cuenta = 0 ;
mientras (cuenta < 1000 )
{
count = readCount ();
recuento = recuento de muestras;
}
lcd claro ();
lcd imprimir ( " Please Wait .... " );
retraso ( 2000 );
para ( int i = 0 ; i < 100 ; i ++)
{
count = readCount ();
val + = conteo de muestras;
}
val = val / 100.0 ;
val = val / 100.0 ; // pon aquí tu peso de calibración
lcd claro ();
}

You might also like