Ovdje pročitajte kako se registrirati na forum.

Problem sa senzorom topline

Tehnička podrška za sve module i aktuatore iz ponude e-radionica.com
Odgovorite
advancedgwt#5365
Hobist
Hobist
Postovi: 73
Pridružen/a: pon lip 11, 2018 12:42 pm

Problem sa senzorom topline

Post Postao/la advancedgwt#5365 » pon vel 11, 2019 7:02 pm

Zdravo Davide,
Prikacio sam sve po planu za https://e-radionica.com/hr/vodootporni- ... ature.html ali dobijam -127. Vidim da je jos neko imao slican problem ali nisam uspeo naci u forumu. Ostavio je u messeage ispod uputstva.

Sugestija je dobro dosla.

Dragan
Avatar
dekip#6813
Početnik
Početnik
Postovi: 26
Pridružen/a: pon srp 30, 2018 10:04 pm

Re: Problem sa senzorom topline

Post Postao/la dekip#6813 » pon vel 11, 2019 10:13 pm

Koji skeč si koristio? Onaj iz prodavnice? Možeš li da ga okačiš ovde?

Probaj ovako:

Kod: Označite sve

#include <OneWire.h>
#include <DallasTemperature.h>
#define ONE_WIRE_BUS 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

void setup(void){
  Serial.begin(9600);
  sensors.begin();
}
void loop(void){ 
  sensors.requestTemperatures(); 
  Serial.print("Celsius temperature: ");
  Serial.print(sensors.getTempCByIndex(0)); 
  Serial.print(" - Fahrenheit temperature: ");
  Serial.println(sensors.getTempFByIndex(0));
  delay(1000);
}
Avatar
david.zovko#2091
e-radionica.com team
e-radionica.com team
Postovi: 154
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: Problem sa senzorom topline

Post Postao/la david.zovko#2091 » pon vel 11, 2019 11:51 pm

Pozdrav, koristiš ovaj sketch? https://e-radionica.com/hr/blog/2018/03 ... ermometar/

Jesi li stavio 4.7k otpornik?
advancedgwt#5365
Hobist
Hobist
Postovi: 73
Pridružen/a: pon lip 11, 2018 12:42 pm

Re: Problem sa senzorom topline

Post Postao/la advancedgwt#5365 » uto vel 12, 2019 8:32 pm

Da stavio otpornik 4.7K. Da, onaj iz prodavnice sam uploadovao, sve je radjeno premo KKM.
advancedgwt#5365
Hobist
Hobist
Postovi: 73
Pridružen/a: pon lip 11, 2018 12:42 pm

Re: Problem sa senzorom topline

Post Postao/la advancedgwt#5365 » uto vel 12, 2019 10:06 pm

Evo screenshoot sa onim kracim kodom


slika
domagoj#1355
Početnik
Početnik
Postovi: 43
Pridružen/a: ned tra 15, 2018 2:59 pm

Re: Problem sa senzorom topline

Post Postao/la domagoj#1355 » uto vel 12, 2019 10:28 pm

Pozdrav!
Moja iskustva s Dallas temperaturnim senzorom su nešto drugačija u pogledu programa. Kombinirajući raznorazne izvore naišao sam na postupak u kojem prije svega treba odrediti adresu senzora, pa tek onda mu pristupiti. Također sam naišao na podatak da temperaturu ne bi trebalo očitavati brže od 2 sec. jer neće reagirati, mada i ja koristim delay(1000). To ne znači da će rezultat biti -127, već će najvjerojatnije ponoviti zadnji rezultat. Kako god, u nastavku je jedan moj programčić pa ubaci njega, provjeri hoće li raditi, pa ako je ok, prilagodi ga svojim potrebama. U programu se vidi uvodni dio koje se odnosi na adresiranje senzora. U primjeru koristim LCD pa ako ga nemaš, samo izbaci taj dio, sve se vidi u Serial Monitoru.

Kod: Označite sve

#include <LiquidCrystal.h>
#include <OneWire.h>
#include <DallasTemperature.h>

// ********************* Dallas Temperature Sensor *********************
// Data wire is plugged into port 8 on the Arduino
#define ONE_WIRE_BUS 8 

// Setup a oneWire instance to communicate with any OneWire devices (not just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature. 
DallasTemperature sensors(&oneWire);

// arrays to hold device address
DeviceAddress insideThermometer;
// ********************* Dallas Temperature Sensor *********************

// ********************* Moje varijable *********************
boolean sensorError=LOW; //greška na senzoru temperature
float TT; //trenutno izmjerena temparatura
float TT_min=100; //minimalno izmjerena temperatura
float TT_max=-55; //maximalno izmjerena temperatura
int vrijeme_rada; //vrijeme u s kad je temp. >=40 deg
// ********************* Moje varijable *********************

// initialize the library with the numbers of the interface pins
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

