termometro digital

Buenas me gustaria saber si hay ya alguna libreria para leer datos de temperatura del sensor ds18b20 1 wire(termometro digital dallas programable)

os pongo el datasheet y la pagina de la wiki en la que hablan de ello pero en ingles lo cual no me entero de gran cosa,por si alguien puede decirme como podria usarlo en el arduino ya que no kiero quemar el sensor por una mala conexion, se que es gnd 1 pin vcc otro pin y el del medio es la salida de los datos pero nose si arduino entiende esa informacion hay libreria hecha o como podria usar los datos.

Arduino Playground - OneWire (wiki en ingles)
http://datasheets.maxim-ic.com/en/ds/DS18B20.pdf (datasheet)

ah y tampoko entiendo a que se refiere con programable aver si alguien puede darme algo de info en español que entienda.

gracias

En la siguiente página encontraras codigos y ejemplos:

y aqui el mismo sensor en parasitic mode

S2

Muchas gracias jolin pedazo de info em has dao!!! todo en spanish!!! xd claro y sencillo muchas gracias desde hoy tienes un seguidor mas mirando tu blog.

un saludo

animo, mis alumnos ya tienen 3 conectados por one wire.

hay algo que no entiendo la resistencia conectada a +5 que utilidad tiene(para el sensor digo) ya se que hay que ponerla para que funcione pero me gustaria saber su funcion ya que en el datasheet no viene el xq lleva esa resistencia.

y me gustaria saber si se puede conectar un sensor de humedad resistivo tipo HWCZ-H8 (de solo 2 cables) ya que me pasa la misma duda con el de temperatura los que veo que usa la gente es siempre one wire si pero de 3 cables... y yo me pregunto si esque arduino no permite la conexion de sensores de 2 patas o cables resistivos se llaman creo, aver si me podeis aclarar esto ya que no encuentro la respuesta en ningun post ni veo que nadie pregunte si se puede(tengo unos cuantos sensores de temperatura y humedad de este tipo y me gustaria aprovechar si es posible xD) que hay que recilar xD.

un saludo y gracias

La resistencia de la que hablas supongo que es un Pull-up. Se coloca principalmente para limitar la corriente de entrada del micro. Por lo que lei Arduino trae un Pull-up interno que se activa por instrucción:

pinMode(13, OUTPUT);

Pero supongo que la pondrán fuera por si acaso a alguien se le olvida poner la instrucción. Cuando el sensor tiene 3 cables uno suele ser alimentación, otro masa y el tercero es el control (conectar al micro). Cuando tiene 2 el control y la alimentación suelen ser los mismos pero mejor mirar el datasheet. Salu2

Nosotros los hemos conectado los 3 en modo parásito. Lo primero que hemos hecho es identificar cada sensor. Cada uno de ellos es único, googleando encontraras el codigo. Después leemos cada uno independientemente. Si no encuentras el codigo, avisame que te lo puedo encontrar.

