Skocz do zawartości

Problem z odpalaniem diody podczas czytania temperatury z DS18B20 podłączonego do Arduino Uno


kuki12110

Pomocna odpowiedź

Witam. Mam pytanie. Ogólnie czytałem artykuł o czytnikach temperatury DS18B20 i chciałbym napisać program który po odczytaniu temperatury (to już mam napisane) odpala normalną diodę jeśli jest ponad 20 stopni Celsjusza. Próbowałem sam napisać ten program lecz dioda nie działa, wszystko jest dobrze podłączone, ponieważ sprawdziłem na innym kodzie czy działa dioda i działa. I pytanie jest takie jak by wyglądał by taki kod? 

Edytowano przez kuki12110
Link do komentarza
Share on other sites

Dnia 31.12.2021 o 15:36, kuki12110 napisał:

I pytanie jest takie jak by wyglądał by taki kod? 

if(tZad > tAkt)ledOn;
else ledOff;

tyle mogę pomóc po informacjach które podałeś, ja nie wiem.... Czy to takie trudne wrzucić tutaj swój program? A w ogóle dlaczego chcesz te diody palić? 🤔

Edytowano przez _LM_
Link do komentarza
Share on other sites

(edytowany)

Tu podaje cały kod przed edycją (razem z próba odpalenia samodzielnie diody)

#include <OneWire.h>
#include <DallasTemperature.h>
 
OneWire oneWire(A5); //Podłączenie do A5
DallasTemperature sensors(&oneWire); //Przekazania informacji do biblioteki

 DeviceAddress termometrZewnetrzny = { 0x28, 0xFF, 0x48, 0x5A, 0x7C, 0x18, 0x1, 0xCC };
 DeviceAddress termometrWoda = { 0x28, 0xFF, 0xD2, 0xA, 0x79, 0x18, 0x1, 0x2B } ;

  
  
void setup(void) {
  Serial.begin(9600);
  sensors.begin(); //Inicjalizacja czujnikow
  
  pinMode(8, OUTPUT);
  
  }
 
void loop(void) { 
  sensors.requestTemperatures(); //Pobranie temperatury czujnika
  Serial.print("Temperatura otoczenia ");
  Serial.println(sensors.getTempC(termometrZewnetrzny));  //Wyswietlenie informacji
 
  int tempDioda = sensors.getTempC(termometrZewnetrzny);
  dioda(tempDioda);
  
  delay(500);
 
 }

  void dioda(int temperatura) {
    if (temperatura < 21) {
      digitalWrite(8, HIGH); 
    } else if (temperatura < -40) {
      digitalWrite(8,LOW);
    }
  }

Ale tak naprawdę zamiast diod chce po prostu żeby w jakimś pin był włączony dzięki jakieś temperaturze a najlepszym sposobem żeby sprawdzić czy pin się włącza jest dioda @_LM_

Edytowano przez kuki12110
Link do komentarza
Share on other sites

Chcesz zapalic diode jak temperatura mniejsza niz 21? Czy byc moze sie pomyliles ..

Jezeli temperatura w pomieszczeniu jest wieksza niz 21° to dioda nigdy sie nie odpali...napisz program na 25°? I czujnik w reke...musi dzialac...druga kwestia to czy przypadkiem nie musisz zawsze poprosic o dane? Bo chcesz dwa razy z rzedu pobrac temp...(nie wiem tego)

Edytowano przez farmaceuta
  • Pomogłeś! 1
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

- też się bawie czujnikami i moja mała uwaga, odczyt z DS... jest możliwy po czasie 750 msek od ostatniego odczytu, warto ten delay dać na 1000 msek.

Link do komentarza
Share on other sites

@99teki bzdura, możesz odczytywać ds-a z większą częstotliwością tylko wtedy spada rozdzielczość pomiaru. Jest o tym w datascheet dsa

Edytowano przez _LM_
sprawdziłem ds i zmienia się rozdzielczość a nie dokładność
Link do komentarza
Share on other sites

14 godzin temu, 99teki napisał:

warto ten delay dać na 1000 msek.

A ja nie daje zadnego delay'a...uzywam biblioteki ktora zwraca info czy juz sa dane do odczytania i dziala luks..

  • Lubię! 2
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.