void setup() 
{
// Inicijalizacija portova i komponenti
  Serial.begin(9600);
  lcd.begin(16, 2);

// ********************* Dallas Temperature Sensor *********************
  // locate devices on the bus
  Serial.print("Locating devices...");
  sensors.begin();
  Serial.print("Found ");
  Serial.print(sensors.getDeviceCount(), DEC);
  Serial.println(" devices.");

  // report parasite power requirements
  Serial.print("Parasite power is: "); 
  if (sensors.isParasitePowerMode()) Serial.println("ON");
  else Serial.println("OFF");

  //find sensor address
  if (!sensors.getAddress(insideThermometer, 0)) Serial.println("Unable to find address for Device 0"); 
  // show the addresses we found on the bus
  Serial.print("Device 0 Address: ");
  printAddress(insideThermometer);
  Serial.println();

  // set the resolution to 9 bit (Each Dallas/Maxim device is capable of several different resolutions)
  sensors.setResolution(insideThermometer, 9);

  Serial.print("Device 0 Resolution: ");
  Serial.print(sensors.getResolution(insideThermometer), DEC); 
  Serial.println();
// ********************* Dallas Temperature Sensor *********************

} //end setup()


void loop() 
{
  sensors.requestTemperatures(); // Send the command to get temperatures
  TT=sensors.getTempC(insideThermometer);
  if(TT<=TT_min) TT_min=TT;
  if(TT>=TT_max) TT_max=TT;
  if(TT>=40) vrijeme_rada+=1;
  if(TT<-55) sensorError=HIGH; else sensorError=LOW;

  if(!sensorError)
  {
  } //end if DeviceEnable
  
  LCD(); //osvježi LCD
  debug();
  delay(1000); //pauziraj 1000ms
} //end loop()

// ********************* Dallas Temperature Sensor *********************
// function to print a device address
void printAddress(DeviceAddress deviceAddress)
{
  for (uint8_t i = 0; i < 8; i++)
  {
    if (deviceAddress[i] < 16) Serial.print("0");
    Serial.print(deviceAddress[i], HEX);
  }
}

// function to print the temperature for a device
void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  Serial.print("Temp C: ");
  Serial.println(tempC);
}
// ********************* Dallas Temperature Sensor *********************

// ********************* MOJE FUNKCIJE *********************
void debug()
{
  if(sensorError) Serial.println("Greška na senzoru temperature!");
  else
  {
    Serial.print("TT="); Serial.print(TT); Serial.print(" t="); Serial.print(vrijeme_rada);Serial.println("s");
    Serial.print(TT_min); Serial.print("/"); Serial.print(TT_max); Serial.println(" C   ");
  }  
} //end debug()

void LCD()
{
  if(sensorError)
  {
    lcd.setCursor(0,0);
    lcd.print("Greska osjetnika");
    lcd.setCursor(0,1);
    lcd.print("temperature!    ");
  }
  else
  {
    lcd.setCursor(0,0);
    lcd.print("T="); lcd.print(TT); lcd.print(" C  "); lcd.print(vrijeme_rada); lcd.print("s   ");
    lcd.setCursor(0,1);
    lcd.print(TT_min); lcd.print("/"); lcd.print(TT_max); lcd.print(" C   ");
  } //end if(sensorError)
} //end LCD()
// ********************* MOJE FUNKCIJE *********************
Pozdrav, Domagoj
Avatar
dekip#6813
Početnik
Početnik
Postovi: 26
Pridružen/a: pon srp 30, 2018 10:04 pm

Re: Problem sa senzorom topline

Post Postao/la dekip#6813 » uto vel 12, 2019 10:37 pm

A da nisi izmešao povezivanje sa žicama? Taj senzor naprosto ne može da ne radi.
Trebalo bi crvena na 5V, crna na GND a žuta (ili bela, zavisi od modela) na GPIO. Otpornik ide između VCC i DATA pina.
Avatar
david.zovko#2091
e-radionica.com team
e-radionica.com team
Postovi: 154
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: Problem sa senzorom topline

Post Postao/la david.zovko#2091 » čet vel 14, 2019 6:52 pm

Može slika gdje se vidi kako je spojeno, a mi ćemo provjeriti KKM :)
advancedgwt#5365
Hobist
Hobist
Postovi: 73
Pridružen/a: pon lip 11, 2018 12:42 pm

Re: Problem sa senzorom topline

Post Postao/la advancedgwt#5365 » uto vel 19, 2019 10:07 pm

Davide, proradio je ali sam koristio code iz library. Ovaj u KKM definitivno ne radi.
Avatar
david.zovko#2091
e-radionica.com team
e-radionica.com team
Postovi: 154
Pridružen/a: ned tra 15, 2018 2:59 pm
Lokacija: Osijek, Croatia
Kontakt:

Re: Problem sa senzorom topline

Post Postao/la david.zovko#2091 » sri vel 27, 2019 12:10 pm

Hvala na feedbacku. Radimo na popravku!
Odgovorite