ionhs como has dicho si es una pull up pero ahora que he entendido que es xd no se por que la necesita es decir por que hay que limitar la corriente en una patilla si arduino trabaja a 5v no? es decir si fuese 12v vale pero 5v no entiendo por que hay que bajar aun mas la tension aver si puedes decirme si esta en la wiki o algo para no marearte mas y leerlo y comprenderlo yo poko a poko(muchas gracias de antemano). respecto a lo de que trae una interna entonces que se supone que si no activo esa linea que dices OUTPUT se quemaria el atmega??? jolin me he quedado un poko flipado con lo fragil que es el arduino a la minima te lo cargas (el arduino no pero los atmega ya tengo un 168 quemao (o eso creo por que no consigo ponerle el bootloader)

nayma muchas gracias al final tengo que esperar ya que nose donde se me han ido las resistencias de 4,7k y me pilla un poko lejos la tienda de electronica la verdad que me fastidia ir y cojer el coche pa gastar 20 cent.... xd por eso la duda de xq era imprescindible esa resistencia... mirare aver si logro entender lo del pullup interno para ver si puedo empezar sin ella usando esa linea pero kiero asegurarme ya que el 328 es el unico atmega que me keda vivo... (gracias por tu ayuda asi da gusto)

Un placer, también si quieres jugar puedes aprovechar el viaje y comprar una resistencia variable con la temperatura. Encontrarás esquemas facilmente. :wink:

El tema del pull-up esta comentado en el manual de ayuda de arduino En mi opinión falta algun dibujo para entenderlo bien.

Resumiendo, si tengo 5v --------- 4k7 ------------- Arduino y desde el mismo pin de Arduino conectamos un sensor de entrada (un interruptor tanbien vale, conectando el otro extremo a masa).

Al principio se hace un poco raro pero la resistencia esa controla la corriente que le entra al pin de Arduino. Una cosa son 5v y otra la corriente que le entra, el problema no es tanto la tensión sino la corriente. La vida de tu placa te lo agradecerá si entiendes el concepto de pull-up ya que es un fallo típico por el que petan los micros.

Lo del pull-up interno es para ahorrarte tener que conectarlo externamente, no creo que tenga más historia. Aun y todo puedes poner el interno y el externo. Tengo el documento de arriba con fotos creadas por mi pero el gobierno vasco desde que nos ha puesto un filtro que da asco no hay manera de navegar adecuadamente, por lo que no puedo subirlo a ningún servidor.Salu2

Si queréis aumentar los cables que van a los sensores 1-wire hay que hacer un push pull activo el tiempo que esta el sensor en modo conversion. Lo mas largo que he probado son 100 metros sin tener ningún problema, eso si, con un cable bueno.

Saludos.

pues por si acaso pondre la resistencia de fuera... pero realm,enmte tengo que buscar otra tienda de electronica esta creo que me estan estafando aver si a vosotros os suena normal 6 euros por: 6 resistencias de 4,7k 4 diodos 1n4148 una termoresistencia ntc de 1k y el ldr por que desde luego 3 eur el puto ldr ya tiene cojones la cosa yo creo que ese precio no puede ser normal...

flico aumentar te refieres a conectarlo mas lejos del arduino no? no he entendido muy bien lo que has puesto.

un saludo

entra en Tienda Micro:bit Arduino y Robotica Electan, Maqueen Makey Makey y Mucho Mas
y comprueba el precio de los articulos y haz tu la cuenta. esta claro que tendrias que sumar los gastos de envio, pero al menos te haces una idea de si te estan cobrando mucho por cada componente.

comprobado el ldr vale en electan 26 centimos y a mi me han cobrado 2,88 creo que ya con eso no hay mucho mas que mirar xd ire buscando otra tienda antes de volver a comprar nada...

ya tengo la dichosa resistencia asiq voi a ponerme con ello para ver que al menos funciona todo y que ideas se me ocurren para ir incorporando funciones.

un saludo

vale veo un problema he subido el codigo al programa arduino y me parece que le falta la libreria one wire xq me dice esto:

sketch_may25b.cpp:1:47: error: onewire.h: No such file or directory
sketch_may25b.cpp:3:61: error: dallastemperature.h: No such file or directory
sketch_may25b.cpp:5:54: error: liquidcrystal.h: No such file or directory
sketch_may25b:14: error: 'OneWire' does not name a type
sketch_may25b:19: error: 'DallasTemperature' does not name a type
sketch_may25b:24: error: 'LiquidCrystal' does not name a type
sketch_may25b.cpp: In function 'void setup()':
sketch_may25b:36: error: 'lcd' was not declared in this scope
sketch_may25b:58: error: 'sensors' was not declared in this scope
sketch_may25b.cpp: In function 'void loop()':
sketch_may25b:76: error: 'sensors' was not declared in this scope
sketch_may25b:96: error: 'lcd' was not declared in this scope
sketch_may25b.cpp: At global scope:
sketch_may25b:124: error: expected unqualified-id before '<' token

despues de deducir que si la liquidcrystal viene con el arduino y tb me indicaba que faltaba deduje que era un error en el nombre lo comprobe y cierto esta todo en minusculas y por eso no lo reconocia.

luego descarge las 2 librerias y me paso lo mismo lo corrijey funciono.
pero salio un ultimo error en la ultima linea esta: </LiquidCrystal.h></DallasTemperature.h></OneWire.h>

este error me da: sketch_may25a:124: error: expected unqualified-id before '<' token

aki si que no entiendo nada asiq directamente borre la linea y entonces pudo compilarse el codigo sin problemas pero el probla este en que no funciona...
siempre me da la misma temperatura: -127 y lo caliente o enfrie no varia estoi algo perdido ya que es sencillisimo y me he atascado 3 veces.

yOPERO aver si puedes decirme que esta mal en tu codigo ya que creo que el problema esq hay algun error.

gracias

al final he reiniciado la placa vuelto a conectar el sensor y indica bien la temperatura osea que la ultima linea supongo que sobrara ya que al menos de momento parece funcionar correctamente.

aver si alguien me confirma que esa linea sobra o que le falta o lo que sea ya que no se cual era su funcion.

gracias

aver si alguien me puede decir como podria poner en el codigo para que se encienda un led si es inferior por ejemplo a 22 como frio eso lo se pero y entre 22 y 25 encender uno que indique temperatura normal como se escribe? es decir que se encienda el led entre si es mayor que 23 y menos que 25. he hecho un if para el led frio eso es muy facil pero no recuerdo como se podia poner entre esto y esto...

gracias

if valor > X1 && valor < X2
:wink:

el símbolo raro es el and, que no se porque me sale tan raro

gracias nayma he solucionado lo de los 3 leds el cocdigo funciona perfectamente esq sabia que era algo asi pero se me ha olvidado ya el curso de programacion que hice... (la memoria de pez que tengo tb ayuda...)