Ir ao conteúdo

Ivan (eletronic)

Membro Pleno
  • Posts

    417
  • Cadastrado em

  • Última visita

Tudo que Ivan (eletronic) postou

  1. Então no NRF eu to tentando usar o codigo deste video, entendi e to tentando melhor. Mas ainda nao consegui testar por falta de tempo e dos componentes
  2. Cara não estou achando aqui esse tuto que comentou, o unico link que encontro abre uma pagina de um forum com dois posts vazios. Poderia enviar novamente pf? O codigo que eu tenho hoje para o BMP085 é: //************************************************ // BMP085 Barometric Pressure Sensor // // - Datasheet: http://www.bosch-sensortec.com/content/language1/downloads/BST-BMP085-DS000-05.pdf // // - Written in CCS PCH C using floating point math // - Several integer math versions of this driver exist but the speed improvement is // not warranted in typical weather station type applications // // - Based on a paper posted to thebackshed.com by DuinoMiteMegaAn // http://www.thebackshed.com/forum/forum_posts.asp?TID=4768&PN=9 // // - Usage: // Call once: bmp085Calibration(); // P_mBar_float = BMP085Pressure(true); // calls for temperature first // P_mBar_float = BMP085Pressure(false); // skips temperature reading, assumes done previously // T_Cent_float = BMP085Temperature(); // t_reading = _Temp; _Temp set on every temperature reading // Note: pressure reading is temp compensated so call for temp reading prior to pressure reading periodically or on each reading // // Al Testani // 08/17/12 //************************************************ // 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_W 0xEE // I2C Write address of BMP085 #define BMP085_ADDRESS_R 0xEF // I2C Read 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 BMP085_Read_Byte(int8 add) { int8 data; i2c_start(); i2c_write(BMP085_ADDRESS_W); i2c_write(add); i2c_start(); i2c_write(BMP085_ADDRESS_R); data=i2c_read(0); i2c_stop(); return(data); } int16 BMP085_Read_Int(int8 add) { int8 msb, lsb; int16 retval; i2c_start(); i2c_write(BMP085_ADDRESS_W); i2c_write(add); i2c_start(); i2c_write(BMP085_ADDRESS_R); msb = i2c_read(); lsb = i2c_read(0); i2c_stop(); retval = make16(msb, lsb); return (retval); } void BMP085_Write_Byte(int8 add, int8 data) { i2c_start(); i2c_write(BMP085_ADDRESS_W); i2c_write(add); i2c_write(data); i2c_stop(); } void bmp085Calibration() { // read BMP085 EEPROM cal factors ac1 = BMP085_Read_Int(0xAA); ac2 = BMP085_Read_Int(0xAC); ac3 = BMP085_Read_Int(0xAE); ac4 = BMP085_Read_Int(0xB0); ac5 = BMP085_Read_Int(0xB2); ac6 = BMP085_Read_Int(0xB4); b1 = BMP085_Read_Int(0xB6); b2 = BMP085_Read_Int(0xB8); mb = BMP085_Read_Int(0xBA); mc = BMP085_Read_Int(0xBC); md = BMP085_Read_Int(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); } [spoiler/] Mas não sei to suspeitando um pouco desses calculos Ps: se alguem puer me lembrar como usa aquele comando spoiler pra "fechar" o codigo postado agradeço.
  3. Putz aphawk, assim vai parecer que to te perseguindo né cara...rsrsrrs Mas nao estou. você poderia nos passar o codigo desse BMP085?? Peguei um codigo no forum da CCS mas to achando ele muito simples e queria dar uma olhada no seu. E caso ja tenha trabalhado com: HMC5883L, MPU9250 e MMA7455L tambem to aceitando. To tentando trabalhar com todos esses sensores. Att, Ivan H.
  4. aphawk você fez bibloteca no CCS para esse ESP8266?? Se sim poderia nos passar? Hoje estou lutando pra fazer o NRF24L01 funcionar, assim que eu conseguir esse feito seria legal conseguir com esse também. Att, Ivan H.
  5. Tive um problema parecido quando entrei em contato com a magmatec a um tempo atras, porém depois de 1 mes de espera mandei um email revoltado pra eles e logo um vendedor entrou em contato e fez tudo certinho. Mas você poderia posta uma imagem do seu circuito final??? e tambem se possivel dizer onde encontrou o tny porque eu ainda não o encontrei rsrsrsr. Imendando mais uma pergunta... quais os fornecedores que você entrou em contato??? Grato
  6. Então o aphawkacabou usando uma fonte flyback para audio mesmo ou não???
  7. Senhores deixa lhes pergunta, ate onde vi o PI expert só traz fonte flyback ou estou enganado? Eu tava testando e tenho q fazer uma fonte com o LNK625PG ( ta difícil de encontra-lo) e aparentemente o design da fonte é flyback. Enfim minha pergunta... como usar esses Cis em fonte q não sejam flyback se os design's fornecidos pelos fabricantes sõ fly???? Desde ja desculpe se minha pergunta soa ignorante é que fiquei com duvida. Ahh inicialmente minha fonte é para alimentar o circuito de controle de uma outra fonte maior.
  8. simples assim e se for difícil axar esse rele nos notifique q voltaremos a ajuda-lo
  9. como é feita a alimentação desta bomba? via fonte de 3v? porque se fosse de no minimo 5v poderiamos usar reles e ficaria um circuito bem simples ou ate mesmo transitores
  10. Bom não conheço programação e apenas um pouco de pastilha peltier, mas sei q a tensão maxima de trabalho de muitas das pastilhas é 15Vdc. Mas q male pergunte você ira utilizar as duas fasesda pastlha?ou você ira utilizar apenas a parte fria fazedo controle da temperatura ambiente e a minima(-15ºC) ??????/
  11. nesse site tem esse filtro passa baixa ai você faz um pre e depois amplificador de potencia http://www.construyasuvideorockola.com/proy_filtrobass.php é o que eu fiz funciona muito bem viu
  12. Eu também fiz esse esquema citado acima ( 3 fontes em serie). Qual a corrente maxima que seu AMP ira "puxar"? porque o fabricante diz que a fonte comum de 300W no 12V fornece ate 15A, mas num chega a isso claro
  13. Então caro colega estou tentando mas não estou conseguindo ate abri um topico para ver se alguem consegue me ajudar http://forum.clubedohardware.com.br/detector-proximidade-lm567/804001
  14. E então você ja conseguiria postar o circuito?
  15. Tudo bem dê-nos um retorno estou aguardando abraços
  16. Alguem poderia postar o circuito final deste projeto???

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!