Documente Academic
Documente Profesional
Documente Cultură
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
aceptaselusodecookies.
MSINFORMACIN ENTENDIDO
INICIO CONTROL PICPIC CONTROL PCPIC PROCESOSPIC COMPONENTESPIC SENSORESPIC ACTUADORESPIC ROBOTSPIC SOFTWAREPIC
RobotyPicsonproyectosbsicosdeelectrnicaconmicrocontroladoresPIC,deaplicacinenelmundodela
robticadidctica,conarchivosfuentecreadosmedianteelcompiladorCCSPICCCOMPILERenlenguajeC.
SetratadeunalibreraC,SHTxx_RyP.c,paraelcontrol
delsensorSHT11conunPIC.Unejemplodesuaplicacin
se puede ver en el artculo: "Sensor de temperatura y
humedadSHT11conPIC".Esvlidaparatodalagamade
sensoresSHT10,SHT11,SHT15,SHT71ySHT75.
Cuando se emplee la versin v3 o v4 del sensor SHT71 o
SHT75, la librera alternativa es SHT7xv3_RyP.c que
contiene los coeficientes de clculo adecuados
correspondientesadichasversiones.
Ponera0lalneaDATAmientrasSCKesta1.
Ponera0SCKmientrasDATAcontinuaa0.
Suscrbete
Volveraponera1SCKsincambiarelestadodeDATA
FinalmentepasarDATAa1mientrasSCKesta1
Recibe actualizaciones gratis por RSS
Feed o si lo pre eres puedes recibirlas
en tu e-mail.
Suscribetevaemail:
Suscribete
/**secuenciadeiniciodetransmisin**/
voidSHTxx_InicioTrans(void){
//DATAa"0"conSCKa"1"
output_float(sht_data_pin)//lneaDATAa"1"
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(1)
output_high(sht_sck_pin)//lneaSCKa"1"
delay_us(1)
output_low(sht_data_pin)//lneaDATAa"0"
delay_us(1)
//SCKa"0"sincambiarDATA"0"
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(2)
//SCKa"1"sincambiarDATA"0"
output_high(sht_sck_pin)//lneaSCKa"1"
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 1/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
delay_us(1)
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
//DATAa"1"conSCKa"1"
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
output_float(sht_data_pin)//lneaDATAa"1"
aceptaselusodecookies.
delay_us(1)
output_low(sht_sck_pin)//lneaSCKa"0"
MSINFORMACIN ENTENDIDO
}
La SECUENCIA DE RESET resetea solo la interface, los registros de estado mantienen sus valores.
Consisteen:
ConlalneaDATApuestaa1,conmutar9omsveceslalneaSCKentre0y1.
DebeseguirleunasecuenciadeInicio.
/**secuenciadereset**/
voidSHTxx_Reset(void){
inti
//iniciodesecuenciaconSCKa0yDATAa1
output_float(sht_data_pin)//lneaDATAa1
output_low(sht_sck_pin)//lneaSCKa0
delay_us(2)
//conmutaSCK9vecesconDATAa1
for(i=0i<9i++){
output_high(sht_sck_pin)
delay_us(2)
output_low(sht_sck_pin)
delay_us(2)
}
Te ha gustado?
/**secuenciadeiniciodetransmisin**/
SHTxx_InicioTrans()
Si lo deseas puedes aadir un enlace
}
en cualquiera de tus blogs de blogger
con un simple "click".
Con la SECUENCIADEENVIODECOMANDO se le indica al sensor la actuacin que debe realizar. Son O bien agregarme a los favoritos de
comandosde5bitsperosedebeenviarunbytecompleto(8bits),3bitsdedireccinA0aA2y tu explorador de internet.
los5bitsdelcomandoC0aC4.Losbitsdedireccinsolopermitenvalor0.
Reservado 0000x
/**secuenciadeenvodecomando**/
int1SHTxx_Comando(int8sht_comando){
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 2/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
Hojas Tcnicas
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
aceptaselusodecookies. PICS
MSINFORMACIN ENTENDIDO
C.I.s
SENSORES
SEMICONDUCTORES
int8bit
PERIFRICOS
int8mascara=0x80
int1ack
delay_us(4)
//Salidadelcomandobitabit
for(bit=8bit>=1bit){ Anuncios Google
output_low(sht_sck_pin)//lneaSCKa"0"
//LneaDATAa"1"siMSBes"1" 1.Sensorcontrol
if((sht_comando&mascara)>0)output_float(sht_data_pin)
//LneaDATAa"0"siMSBes"0"
2.Sensordata
elseoutput_low(sht_data_pin)
delay_us(1)
output_high(sht_sck_pin)//lneaSCKa"1"
delay_us(1) Sugerencias
mascara=mascara>>1//siguientebitpasaaserMSB
}
Ayudanos a mejorar.
/**lecturadelack**/
Haz tu sugerencia o contesta
output_low(sht_sck_pin)//lneaSCKa"0"
nuestro formulario en este enlace:
delay_us(1)
ack=input(sht_data_pin)//lecturadelack
output_high(sht_sck_pin)//lneaSCKa"1"
delay_us(1)
output_low(sht_sck_pin)//lneaSCKa"0" Formulario de sugerencias
return(ack)
}
La SECUENCIADEESPERADEMEDICINTERMINADAespera, una vez enviado el comando de medida de
la temperatura o humedad, a que el sensor avise de la finalizacin del proceso de medida
pasandolalneaDATAde1a0.Puededurarunmximode20/80/320msg.paraunamedida
de8/12/14bits.
Seguidores
LneafinaindicasucontrolporelPIC,lneagruesacontrolporelsensor.
Seguidores(25)Siguiente
/**Secuenciadeesperademedidaterminada**/
voidSHTxx_Espera(void){
int16sht_delay
output_float(sht_data_pin)//lneaDATAa"1"
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(1)
//EsperaaquelineaDATApasea"0"mximo300msg.
for(sht_delay=0sht_delay<30000sht_delay++){
//silineaDATApasaa"0"=>findelamedicin
Seguir
if(!input(sht_data_pin))break
delay_us(10)
}
} Notas de Consulta
Con la SECUENCIA DE LECTURA DEL DATO DE UNA MEDIDA,y tras que el SHTxx haya indicado el fin de COMPILADORCCS
unamedicin,elmicrocontroladorreiniciaelbusSCKparaobtenereldatodelamedida.El dato
delamedidaesalmacenadoporloqueelprocesadorpuedehacerotrastareashastasulectura. LENGUAJEC
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 3/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
COMPONENTES
Lasecuenciaconsisteen:
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
Lecturadelbytealtodeldatodelamedida.Siesundatode8bitsestebyteseignora.
CONECTORES
aceptaselusodecookies.
ElmicrocontroladorponelalineaDATAa0comoreconocimientoack.
Lecturadelbytebajodeldatodelamedida. MSINFORMACIN ENTENDIDO
La FUNCINDEMEDIDADELAVARIABLEejecutatodaslassecuenciasnecesariasyenelordencorrecto
paraobtenerelvalordigitaldelahumedadotemperaturaledasporelsensor.Elprocesoser:
Compra tu Proyecto
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 4/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
Secuenciadeiniciodetransmisin
Solicita un proyecto o servicio
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
Secuenciadeenvodecomando
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
Secuenciadeesperahastamedicincompletada personalizado.
aceptaselusodecookies.
Secuenciadelecturadeldatodelamedicin
Hazclickaqu.
MSINFORMACIN ENTENDIDO
//**Funcindemedidadevariable**/
int16SHTxx_Medida(sht_comando){
int1ack
int16sht_dato
/**secuenciadeiniciodetransmission**/
SHTxx_InicioTrans()
//envodelcommandoylecturadelack
ack=SHTxx_Comando(sht_comando)
if(ack==1)return//sihayerrorsaledelamedida
//esperaaqueshttermineelclculodelamedida
SHTxx_Espera()
//finalizadalamedida,obtieneelvalordigital
sht_dato=SHTxx_Lectura()
return(sht_dato)
}
La FUNCIN DEL CLCULO DE LAS VARIABLES obtiene los valores reales analgicos partiendo de los
datosdigitalesledosporelsensor.Paraelclculoseempleanunoscoeficientesproporcionados
porelfabricanteyquedependendelaresolucin(ndebits)delasmedidasobtenidas.
SHTxx_calculo(int16sht_DatoTemperatura,float&sht_temperatura,int16
sht_DatoHumedad,float&sht_humedad){
floatsht_HumedadLineal
//Clculodetemperaturaenfuncindelamedidadigitaldelsensor DirectoriodeBlogs
sht_temperatura=((float)sht_DatoTemperatura*d2)+d1
//Clculovalorlinealhumedad
sht_HumedadLineal=(sht_DatoHumedad*c2)+(sht_DatoHumedad*
sht_DatoHumedad*c3)+c1
//Clculodelahumedadcompensadaportemperatura
sht_humedad=((sht_temperatura25.0)*(t1+(t2*sht_DatoHumedad)))+
sht_HumedadLineal
Descarga Demos
}
Secuenciadeiniciodetransmisin
Secuenciadeenvodecomando
Secuenciadelecturadelregistrodeestadoycheksum
SHTxx_LECTURA_REGISTRO_ESTADO(){
int16sht_dato//Bytealto=registroestado,bytebajo=ckecksum
int8sht_checksum//Guardarelvalordelchecksum
/**secuenciadeiniciodetransmission**/
SHTxx_InicioTrans()
/**Secuenciadeenvodecomando**/
SHTxx_Comando(SHTxx_REG_ESTADO_R)//Comandodelecturaregistrodeestado
/**Lecturadelregistrodeestadoychecksum**/
sht_dato=SHTxx_Lectura()
sht_registro=make8(sht_dato,1)//Bytealto=valorregistrodeestado
sht_checksum=make8(sht_dato,0)//Bytebajo=valordelchecksum
return(sht_registro)//Devuelvevalordelregistrodeestado
}
Secuenciadeiniciodetransmisin
Secuenciadeenvodecomando
Secuenciadeescrituradelvalordelregistrodeestado
SHTxx_ESCRITURA_REGISTRO_ESTADO(sht_registro){
/**secuenciadeiniciodetransmisin**/
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 5/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
SHTxx_InicioTrans()
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
/**Secuenciadeenvodecomando**/
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
SHTxx_Comando(SHTxx_REG_ESTADO_W)//Comandodeesrituraregistrodeestado
aceptaselusodecookies.
SHTxx_Comando(sht_registro)//Argumentoacargarenelregistrode
estado
MSINFORMACIN ENTENDIDO
}
Con la FUNCIN DE RESET DE SOFT se enva el comando que inicializa el valor del registro a sus
valorespordefecto(0x00).
voidSHTxx_Reset_Soft(void){
SHTxx_Reset()//Resetcomunicacin
SHTxx_Comando(SHTxx_SOFT_RESET)//Comandoreset=>Reg.Estado,valoresdefecto
delay_ms(15)//Espera15mseg.
}
[+/]Ver/OcultarlibreraCcompleta
////////////////////////////////////////////////////////////////////////////////
////
//LibreraCparaelcontroldesensoresdeTemperaturayHumedad://
////
//SHT10,SHT11,SHT15,SHT71,SHT75//
////
//Debecargarseestearchivodesdelacabeceradelprogramaprincipalcon://
//#include<SHTxx.RyP.c>//
////
//*Inicializacindelsensormediantelafuncin://
//SHTxx_init()//
////
//*Obtencindelamedidadehumedadytemperaturamediantelafuncin://
//SHTxx(sht_temperatura,sht_humedad)//
//Enlasvariablessht_temperaturaysht_humedadseobtienenlosvalores//
//realesdetemperaturayhumedadmedidos.//
////
//*Escrituradelvalordelregistrodeestadomediantelafuncin://
//SHTxx_ESCRITURA_REGISTRO_ESTADO(sht_registro)//
//sht_registrodebercontenerelvaloracargarenelregistro(defecto0)//
//bit0=0=>Resolucin14bitsTemperaturay12bitsHumedad// Patillaje SHT11
//bit0=1=>Resolucin12bitsTemperaturay8bitsHumedad//
//bit1=0=>Datodecalibracinnosecargaantesdecadamedida//
//bit1=1=>Datodecalibracinsecargaantesdecadamedida//
//bit2=0=>CalefactorinternoOFF//
//bit2=1=>CalefactorinternoON//
//bit6=0=>DeteccinbajatensinVcc>2.47V(bitdesololectura)// Patillaje PIC16F876A
//bit6=1=>DeteccinbajatensinVcc<2.47V(bitdesololectura)//
////
//*Obtencindelvalordelregistrodeestadomediantelafuncin://
//SHTxx_LECTURA_REGISTRO_ESTADO(sht_registro)//
//sht_registrodevolverelvalordelregistrodeestado//
////
//*Resetdelsoftdelsensormediantelafuncin://
//SHTxx_Reset_Soft()//
//(Registrodeestadoasusvalorespordefecto)//
////
//http://robotypic.blogspot.com///
////
////////////////////////////////////////////////////////////////////////////////
/****************Definicindepinesdelbusserie**************************/
#definesht_data_pinPIN_A4
#definesht_sck_pinPIN_A3
/**ComandosdelSHTxx**/
#defineSHTxx_REG_ESTADO_W0x06//Comandoescrituraenregistrodeestado
#defineSHTxx_REG_ESTADO_R0x07//Comandolecturaderegistrodeestado
#defineSHTxx_COMANDO_TEMP0x03//Comandomedidadetemperatura
#defineSHTxx_COMANDO_HUM0x05//Comandomedidadehumedad
#defineSHTxx_SOFT_RESET0x1E//Comandoresetdesoft
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 6/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
/*****Variablesglobalesparalecturadelvalordetemperaturayhumedad*****/
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
aceptaselusodecookies.
floatsht_temperatura//Guardarelvalorrealdetemperaturamedida
floatsht_humedad//Guardarelvalorrealdehumedadmedida
MSINFORMACIN ENTENDIDO
int8sht_registro//Guardarelvalordelregistrodeestado
/******************************************************************************/
/****************SECUENCIADEINICIODETRANSMISIN**************************/
//_____________
//DATA:|_______|
//______
//SCK:___||___||______
voidSHTxx_InicioTrans(void){
//DATAa"0"conSCKa"1"
output_float(sht_data_pin)//lneaDATAa"1"
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(1)
output_high(sht_sck_pin)//lneaSCKa"1"
delay_us(1)
output_low(sht_data_pin)//lneaDATAa"0"
delay_us(1)
//SCKa"0"sincambiarDATA"0"
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(2)
//SCKa"1"sincambiarDATA"0"
output_high(sht_sck_pin)//lneaSCKa"1"
delay_us(1)
//DATAa"1"conSCKa"1"
output_float(sht_data_pin)//lneaDATAa"1"
delay_us(1)
output_low(sht_sck_pin)//lneaSCKa"0"
}
/******************************************************************************/
/***********************SECUENCIADERESET***********************************/
//_____________________________________________________________
//DATA:|_______|
//_______________
//SCK:__||__||__||__||__||__||__||__||__||______||___||______
voidSHTxx_Reset(void){
inti
//iniciodesecuenciaconSCKa"0"yDATAa"1"
output_float(sht_data_pin)//lneaDATAa"1"
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(2)
//conmutaSCK9vecesconDATAa"1"
for(i=0i<9i++){
output_high(sht_sck_pin)
delay_us(2)
output_low(sht_sck_pin)
delay_us(2)
}
//secuenciadeiniciodetransmisin
SHTxx_InicioTrans()
}
/******************************************************************************/
/*******************SECUENCIADEENVIODECOMANDO****************************/
//___________________
//DATA:___|A2|_|A1|_|A0|_|C4|_|C3|_|C2|_|C1|_|C0|_|ack|_
//___________________
//SCK:___||_||_||_||_||_||_||_||_||_
int1SHTxx_Comando(int8sht_comando){
int8bit
int8mascara=0x80
int1ack
delay_us(4)
//Salidadelcomandobitabit
for(bit=8bit>=1bit){
output_low(sht_sck_pin)//lneaSCKa"0"
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 7/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
//LneaDATAa"1"siMSBes"1"
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
if((sht_comando&mascara)>0)output_float(sht_data_pin)
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
//LneaDATAa"0"siMSBes"0"
aceptaselusodecookies.
elseoutput_low(sht_data_pin)
delay_us(1)
MSINFORMACIN
output_high(sht_sck_pin)//lneaSCKa"1" ENTENDIDO
delay_us(1)
mascara=mascara>>1//siguientebitpasaaserMSB
}
/**lecturadelack**/
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(1)
ack=input(sht_data_pin)//lecturadelack
output_high(sht_sck_pin)//lneaSCKa"1"
delay_us(1)
output_low(sht_sck_pin)//lneaSCKa"0"
return(ack)
}
/******************************************************************************/
/****************SECUENCIADEESPERADEMEDIDATERMINADA*********************/
voidSHTxx_Espera(void){
int16sht_delay
output_float(sht_data_pin)//lneaDATAa"1"
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(1)
//EsperaaquelineaDATApasea"0"mximo300msg.
for(sht_delay=0sht_delay<30000sht_delay++){
//silineaDATApasaa"0"=>findelamedicin
if(!input(sht_data_pin))break
delay_us(10)
}
}
/******************************************************************************/
/***************SECUENCIADELECTURADELDATODELAMEDIDA*******************/
//___________________
//SCK:__||_||_||_||_||_||_||_||_|ack|_||_||_||_||_||_||_||_||__
//|||
//|idlebits|Msb12bitHumidityDataLsb|
//|____|_______________|
//DATA:_|F|_|E|_|D|_|C|_|B|_|A|_|9|_|8|_|ack|_|7|_|6|_|5|_|4|_|3|_|2|_|1|_|0|__
int16SHTxx_Lectura(void){
int8bit
int16sht_dato=0
constint16mascara0=0x0000
constint16mascara1=0x0001
//guardabytealtodeldatoledoenbytealtodesht_datobitabit
for(bit=8bit>=1bit){
sht_dato=sht_dato<<1//siguientebitpasaaserMSB
output_high(sht_sck_pin)//lneaSCKa"1"
delay_us(1)
//silneaDATAes"1"ponebitcorrespondienteensht_datoa"1"
if(input(sht_data_pin))sht_dato|=mascara1
//silneaDATAes"0"ponebitcorrespondienteensht_datoa"0"
elsesht_dato|=mascara0
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(1)
}
//EnvoackponiendolineaDATAa"0"
output_low(sht_data_pin)//lneaDATAa"0"
delay_us(1)
output_high(sht_sck_pin)//lneaSCKa"1"
delay_us(2)
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(1)
output_float(sht_data_pin)//lneaDATAa"1"
//guardabytebajodeldatoledoenbytebajodesht_datobitabit
for(bit=8bit>=1bit){
sht_dato=sht_dato<<1//siguientebitpasaaserMSB
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 8/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
output_high(sht_sck_pin)//lneaSCKa"1"
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
delay_us(1)
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
//silneaDATAes"1"ponebitcorrespondienteensht_datoa"1"
aceptaselusodecookies.
if(input(sht_data_pin))sht_dato|=mascara1
//silneaDATAes"0"ponebitcorrespondienteensht_datoa"0"
elsesht_dato|=mascara0 MSINFORMACIN ENTENDIDO
output_low(sht_sck_pin)//lneaSCKa"0"
delay_us(1)
}
//EnvoackponiendolineaDATAa"1"=>nolecturaCRCchecksum
output_float(sht_data_pin)//lneaDATAa"1"
delay_us(1)
output_high(sht_sck_pin)//lneaSCKa"1"
delay_us(2)
output_low(sht_sck_pin)//lneaSCKa"0"
return(sht_dato)
}
/******************************************************************************/
/*******************FUNCINDEMEDIDADEVARIABLE****************************/
int16SHTxx_Medida(sht_comando){
int1ack
int16sht_dato
/**secuenciadeiniciodetransmisin**/
SHTxx_InicioTrans()
//envodelcommandoylecturadelack
ack=SHTxx_Comando(sht_comando)
if(ack==1)return//sihayerrorsaledelamedida
//esperaaqueshttermineelclculodelamedida
SHTxx_Espera()
//finalizadalamedida,obtieneelvalordigital
sht_dato=SHTxx_Lectura()
return(sht_dato)
}
/******************************************************************************/
/*****************FUNCINDERESETDELAINTERFACE***************************/
voidSHTxx_Reset_Soft(void){
SHTxx_Reset()//Resetcomunicacin
SHTxx_Comando(SHTxx_SOFT_RESET)//Comandoreset=>Reg.Estado,valoresdefecto
delay_ms(15)//Espera15mseg.
}
/******************************************************************************/
/*********FUNCINPARACLCULODETEMPERATURAYHUMEDADREALES***************/
SHTxx_calculo(int16sht_DatoTemperatura,float&sht_temperatura,int16
sht_DatoHumedad,float&sht_humedad){
floatsht_HumedadLineal
/**CoeficientesparaclculodelaTemperaturapara14bitsyVcc=5V**/
floatd1=40.1
floatd2=0.01
/**CoeficientesdeconversinparaclculodelaHumedadpara12bits**/
floatc1=2.0468
floatc2=0.0367
floatc3=0.0000015955
/**CoeficientesparacompensacindeTemperaturadelaHumedadpara12bits**/
floatt1=0.01
floatt2=0.00008
//EnelcasodeemplearresolucinTemperatura12bitsyhumedad8bits...
if(sht_registro&0b00000001){
/**CoeficientesparaclculodelaTemperaturapara12bitsyVcc=5V**/
d1=40.1
d2=0.04
/**CoeficientesdeconversinparaclculodelaHumedadpara8bits**/
c1=2.0468
c2=0.5872
c3=0.00040845
/**CoeficientesparacompensacindeTemperaturadelaHumedadpara8
bits**/
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 9/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
t1=0.01
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
t2=0.00128
} trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
aceptaselusodecookies.
//Clculodetemperaturaenfuncindelamedidadigitaldelsensor
sht_temperatura=((float)sht_DatoTemperatura*d2)+d1
//Clculovalorlinealhumedad MSINFORMACIN ENTENDIDO
sht_HumedadLineal=(sht_DatoHumedad*c2)+(sht_DatoHumedad*sht_DatoHumedad
*c3)+c1
//Clculodelahumedadcompensadaportemperatura
sht_humedad=((sht_temperatura25.0)*(t1+(t2*sht_DatoHumedad)))+
sht_HumedadLineal
//Evitamostrarvaloresfueraderango
if(sht_humedad>=100)sht_humedad=100
if(sht_humedad<0.1)sht_humedad=0.1
}
/******************************************************************************/
/**********FUNCINPARAMEDIDAYCLCULODETEMPERATURAYHUMEDAD************/
voidSHTxx(float&sht_temperatura,float&sht_humedad){
int16sht_DatoTemperatura//DatodeTemperaturaobtenidoporelSHTxx
int16sht_DatoHumedad//DatodeHumedadobtenidoporelSHTxx
sht_DatoTemperatura=SHTxx_Medida(SHTxx_COMANDO_TEMP)//Medidadela
temperatura
sht_DatoHumedad=SHTxx_Medida(SHTxx_COMANDO_HUM)//Medidadela
humedad
SHTxx_calculo(sht_DatoTemperatura,sht_temperatura,sht_DatoHumedad,
sht_humedad)//calculatetemp&RH
}
/******************************************************************************/
/****************FUNCINPARALECTURADELREGISTRODEESTADO*****************/
SHTxx_LECTURA_REGISTRO_ESTADO(){
int16sht_dato//Bytealto=registroestado,bytebajo=ckecksum
int8sht_checksum//Guardarelvalordelchecksum
/**secuenciadeiniciodetransmission**/
SHTxx_InicioTrans()
/**Secuenciadeenvodecomando**/
SHTxx_Comando(SHTxx_REG_ESTADO_R)//Comandodelecturaregistrodeestado
/**Lecturadelregistrodeestadoychecksum**/
sht_dato=SHTxx_Lectura()
sht_registro=make8(sht_dato,1)//Bytealto=valorregistrodeestado
sht_checksum=make8(sht_dato,0)//Bytebajo=valordelchecksum
return(sht_registro)//Devuelvevalordelregistrodeestado
}
/******************************************************************************/
/***************FUNCINPARAESCRITURADELREGISTRODEESTADO****************/
SHTxx_ESCRITURA_REGISTRO_ESTADO(sht_registro){
/**secuenciadeiniciodetransmisin**/
SHTxx_InicioTrans()
/**Secuenciadeenvodecomando**/
SHTxx_Comando(SHTxx_REG_ESTADO_W)//Comandodeesrituraregistrodeestado
SHTxx_Comando(sht_registro)//Argumentoacargarenelregistrode
estado
}
/******************************************************************************/
/********************FUNCINDEINICIALIZACINDELSHTxx*********************/
voidSHTxx_init(void){
SHTxx_Reset()//resetSHT
delay_ms(20)
}
/******************************************************************************/
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 10/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
Artculorelacionado>>SensorSHT11conPIC
aceptaselusodecookies.
MSINFORMACIN ENTENDIDO
Descargararchivos"SHT11conPIC+Libreras"
Quizstambinleinterese:
Linkwithin
No hay comentarios:
Publicaruncomentario
AgenciadeViajeaLaos
Tenerelmejorpreciodeventaslocales.Recibirelprecio
en24h.gialinhtravel.com
CONTACTA - (Haz referencia del artculo sobre el que trata la consulta o comentario)
Nombre:*
Email:*
Asunto:*
Mensaje:*
VerificationNo.:*
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 11/12
2017516 RobotyPic:LibreraCparasensorSHT11conPIC
EstesitioempleacookiesdeGoogleparaprestarsusservicios,parapersonalizaranunciosyparaanalizarel
trfico.Googlerecibeinformacinsobretuusodeestesitioweb.Siutilizasestesitioweb,sesobreentiendeque
aceptaselusodecookies.
Enviar
MSINFORMACIN ENTENDIDO
Webformgeneratedby123ContactForm
RobotyPic (c)
http://robotypic.blogspot.com.es/2013/09/LibreriaCparaSHT11.html 12/12