Проблема в коде - выводится "удвоенное" значение температуры с oregon датчика
- Войдите на сайт для отправки комментариев
Втр, 10/11/2015 - 14:16
Код большой - ссылку привожу https://cloud.mail.ru/public/DC4q/g3Mg223LH
Собственно проблема вот в этих 2-х строчках:
#include "Wire.h"
#define DS1307_I2C_ADDRESS 0x68
#include <LiquidCrystal.h>
LiquidCrystal lcd(4, 5, 10, 11, 12, 13);
const byte* data; // первая строка
.....
void reportSerial (const char* s, class DecodeOOK& decoder) {
byte pos;
data = decoder.getData(pos); // вторая строка
.....
Раз http://pastebin.com/
Два http://vpaste.net/
Три https://gist.github.com/
Четыре http://arduino.ru/forum/obshchii/vstavka-programmnogo-koda-v-temukomment...
1. Так в чём проблема-то? Что выводится, где выводится?
2. Если Вы и так знаете, что беда (неясно какая) в двух строках, то чего нас дёргаете?
3. Пост не содержит вопроса. Чего Вы от нас хотите? Чего ждёте?
Вот весь код как и просили выше. Собственно на дисплее 16x2 выводится правильно время, секунды тикают. Но температура выводиться не правильно. Исходник брал ( в ссылках в коде есть на github). Перенес переменную в глобальные (разговор про 2 строчки), т.к. если выводить непосредственно вот в этом куске кода - температура не отображается, а только время. Надеюсь понятно описал.
// Outside/Water Temp : THN132N,... if (data[0] == 0xEA && data[1] == 0x4C) { #ifndef DISABLE_DEBUG Serial.print("[THN132N,...] Id:"); Serial.print(data[3], HEX); Serial.print(" ,Channel:"); Serial.print(channel(data)); Serial.print(" ,temp:"); Serial.print(temperature(data)); Serial.print(" ,bat:"); Serial.print(battery(data)); Serial.println(); #endif lcd.setCursor(0, 0); lcd.print("t:"); lcd.setCursor(2, 0); lcd.print(temperature(data)); }last сделай уже тоже глобальной и запиши в нее что-нибудь перед использованием.
Сам датчик как данные передаёт? Меня смущает прерывание по CHANGE.
Если оставить исходник с github - тозначения более менее ровные (с комнатным отличия в 2 градуса). Если вы об этом
Проще так: как мне вывести значение температуры и времени одновременно используя мои коды? По отдельности все работает. вывод с задержкой не вариант,т.к. сразу фризится время
Время действительно надо?
Задержку в секунду сделайте.