Advertisement
Guest User

RTC Problem

a guest
Jun 5th, 2015
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.28 KB | None | 0 0
  1. #include <Wire.h>
  2. #include <RTClib.h>
  3. #include <dht.h>
  4. #include <OneWire.h>
  5. #include <DallasTemperature.h>
  6.  
  7. //Programa : Sensor de umidade e temperatura DHT11/Cartão SD/Dois sensores de temperatura DS18B20
  8. //Autor : Gustavo Okano Alves Pinto
  9.  
  10. #define ONE_WIRE_BUS 10
  11. #define dht_dpin A1 //Pino DATA do Sensor ligado na porta Analogica A1
  12.  
  13.  
  14. RTC_DS1307 RTC;
  15. dht DHT; //Inicializa o sensor
  16.  
  17.  
  18. OneWire oneWire(ONE_WIRE_BUS);
  19. DallasTemperature sensors(&oneWire);
  20. DeviceAddress vermelho_1_Thermometer = { 0x28, 0xFF, 0xB8, 0x67, 0x56, 0x14, 0x03, 0xB0 };
  21. DeviceAddress azul_1_Thermometer = { 0x28, 0xFF, 0x5B, 0x45, 0x64, 0x14, 0x04, 0x41 };
  22.  
  23. float tempC;                          // modifiquei aqui
  24. float tempA;                          // modifiquei aqui
  25. float tempV;                          // modifiquei aqui
  26.  
  27. void setup(void)
  28. {
  29.   Serial.begin(9600);
  30.   Wire.begin();//Inicializacao do protocolo wire
  31.   RTC.begin();//Inicializacao do modulo RTC
  32.   delay (1000);
  33.   //Verifica se o modulo esta funcionando ou nao
  34.   if (!RTC.isrunning()) {
  35.     Serial.println("RTC is NOT running!");
  36.     //Ajusta a data/hora do Clock com a data/hora em que o codigo foi compilado, basta descomentar a linha
  37.   RTC.adjust(DateTime(2015,6,5,17,27,10));
  38.   }
  39.   sensors.begin();
  40.   sensors.setResolution(vermelho_1_Thermometer, 10);
  41.   sensors.setResolution(azul_1_Thermometer, 10);
  42. }
  43.  
  44. void printTemperature(DeviceAddress deviceAddress)
  45. {
  46. //  float tempC = sensors.getTempC(deviceAddress);       // modifiquei aqui
  47.    tempC = sensors.getTempC(deviceAddress);              // modifiquei aqui
  48.   if (tempC == -127.00)
  49.   {
  50.     Serial.print("Erro ao ler temperatura !");
  51.   }
  52.   else
  53.   {
  54.     Serial.print("C: ");
  55.     Serial.print(tempC);
  56.     Serial.print(" F: ");
  57.     Serial.print(DallasTemperature::toFahrenheit(tempC));
  58.   }
  59. }
  60.  
  61. void loop(void)
  62. {
  63.  {
  64.    DateTime now = RTC.now();//Recuperando a data e hora atual
  65.    Serial.print(now.day(), DEC);//Imprimindo o dia
  66.    Serial.print('/');
  67.    Serial.print(now.month(), DEC);//Recuperando o mes
  68.    Serial.print('/');
  69.    Serial.print(now.year(), DEC);//Recuperando o ano
  70.    Serial.print(' ');
  71.    Serial.print(now.hour(), DEC);//Recuperando a hora
  72.    Serial.print(':');
  73.    Serial.print(now.minute(), DEC);//Reci[erando os minutos
  74.    Serial.print(':');
  75.    Serial.print(now.second(), DEC);//Recuperando os segundos
  76.    Serial.println();
  77.  
  78.  
  79.  
  80.   DHT.read11(dht_dpin); //Lê as informações do sensor
  81.   Serial.print("SENSOR DHT11:\n\r");
  82.   Serial.print("Umidade = ");
  83.   Serial.print(DHT.humidity);
  84.   Serial.print(" %  ");
  85.   Serial.print("Temperatura = ");
  86.   Serial.print(DHT.temperature);
  87.   Serial.println(" Celsius  ");
  88.  
  89.   {  
  90.   delay(3000);
  91.   Serial.print("SENSOR DS18B20:\n\r");
  92.   sensors.requestTemperatures();
  93.   Serial.print("Temperatura Sensor 1: ");
  94.   printTemperature(vermelho_1_Thermometer);
  95.   tempV = tempC;                                  // modifiquei aqui
  96.   Serial.print("\n\r");
  97.   Serial.print("Temperatura Sensor 2: ");
  98.   printTemperature(azul_1_Thermometer);
  99.   tempA = tempC;                                  // modifiquei aqui
  100.   Serial.print("\n\r");
  101.  
  102.   delay(1000);//Aguarda 1 seg antes de acessar as informações do sensor
  103. }
  104.  
  105.  
  106.   //Não diminuir o valor abaixo. O ideal é a leitura a cada 2 segundos
  107.   delay(4000);
  108.  }
  109. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement