Materiały, dyskusje dotyczące projektów AVT, których kuratorem jest ES2

***** Musisz się zalogowac aby oglądac całe forum *****

Nie jesteś zalogowany na forum.

#1 2017-09-24 11:27:50

r-mik
Administrator
Dołączył: 2017-09-23
Liczba postów: 35
Windows XPFirefox 52.0

Emulator DS18B20 na AtTiny85 z EP 4/2017

http://er-mik.prv.pl/_4um_avt/avt5571_1 … attiny.zip

Mam jedno zgłoszenie o problemach przy współpracy z jedną z bibliotek do Ardiuno. Co prawda autor programu popełnił kilka błędów ale nie miały one bezpośredniego wpływu na działanie programu. Biblioteka zaraz po komendzie konwersji odczytuje temperaturę. Można tak robic o ile nie jest ustawiony tryb zasilania pasożytniczego, wtedy konwersja będzie przerwana.  Log SaleAE. Nie analizowałem tematu zbyt dokładnie. Problem jest jednostkowy a było to kilka godzin przed moim wyjazdem na kilka dni. Widziałem tylko, że biblioteka  używa komendy MatchRom, czyli wcześniej musiało byc wywołane SearchRom.

Poniżej program:

//////////uruchomienia klawiatury na MCP////////////////////
#include <Wire.h>
///////////////////////////////////// timery
#include <Timers.h>
////////////uruchomienie czujnika temperatury//////////////
#define sensorPin  4 ///dallas na Pin 4
#include <OneWire.h>
#include <DallasTemperature.h>
OneWire oneWire(sensorPin);
DallasTemperature sensor(&oneWire);

/////uruchomienie zegara z eeprom//////////////////////////
#include <Time.h>
#include <DS1307RTC.h>
#include <EEPROM.h>
tmElements_t tm;
int currentDayOfWeek;
long unsigned currentTimeSec;

////////////uruchomienie LCD//////////////////////////////
#include <LiquidCrystal_I2C.h>
#define BACKLIGHT_PIN 3
LiquidCrystal_I2C lcd(0x3D, 2, 1, 0, 4, 5, 6, 7);

////////////definicja czujnika deszczu ///////////////////
#define RainSwitch 3
///////////////////bluetooth//////////////////////////////
#include <SoftwareSerial.h>
SoftwareSerial bluetooth(A2, A1);                          

//////////////////////////////////////////////////////////


void setup() {




Serial.begin(9600);
bluetooth.begin(9600);






//////////////// Zdefiniowanie LCD ////////////////////////
lcd.begin(16,2);
lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
lcd.setBacklight(HIGH);
///////////////////////////////////////////////////////////

}

void loop() {

   
//////////////////////////////////////////////////////



////////////////tu si? zaczyna g?ówny program 

        ////warunki zachowania w przyp zmiany temp
              if (getTemp()>0)
                 {  if(getTemp()<=9) 
                                      {
                                       lcd.setCursor (11,1);lcd.print("  ");lcd.print(getTemp(),0);lcd.print((char)223);lcd.print("C ");
                                      }
                      if(getTemp()>9)
                                      {
                                       lcd.setCursor (11,1);lcd.print(" ");lcd.print(getTemp(),0);lcd.print((char)223);lcd.print("C");
                                      }
  
                   
                 }
                 
              if (getTemp()<0)
                 {

                  lcd.setCursor (0,1); 
                  lcd.print("OFF");
                   if(getTemp()>-10) 
                                    {
                                     lcd.setCursor (11,1);lcd.print(" ");lcd.print(getTemp(),0);lcd.print((char)223);lcd.print("C");
                                    }
                   if(getTemp()<-10)
                                    {
                                      lcd.setCursor (11,1);lcd.print(getTemp(),0);lcd.print((char)223);lcd.print("C");
                                    } 

                 }
}

///////////Pomiar temperatury ///////
float getTemp() 
{
  sensor.requestTemperatures(); 
  float temp = sensor.getTempCByIndex(0);
  return temp;
} 

Proszę zwrócić uwagę, na bezsensowne ciągłe wywołania "getTemp()" i na brak oczekiwania na pomiar po "sensor.requestTemperatures()".


Jeśli sa inne problemy z emulatorem proszę pisać.

Offline

Użytkowników czytających ten temat: 0, gości: 1
[Bot] claudebot

Stopka

Forum oparte na FluxBB