Arduino schéma - arduino.sk

DS18B20 a prom?nné

Programovanie arduina
Obrázok užívateľa
Príspevky: 64
Registrovaný: Str 30. Okt 2013 18:21:18
Bydlisko: ČR

DS18B20 a prom?nné

Poslaťod Diego » Str 30. Okt 2013 19:30:11

Ahoj, potreboval bych poradit.
Chtel bych napsat program ktery by nacetl teploty ze dvou cidel DS18B20 a ulozil je do promennych abych s nimi mohl dale pracovat. V prikladech co sem nasel na netu je vzdycky akorat vypis teplot a to je vse.

Snad se v tom vyznate ;)

Diky

Obrázok užívateľa
Príspevky: 311
Registrovaný: Pon 19. Nov 2012 12:01:08
Bydlisko: HC/BA

Re: DS18B20 a prom?nné

Poslaťod tomXX » Str 06. Nov 2013 11:36:21

Diego píše:Ahoj, potreboval bych poradit.
Chtel bych napsat program ktery by nacetl teploty ze dvou cidel DS18B20 a ulozil je do promennych abych s nimi mohl dale pracovat. V prikladech co sem nasel na netu je vzdycky akorat vypis teplot a to je vse.

Snad se v tom vyznate ;)

Diky


Ahoj, kde je problém?

Kód: Vybrať všetko
#include <DallasTemperature.h>
OneWire oneWire(4);
DallasTemperature sensors(&oneWire);
float tx;
DeviceAddress dx = {0x28, 0xF3, 0x7E, 0x88, 0x04, 0x00, 0x00, 0xA1};
tx = sensors.getTempC(dx);


V tx bude teplota, typ premennej je float. S tou si robíš čo chceš...
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Obrázok užívateľa
Príspevky: 64
Registrovaný: Str 30. Okt 2013 18:21:18
Bydlisko: ČR

Re: DS18B20 a prom?nné

Poslaťod Diego » Str 13. Nov 2013 19:42:01

Diky, presne takle polopaticky sem to potreboval ;)

Obrázok užívateľa
Príspevky: 64
Registrovaný: Str 30. Okt 2013 18:21:18
Bydlisko: ČR

Re: DS18B20 a prom?nné

Poslaťod Diego » Sob 07. Dec 2013 9:08:11

Ještě se mi objevil další problém. Potřebuju načítat teplotu ze dvou čidel a zobrazit na lcd, ale když připojim jedno čidlo tak se teplota zobrazí a u druhého (nezapojeného) ne, ale když zapojim obě tak mi ukazujou obě teplotu 0.

Obě čidla jsou na jedné sběrnici.

Čím by to mohlo být?
Díky za radu

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

// Data wire is plugged into pin 2 on the Arduino
#define ONE_WIRE_BUS 8

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);

// Setup a oneWire instance to communicate with any OneWire devices
OneWire oneWire(ONE_WIRE_BUS);

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


DeviceAddress PAa= { 0x28, 0x60, 0x67, 0xCE, 0x04, 0x00, 0x00, 0x2F };
DeviceAddress BAa= { 0x28, 0x1F, 0xBD, 0xCB, 0x04, 0x00, 0x00, 0xF1 };

float PA;
float BA;

void setup(){

lcd.begin(20, 2);
// Start up the library
sensors.begin();
// set the resolution to 10 bit (good enough?)
sensors.setResolution(PAa, 10);
sensors.setResolution(BAa, 10);



}


void loop()
{
BA = sensors.getTempC(BAa);
PA = sensors.getTempC(PAa);
sensors.requestTemperatures();
lcd.setCursor(0 ,0);
lcd.print(BA);
lcd.setCursor(0 ,1);
lcd.print(PA);
delay(2000);
}

Obrázok užívateľa
Príspevky: 311
Registrovaný: Pon 19. Nov 2012 12:01:08
Bydlisko: HC/BA

Re: DS18B20 a prom?nné

Poslaťod tomXX » Ned 08. Dec 2013 18:24:32

Diego píše:Ještě se mi objevil další problém. Potřebuju načítat teplotu ze dvou čidel a zobrazit na lcd, ale když připojim jedno čidlo tak se teplota zobrazí a u druhého (nezapojeného) ne, ale když zapojim obě tak mi ukazujou obě teplotu 0.

Obě čidla jsou na jedné sběrnici.

Čím by to mohlo být?
Díky za radu


Ktoré zapojenie si použil?

http://openenergymonitor.org/emon/build ... re-sensing

Prípadne si prečítaj http://www.maximintegrated.com/app-note ... mvp/id/148

Mne napr. pomohlo pri zapojení s piatimi DS18B20 a topológiou "hviezda" znížiť pull-up odpor z 4K7 na 2K2.
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Obrázok užívateľa
Príspevky: 64
Registrovaný: Str 30. Okt 2013 18:21:18
Bydlisko: ČR

Re: DS18B20 a prom?nné

Poslaťod Diego » Uto 10. Dec 2013 17:55:09

Zapojení mám klasické. Odpor zkusim snížit a uvidíme.

Príspevky: 1
Registrovaný: Sob 25. Jan 2014 15:10:20

Re: DS18B20 a prom?nné

Poslaťod Kempa » Sob 25. Jan 2014 15:16:01

Ahoj potřeboval bych poradit jsem začátečník a nevim jak s dallasem nacist teplotu a zobrazit treba jako v debug jako u pic axe
nebo mi sem napiste priklad kterej nacte teplotu a kdyz bude vetsi jak 30C tak at sepne pin 13.
Dekuji

Obrázok užívateľa
Príspevky: 311
Registrovaný: Pon 19. Nov 2012 12:01:08
Bydlisko: HC/BA

Re: DS18B20 a prom?nné

Poslaťod tomXX » Uto 28. Jan 2014 10:38:20

Kempa píše:Ahoj potřeboval bych poradit jsem začátečník a nevim jak s dallasem nacist teplotu a zobrazit treba jako v debug jako u pic axe
nebo mi sem napiste priklad kterej nacte teplotu a kdyz bude vetsi jak 30C tak at sepne pin 13.
Dekuji


Asi nerozumiem dobre česky. Máš Arduino alebo PICAXE? Ak Arduino, tak hneď v druhom príspevku v tejto téme je napísaný kód ako prečítať teplotu a "kdyz bude vetsi jak 30C tak at sepne pin 13" tak asi predsa:

Kód: Vybrať všetko
if (temp > 30) digitalWrite(13, HIGH);


Ak je toto nad tvoje sily, odporúčam sa zamerať na chov rybičiek, anduliek alebo niečo podobné. Nič v zlom...
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Späť na Software