Skocz do zawartości

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


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 to post
Share on other sites
  • kuki12110 zmienił tytuł na: Problem z odpalaniem diody podczas czytania temperatury z DS18B20 podłączonego do Arduino Uno
(edytowany)
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 to post
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 to post
Share on other sites
(edytowany)

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 to post
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 to post
Share on other sites
(edytowany)

@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 to post
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 to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • 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.