ds18b20 chyba
ds18b20 chyba
Ahoj dá se nějak poměřit čidlo ds18b20 ?
Po připojení a nahrání kódu ( https://www.hwkitchen.cz/arduino-navody ... no-navody/ ) na desku arduino mega 2560 (klon) píše teplotu -127 stupňů.
Díky za rady.
Po připojení a nahrání kódu ( https://www.hwkitchen.cz/arduino-navody ... no-navody/ ) na desku arduino mega 2560 (klon) píše teplotu -127 stupňů.
Díky za rady.
Re: ds18b20 chyba
... Dočti ten článek až do konce. Píše se tam přesně o problému -127°C. Asi ti tam chybí ten odpor, nebo máš špatně zvolený vstup.
Re: ds18b20 chyba
bohužel odpor tam mám a vstup mám taky dobře. Už mě jedině napadá špatný kabel k čidlu nebo špatné čidlo.
Odpor mám teda 4k7 ale na jiných návodech normálně funguje.
kabel dlouhý origo 1m.
Odpor mám teda 4k7 ale na jiných návodech normálně funguje.
kabel dlouhý origo 1m.
Re: ds18b20 chyba
překontroluj zapojení (jestli nemáš otočené čidlo, odpor mezi +5V a signálem,...) , případně zkus jiné čidlo nebo jiné arduino ...
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: ds18b20 chyba
- pokud máš čidlo "samotné", vyzkoušej ho bez kabelu
- vyzkoušej ho s kodem co je u knihovny v Arduino IDE, nebo si najdi kod pro "skenování adres na OneWire"
- pokud to máš zapojené jen na stole - ověř hlavně že odpro má kontakt, ty desky z číny někdy blbnou
čidlo neproměříš, je to takový malý "počítač" který po dotazu se probudí, změří teplotu, pošle ti teplotu a zase se uspí"
- vyzkoušej ho s kodem co je u knihovny v Arduino IDE, nebo si najdi kod pro "skenování adres na OneWire"
- pokud to máš zapojené jen na stole - ověř hlavně že odpro má kontakt, ty desky z číny někdy blbnou
čidlo neproměříš, je to takový malý "počítač" který po dotazu se probudí, změří teplotu, pošle ti teplotu a zase se uspí"
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Re: ds18b20 chyba
Ahoj
Mám podobný problém. DS18B20 som pripojil k doske STM32 cez pullup odpor 4,7k na pin 10 (A0).
V okne Monitor sériového portu mi ukazuje teplotu -127. Zapojenie je v poriadku.
Vymenil som i druhý DS18B20 a to isté. Keď ho odpojím výsledok rovnaký.
Skúšal som 3V i 5V pri odpore 10k a to isté.
program:
Čo s tím ? Neviem kde by mohla byť chyba..
Mám podobný problém. DS18B20 som pripojil k doske STM32 cez pullup odpor 4,7k na pin 10 (A0).
V okne Monitor sériového portu mi ukazuje teplotu -127. Zapojenie je v poriadku.
Vymenil som i druhý DS18B20 a to isté. Keď ho odpojím výsledok rovnaký.
Skúšal som 3V i 5V pri odpore 10k a to isté.
program:
Kód: Vybrat vše
#include <OneWire.h>
#include <DallasTemperature.h>
// pin, kde bude senzor zapojený
#define pin 10
// nastavení komunikace senzoru přes pin
OneWire oneWire(pin);
// převedeme onewire do Dallasu
DallasTemperature sensors(&oneWire);
void setup(void)
{
// nastavení rychlosti sériové komunikace
Serial.begin(9600);
// zapnutí senzoru
sensors.begin();
}
void loop(void)
{
// požádáme senzor o hodnotu teploty
sensors.requestTemperatures();
Serial.print("Teplota je: ");
// tento řádek je vysvětlený v článku
Serial.print(sensors.getTempCByIndex(0));
Serial.println(" stupnu Celsia");
delay(1000);
}
-
- Příspěvky: 579
- Registrován: 01 srp 2017, 19:29
- Reputation: 0
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: ds18b20 chyba
Problém bude podľa mňa v tom, že používaš analógový pin na digitálny senzor.
Analógový pin je iba vstupný (ak vychádzam z Arduina), t.j. nevieš poslať príkaz na vyžiadanie si dát zo senzora.
Určite by som skúsil znova použitím digitálneho pinu.
Edit:
A taktiež po vyžiadaní by som pridal delay 750-1000ms aby dáta stihli dôjsť a správne sa načítať.
Analógový pin je iba vstupný (ak vychádzam z Arduina), t.j. nevieš poslať príkaz na vyžiadanie si dát zo senzora.
Určite by som skúsil znova použitím digitálneho pinu.
Edit:
A taktiež po vyžiadaní by som pridal delay 750-1000ms aby dáta stihli dôjsť a správne sa načítať.
Re: ds18b20 chyba
Na Arduinu jde vetsina analogovych pinu pouzit i jako digitalni vystupy (a vstupy)
Re: ds18b20 chyba
Tak som pridal delay 1000 ms a zmenil na pin 25 PB12 a žiadna zmena.
Stále zobrazuje -127
Stále zobrazuje -127
Kód: Vybrat vše
#include <OneWire.h>
#include <DallasTemperature.h>
// pin, kde bude senzor zapojený
#define pin 25
// nastavení komunikace senzoru přes pin
OneWire oneWire(pin);
// převedeme onewire do Dallasu
DallasTemperature sensors(&oneWire);
void setup(void)
{
// nastavení rychlosti sériové komunikace
Serial.begin(9600);
// zapnutí senzoru
sensors.begin();
}
void loop(void)
{
// požádáme senzor o hodnotu teploty
sensors.requestTemperatures();
delay(1000);
Serial.print("Teplota je: ");
// tento řádek je vysvětlený v článku
Serial.print(sensors.getTempCByIndex(0));
Serial.println(" stupnu Celsia");
delay(1000);
}
Re: ds18b20 chyba
Původní řádku:
přepiš na:
nebo na:
Podle toho, kam to čidlo připojíš.
Odzkoušeno a funguje to.
Pokud by ti to nešlo, tak bude chyba u tebe v hardwéru...
Kód: Vybrat vše
#define pin 25
Kód: Vybrat vše
#define pin PB12
Kód: Vybrat vše
#define pin PA0
Odzkoušeno a funguje to.
Pokud by ti to nešlo, tak bude chyba u tebe v hardwéru...
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 18 hostů