Mensajes recientes

Páginas: [1] 2 3 ... 10
1
Observadores. / Re:¿Como está hoy? (2018)
« Último mensaje por David Met en Diciembre 03, 2018, 10:42:00 am »
Para variar, ando bastante perdido.

Hermoso día amaneció hoy en San Fernando.
Si tienen la oportunidad, salgan afuera (los que viven en la pcia de Bs. As.) y vean de donde entran los cirrus. Es raro verlos por donde entran ya que lo está haciendo desde el sur.

Esto es producido por una baja presión (ciclón) ubicado en el Atlántico. Incluso en altura, las isobaras están cerradas por un ciclón que está casi alineado con el ciclón en superficie.
2
Observadores. / Re:¿Como está hoy? (2018)
« Último mensaje por Ricber en Noviembre 29, 2018, 03:04:44 pm »
Hola.
En La Plata esta nublado y por momentos llovizna.

Tmperatura: 22°
Humedad: 68%
Presión: 1011.6hPa
3
Observadores. / Re:¿Como está hoy? (2018)
« Último mensaje por YO en Noviembre 28, 2018, 08:48:01 pm »
Hola a todos!
En estos momentos en Lomas:

Temperatura :22.9
Humedad : 73.2%
Presión 1014.9 hPa
Parcialmente nublado
Hora: 20.46

Saludos
4
Observadores. / Re:¿Como está hoy? (2018)
« Último mensaje por YO en Noviembre 22, 2018, 08:34:39 pm »
Hola HJ!

En Lomas pasó lo mismo pero desde el mediodía.
Un poco de tormenta, un chaparrón fuerte y mucho viento, lo unico que duró fue el viento.

Datos actuales en Lomas de Zamora:

TEMPERATURA: 22.4 ºc
HUMEDAD: 70.8%
PRESIÓN: 1014.5 hPa
VIENTO: Sopla como loco
HORA:20:32

Saludos!
5
Observadores. / Re:¿Como está hoy? (2018)
« Último mensaje por HJ en Noviembre 22, 2018, 08:35:23 am »
Hola a todos
Por acá la temperatura a la 8 de la mañana 24ºC y parece que se viene el fin del mundo o el diluvio universal desde el sur...
Se ha puesto totalmente negro.
6
Observadores. / Re:¿Como está hoy? (2018)
« Último mensaje por YO en Noviembre 21, 2018, 08:29:27 pm »
Hola Gente!!

En este momento en Lomas tenemos:

HORA = 20:28

TEMPERATURA = 29.9 ºc

HUMEDAD = 51.4 %

PRESIÓN = 1006.8 hPa

VIENTO = (Ni idea, todavía no hice la pirinola para saber de donde viene ni cuanto sopla, por eso mi estación dice siempre = CALMO)   :59:
7
Lenguaje C / Re:Sensor BMP180
« Último mensaje por David Met en Octubre 15, 2018, 11:48:51 am »
Hola Guile.
Interrumpo solo para darte mi más sincero pésame.

Abrazos.
8
Lenguaje C / Re:Sensor BMP180
« Último mensaje por Ricber en Octubre 09, 2018, 04:41:01 pm »
Luego para saber la presion tenes que usar esta linea en el main.

   bmp085Calibration(); primero la caibracion
 

      T_Cent = BMP085Temperature();
      P_mBar = BMP085Pressure(false);   

para que pueda leer la presion primero hay que hacer una medicion de la temperatura
por eso van las dos lineas.
Bueno creo que eso es todo espero haberte podido ayudar.
cualquier problema avisanos que lo vamos viendo.
Mucha suerte y segui adelante con este proyecto que en algun momento
todo empieza a funcionar.
Un abarazo
9
Lenguaje C / Re:Sensor BMP180
« Último mensaje por Ricber en Octubre 09, 2018, 04:29:33 pm »
Hola Marcelo, lamento lo de tu padre, te paso la libreria que yo usaba e ccs.
aqui estan las rutinas de calibracion y de comunicacion.
Aca no hay que tocar nada solo asignar los pines que vas a usar en la comunicacion
eso se hace en la linea #use i2c.......

