This forum uses cookies
This forum makes use of cookies to store your login information if you are registered, and your last visit if you are not. Cookies are small text documents stored on your computer; the cookies set by this forum can only be used on this website and pose no security risk. Cookies on this forum also track the specific topics you have read and when you last read them. Please confirm whether you accept or reject these cookies being set.

A cookie will be stored in your browser regardless of choice to prevent you being asked this question again. You will be able to change your cookie settings at any time using the link in the footer.

  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
ARDUINO TERMOMETRO DHT11 TM1637
#1
Hola quiero montar con Arduino Uno un indicador de Temperatura con estos componentes sensor DHT11 Y display TM1637 , quiero que me muestre la temperatura con el decimal , quiero decir 30.5C , yo tengo este código que funciona bien pero solo muestra 30C mi pregunta es como se puede modificarlo para que marque 30.5C me pueden ayudar gracias .
El código es este .

#include "dht.h"
#include "TM1637.h"
//{0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
//0~9,A,b,C,d,E,F
#define dht_pin 2 // Pin sensor
#define CLK 3//Pins for TM1637       
#define DIO 4
TM1637 tm1637(CLK,DIO);
dht DHT;
void setup(){
  tm1637.init();
  tm1637.set(BRIGHT_TYPICAL);
  //BRIGHT_TYPICAL = 2,BRIGHT_DARKEST = 0,BRIGHTEST = 7   0-7;
  delay(1500);//Delay
}
void loop(){
  DHT.read11(dht_pin);
 int temp = DHT.temperature;
 int humidity = DHT.humidity;
 int digitoneT = temp / 10;
 int digittwoT = temp % 10;
 
    tm1637.display(1,digitoneT);
    tm1637.display(2,digittwoT);
    tm1637.display(3,12);  //  C
    delay (500);
   
   
}
  Responder
#2
Tienes que usar variables tipo float para los datos que quieres con decimales.
-> Mi CNC de escritorio CNCDesktop 500 -> https://www.spainlabs.com/foros/tema-Fresadora-Desktop-CNC-500
-> Laboratorio de Fabricación Digital Maker www.lowpower.io 
--> Twitter: https://twitter.com/Grafisoft_ES  | IG: https://www.instagram.com/lowpowerio/
  Responder
#3
Uff no tengo muchos conocimientos programaciòn con Arduino si no me ayudas a programarlo estoy perdido un saludo
  Responder
#4
Al parecer es complejo, tienes este hilo donde explica como poner números con decimales: https://forum.arduino.cc/index.php?topic=428402.0

por lo visto se necesita usar una función especial, que es la que activa el punto decimal:
Código:
// Run through all the dots
    for(k=0; k <= 4; k++) {
        display.showNumberDecEx(0, (0x80 >> k), true);
        delay(TEST_DELAY);
    }

el "0x80 >> k" es el que controla si debe poner el punto o no.

Lo siento, no puedo ayudar más porque no tengo ni idea.
Ulticampy V2: fundiendo plástico sin descanso...
  Responder


Posibles temas similares…
Tema Autor Respuestas Vistas Último mensaje
  Nodemcu y fallos lectura con DHT11 jgarridc 6 6,121 17-12-2020, 11:15 PM
Último mensaje: asesorplaza1
  CONSULTA ERROR DHT11 Nem0_10 2 1,266 18-11-2020, 09:55 PM
Último mensaje: asesorplaza1
  INDICADOR TEMPERATURA DS18B20 TM1637 pascual 0 1,511 27-07-2019, 09:13 AM
Último mensaje: pascual
  Termómetro e Higrómetro con Arduino, DHT11 y LCD 16×2 malopezn 2 2,689 23-11-2015, 10:13 PM
Último mensaje: vcode
  ¿Arduino MEGA o Arduino ADK? igargi 7 3,274 25-08-2013, 04:58 PM
Último mensaje: cansi22