Aktyw Forum

Zarejestruj się na forum.ep.com.pl i zgłoś swój akces do Aktywu Forum. Jeśli jesteś już zarejestrowany wystarczy, że się zalogujesz.

Sprawdź punkty Zarejestruj się

Znowu termometr DS1820

Awatar użytkownika
Avatar
-
-
Posty:46
Rejestracja:12 gru 2003, o 13:39
Lokalizacja:Ruda Śląska
Kontaktowanie:
Znowu termometr DS1820

Postautor: Avatar » 19 maja 2004, o 12:33

Witam szanownych grupowiczów.
Mam dwa takie termometry i chcialbym je podlaczyc na jednej lini 1Wire. Ale nie potrafie odczytywac z nich temperatury. Jak powinien wygladac kawalek kodu w ktory jest odpowiedzialny za wpisywanie numerow seryjnych. Dla uproszczenia pomijam zczytywanie ile jest ukladow i jakie maja numery, zakladam ze numery sa znane, juz wczesniej odczytane. Ja mialem taki programik, o ile mnie pamiec nie myli

.
.
.
1wreset
for a=1 to 8
1wwrite num_seryjny(a)
next a
call odczyt temperatury


ale cos mi nie dziala, czytalem note ds1820 i postepowalem wg opisu(mam nadzieje) jesli idzie o wysylanie numeru ale efekt byl gorzej niz oplakany.

Prosze o pomoc. I z gory dziekuje.

szpulek
-
-
Posty:15
Rejestracja:6 maja 2004, o 15:55
Lokalizacja:Gliwice
Kontaktowanie:

Postautor: szpulek » 19 maja 2004, o 19:40

Witam. Przed zaadresowaniem urzadzenia musisz wystawic komende dla czujnikow, ze bedizesz cos adresowal. Napisalem program dla ds1820 i 1wire w zasadzie glownie w oparciu o pdf producenta.
Zwroc uwage na wysylanie komend do czujnikow..
Pozdr

arek
-
-
Posty:25
Rejestracja:11 maja 2003, o 12:39
Lokalizacja:Opole

Postautor: arek » 20 maja 2004, o 19:12

programik na odczytanie 2xDS1820 pod jedno wejście

Numer(1) = 16 : Numer(2) = 71 : Numer(3) = 156 : Numer(4) = 41 : Numer(5) = 0 : Numer(6) = 0 : Numer(7) = 0 : Numer(8) = 126
Numer1(1) = 16 : Numer1(2) = 71 : Numer1(3) = 85 : Numer1(4) = 29 : Numer1(5) = 0 : Numer1(6) = 0 : Numer1(7) = 0 : Numer1(8) = 233
To są moje numert Ds-ów ty wpisz swoje numery DS-ów

Sub Temperatura
1wreset
1wwrite &H55
Gosub Nume
1wwrite &H44
Waitms 250
Waitms 100
1wreset
1wwrite &H55
Gosub Nume
1wwrite &HBE
Bd(1) = 1wread(9)
1wreset
T = Makeint(bd(1) , Bd(2))
T = T * 50 : T = T - 25
T1 = Bd(8) - Bd(7)
T1 = T1 * 100
T1 = T1 / Bd(8) : T = T + T1
T = T / 10
X10 = T / 10
End Sub

Nume:
If Q = 0 Then : For R = 1 To 8 : 1wwrite Numer1(r) : Next R : End If
If Q = 1 Then : For R = 1 To 8 : 1wwrite Numer(r) : Next R : End If

Awatar użytkownika
Avatar
-
-
Posty:46
Rejestracja:12 gru 2003, o 13:39
Lokalizacja:Ruda Śląska
Kontaktowanie:

Postautor: Avatar » 21 maja 2004, o 19:00

Dzieki za podpowiedz potem jeszcze przeszukalem forum i znalazlem cos podobnego i to opanowalem. Dzieki jeszcze raz za pomoc :-) :)

Wróć do „Projektowanie PCB, programy EDA, CAD, narzędziowe”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 42 gości