Código: [Seleccionar]
// place a #use i2c statement in the main program and comment this out if not applicable
#use i2c(master, sda=PIN_C4, scl=PIN_C3, FAST, FORCE_HW)

#include <math.h>

const int8 OVS_S = 3; // Oversampling Setting (0,1,2,3 from ultra low power, to ultra hi-resolution)

#define BMP085_ADDRESS 0xEE          // I2C address of BMP085
#define P_CORRECTION   1.5           // in mBars - factor to adjust for elevation to match local weather station pressure
                                     // this value for 14' above sea level (in Boca Raton, Florida)


// Calibration values
signed int16 ac1;
signed int16 ac2;
signed int16 ac3;
int16 ac4;
int16 ac5;
int16 ac6;
signed int16 b1;
signed int16 b2;
signed int16 mb;
signed int16 mc;
signed int16 md;

// floating point cal factors
float _c3;
float _c4;
float _b1;
float _c5;
float _c6;
float _mc;
float _md;

// polynomomial constants
float _x0;
float _x1;
float _x2;
float _y0;
float _y1;
float _y2;
float _p0;
float _p1;
float _p2;

float _s;     // T-25, used in pressure calculation - must run temperature reading before pressure reading
float _Temp;  // set after every temperature or temperature/pressure reading


//----------------------------------------------
int8 BMP085ReadByte(int8 address)
//----------------------------------------------
{
int8 data;

   i2c_start();
   i2c_write(BMP085_ADDRESS);
   i2c_write(address);
   i2c_start();
   i2c_write(BMP085_ADDRESS | 0x01 );
   data=i2c_read(0);
   i2c_stop();
   return(data);
}


//----------------------------------------------
int16 BMP085ReadInt(int8 address)
//----------------------------------------------
{
int8 msb, lsb;
int16 temp;

   i2c_start();
   i2c_write(BMP085_ADDRESS);
   i2c_write(address);
   i2c_start();
   i2c_write(BMP085_ADDRESS | 0x01 );
   msb = i2c_read();
   lsb = i2c_read(0);
   i2c_stop();
   temp = make16(msb, lsb);
   return ( temp );
}


//----------------------------------------------
void BMP085WriteByte(int8 address, int8 data)
//----------------------------------------------
{
   i2c_start();
   i2c_write(BMP085_ADDRESS);
   i2c_write(address);
   i2c_write(data);
   i2c_stop();
}


//----------------------------------------------
void bmp085Calibration()
//----------------------------------------------
{
   // read BMP085 EEPROM cal factors
   ac1 = bmp085ReadInt(0xAA);
   ac2 = bmp085ReadInt(0xAC);
   ac3 = bmp085ReadInt(0xAE);
   ac4 = bmp085ReadInt(0xB0);
   ac5 = bmp085ReadInt(0xB2);
   ac6 = bmp085ReadInt(0xB4);
   b1  = bmp085ReadInt(0xB6);
   b2  = bmp085ReadInt(0xB8);
   mb  = bmp085ReadInt(0xBA);
   mc  = bmp085ReadInt(0xBC);
   md  = bmp085ReadInt(0xBE);

    // calculate floating point cal factors
   _c3 = 0.0048828125 * ac3;            // 160 * pow2(-15) * ac3;
   _c4 = 0.000000030517578125 * ac4;    // 1E-3 * pow2(-15) * ac4;
   _c5 = 0.00000019073486328125 * ac5;  // (pow2(-15)/160) * ac5;
   _c6 = (float)ac6;
   _b1 = 0.00002384185791015625 * b1;   // 25600 * pow2(-30) * b1;
   _mc = 0.08 * mc;                     // (pow2(11) / 25600) * mc;
   _md = (float)md / 160;
   
   // calculate polynomial constants
   _x0 = (float)ac1;
   _x1 = 0.01953125 * ac2;             // 160 * pow2(-13) * ac2;
   _x2 = 0.000762939453125 * b2;       // 25600 * pow2(-25) * b2;
   _y0 = _c4 * 32768;                  //_c4 * pow2(15);
   _y1 = _c4 * _c3;
   _y2 = _c4 * _b1;
   _p0 = 2.364375; 
   _p1 = 0.992984;
   _p2 = 0.000004421;   
}


