Arduino schéma - arduino.sk

Arduino teplomer s DS18B20 na LCD 2x16

Programovanie arduina
Príspevky: 26
Registrovaný: Str 02. Máj 2012 8:32:44

Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod lolo_671 » Str 30. Máj 2012 22:39:42

Zdravím, ten teplomer s použitím protokolu 1-Wire funguje perfektne, nedalo by sa niečo prihodiť, aby teplotu zobrazovalo aj na nejakom displeji? napr. na nejakej klasike LCD2x16.

Ďakujem.

Administrátor
Príspevky: 6
Registrovaný: Str 14. Mar 2012 0:02:56

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod admin » Štv 31. Máj 2012 14:10:38

Samozrejme :)

Uz sa pripravuje navod s displejom z Nokie 3310 a taktiez klasickym znakovym 16x2.

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

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod tomXX » Str 12. Dec 2012 14:11:15

blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Príspevky: 26
Registrovaný: Str 02. Máj 2012 8:32:44

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod lolo_671 » Str 12. Dec 2012 15:18:42

Dík už som to zriešil

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

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod tomXX » Štv 07. Feb 2013 14:13:31

Ja som druhý displej poriešil cez I2C zbernicu, aby som ušetril nejaké piny a hlavne, I2C viem použiť na na ATtiny85 :)

http://hmario.home.xs4all.nl/arduino/LiquidCrystal_I2C/ + priložená schéma + DPS

- pre ATtiny:
http://playground.arduino.cc/Code/USIi2c
Prílohy
dps_I2C.PNG
dps_I2C.PNG (82.08 KiB) Zobrazené 18028 krát
Schematic_diagram.jpg
Schematic_diagram.jpg (111.23 KiB) Zobrazené 18028 krát
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Príspevky: 26
Registrovaný: Ned 17. Mar 2013 3:11:53

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod sampler » Ned 17. Mar 2013 3:17:40

Zdravim, potreboval by som poradit ako docielim, aby sa teplota zobrazovala na 1 desatinne miesto, pripadne bez sesatinnych miest. (teda nie 24.56 St, ale napr. 24.5)
Dakujem

PS: myslel som tento kod z Blogu.

// Zdroj: http://www.hacktronics.com/Tutorials/ar ... orial.html

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

#define ONE_WIRE_BUS 6

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);

DeviceAddress insideThermometer = { 0x28, 0xAA, 0x08, 0x03, 0x03, 0x00, 0x00, 0xDF };
DeviceAddress outsideThermometer = { 0x28, 0x6B, 0xDF, 0xDF, 0x02, 0x00, 0x00, 0xC0 };
DeviceAddress dogHouseThermometer = { 0x28, 0x59, 0xBE, 0xDF, 0x02, 0x00, 0x00, 0x9F };

void setup(void)
{
// teplota sa bude zobrazovat na seriovej konzole
Serial.begin(9600);
// Start kniznice
sensors.begin();
// Nastavenie rozlisenia na 10 bitov
sensors.setResolution(insideThermometer, 10);
sensors.setResolution(outsideThermometer, 10);
sensors.setResolution(dogHouseThermometer, 10);
}

void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00) {
Serial.print("Chyba, senzor neodpoveda");
} else {
Serial.print("C: ");
Serial.print(tempC);
}
}

void loop(void)
{
delay(2000);
Serial.print("Zistujem teplotu...\n\r");
sensors.requestTemperatures();

Serial.print("Vnutorna teplota: ");
printTemperature(insideThermometer);
Serial.print("\n\r");
/*Serial.print("vonkajsia: ");
printTemperature(outsideThermometer);
Serial.print("\n\r");
Serial.print("Pivnica: ");
printTemperature(dogHouseThermometer);
Serial.print("\n\r\n\r");*/
}

Príspevky: 41
Registrovaný: Štv 21. Feb 2013 10:59:11

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod xeram » Ned 17. Mar 2013 11:59:45

Počet des. miest je parameter funkcie t.j. (premenná float temp) Serial.print (temp, 1); tá 1-ka je počet des. miest. Aby to bolo "kóšer" je vhodné premennú primerane zaokrúhliť: temp += 0.05