// Read the uncompensated temperature value
//----------------------------------------------
int16 BMP085ReadUT()
//----------------------------------------------
{
int16 ut;
 
  // Write 0x2E into Register 0xF4
  BMP085WriteByte(0xF4, 0x2E);
  delay_ms(5); // Wait at least 4.5ms
  // Read two bytes from registers 0xF6 and 0xF7
  ut = BMP085ReadInt(0xF6);
  return((float)ut);
}


// Read the uncompensated pressure value
//----------------------------------------------
int32 bmp085ReadUP()
//----------------------------------------------
{
int8 msb, lsb, xlsb;
float p;
 
  // Write 0x34+(OSS<<6) into register 0xF4
  // Request a pressure reading w/ oversampling setting
  BMP085WriteByte(0xF4, (0x34 + (OVS_S<<6)) );
 
  // Wait for conversion, delay time dependent on OSS
  switch (OVS_S)
  {
     case 0: delay_ms(5);  break;
     case 1: delay_ms(8);  break;
     case 2: delay_ms(14); break;
     case 3: delay_ms(26); break;
  }   
 
  // Read register 0xF6 (MSB), 0xF7 (LSB), and 0xF8 (XLSB)
   msb  = BMP085ReadByte(0xF6);
   lsb  = BMP085ReadByte(0xF7);
   xlsb = BMP085ReadByte(0xF8);
   p = (256*msb) + lsb + (xlsb/256);
   return(p);
}


//----------------------------------------------
float BMP085GetTemp(float _tu)
//----------------------------------------------
{
float alpha, T;

   alpha = _c5 * (_tu - _c6);
   T = alpha + (_mc/(alpha + _md));
   _s = T - 25;
   return(T);
}   


//----------------------------------------------
float BMP085GetPressure(float _pu)
//----------------------------------------------
{
float x, y, z;
float P;

   x = _x2*_s*_s + _x1*_s + _x0;
   y = _y2*_s*_s + _y1*_s + _y0;
   z = ((float)_pu - x) / y;
   P = _p2*z*z + _p1*z + _p0;
   P += P_CORRECTION;
   return(P);
}


//----------------------------------------------
float BMP085Pressure(boolean getTemp)
//----------------------------------------------
{
   if (getTemp)
      _Temp = BMP085GetTemp(BMP085ReadUT());  // creates _s required for pressure calculation
   return(BMP085GetPressure(BMP085ReadUP()));
}


//----------------------------------------------
float BMP085Temperature(void)
//----------------------------------------------
{
   _Temp = BMP085GetTemp(BMP085ReadUT());
   return(_Temp);
}

10
Lenguaje C / Sensor BMP180
« Último mensaje por guillermoc en Octubre 06, 2018, 10:23:26 pm »
Hola a todos, hace un tiempo me había registrado pero no pude hacer nada sobre mi humilde estación meteo, en el medio partió mi padre jubilado meteorólogo de profesión, hoy quiero retomar lo hecho hasta acá, yo programo PIC´s en CCs y mi estación usa el DS18B20 y el DHT11 para medir temperatura y humedad respectivamente, quiero agregar un sensor de presión atmosférica BMP180 pero no logro encontrar por ningún lado las librerías que me permitan usarlo, existen para PIC? porque yo solo encuentro para Arduino y ya no se donde ni como buscar, vi que hay aquí un proyecto .jal que usa este sensor y comentan que lo comprobaron con CCs. podrían ayudarme a obtener esa librería o explicarme de que forma lo puedo usar. Agradezco enormemente vuestra ayuda. Yo vivo en General Pico, provincia de La Pampa. Saludos Cordiales.
Páginas: [1] 2 3 ... 10