Príspevky: 26
Registrovaný: Ned 17. Mar 2013 3:11:53

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod sampler » Ned 17. Mar 2013 15:20:53

Dakujem Xeram (Marek? :-) takze ak som to dobre pochopil staci ked to upravim takto? Nemam board doma, ale v praci, takze to neviem hned odskusat.

float tempC = sensors.getTempC(deviceAddress);
tempC += 0.05
if (tempC == -127.00) {
Serial.print("Chyba, senzor neodpoveda");
} else {
Serial.print("C: ");
Serial.print(tempC, 1);
}

Dakujem!

Príspevky: 26
Registrovaný: Ned 17. Mar 2013 3:11:53

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod sampler » Pon 18. Mar 2013 11:12:30

Ahoj Xeram, tak som to teraz odskusal a s touto upravou to funguje:

void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if (tempC == -127.00) {
lcd.print("Error");
} else {
lcd.print(tempC, 1);


Bohuzial to += 0.05 neviem kde zadat, kedze spojenie += nepoznam.
Dakujem

Príspevky: 41
Registrovaný: Štv 21. Feb 2013 10:59:11

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod xeram » Pon 18. Mar 2013 12:17:52

výraz: temp += 0.05 znamená, že k premennej pripočítaš 0.05 je to isté ako: temp = temp + 0.05
Aby to zaokrúhlilo aj záporné teploty malo by to byť takto:

void printTemperature(DeviceAddress deviceAddress)
{
float tempC = sensors.getTempC(deviceAddress);
if(tempC < 0.0){
tempC -= 0.05; //odpočítame 0.05 pre záp. teplotu
} else {
tempC += 0.05; //pripočítame 0.05 pre kladnú teplotu
}
if (tempC < -127.00) {
lcd.print("Error");
} else {
lcd.print(tempC, 1);

Príspevky: 26
Registrovaný: Ned 17. Mar 2013 3:11:53

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod sampler » Str 20. Mar 2013 11:06:38

Dakujem Xeram uz to vsetko funguje, velmi mi pomohli tvoje rady!

Príspevky: 26
Registrovaný: Ned 17. Mar 2013 3:11:53

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod sampler » Str 20. Mar 2013 12:41:10

Ahoj Xeram, este mala otazocka, po aplikacii zaokruhlovania
tempC -= 0.05; //odpočítame 0.05 pre záp. teplotu
} else {
tempC += 0.05; //pripočítame 0.05 pre kladnú teplotu


sa meni teplota skokovo z 24.55 na 24.80 a zasa naspat.
respektive ked mam jen jedno cislo tak logicky z 24.5 na 24.8.
Dakujem

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

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod tomXX » Str 20. Mar 2013 15:30:05

Máš nastavené rozlíšenie 0,25°C :)
blog.sitepoint.sk - zaujímavé riešenia okolo Arduina

Príspevky: 26
Registrovaný: Ned 17. Mar 2013 3:11:53

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod sampler » Str 20. Mar 2013 20:46:54

tomXX, myslis ze je to tym ze mam nastavene 10bit rozlisenie pri DS18B20?
Dik vzhladom na to ze som dnes meral teplotu BEC RC regulatora tak desatinne miesta riesit nemusim :-), len ma to zaskocilo :-)

Príspevky: 1
Registrovaný: Pia 12. Júl 2013 20:52:08

Re: Arduino teplomer s DS18B20 na LCD 2x16

Poslaťod sheep » Pia 12. Júl 2013 20:59:26

Něco podobné řeším, s teplotou problem nemám.Ovšem s LCD ano.Asi jsem stupid protože již jsem koupil dva,a ani u jednoho nedokážu řídit ani kontrast.Jsou to tyhle http://www.gme.cz/alfanumericke-maticove-lcd-displeje-s-radicem-monochromaticke/mc1602e-sbl-h-p513-128/ a http://www.gme.cz/alfanumericke-maticove-lcd-displeje-s-radicem-monochromaticke/mc0802a-syl-h-p513-122/
Nic se neděje,mohu kroutit potenciometrem sem tam a nic.Nato aby se vubec neco zobrazilo.Proto se ptám jestli je možné použít jakykoli display,nebo musí být kompatibilní.
Díky.

Ďalší

Späť na Software