Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 4 maja 2025, o 00:20


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
Autor Wiadomość
 Tytuł: DS18b20
PostNapisane: 9 mar 2013, o 21:21 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 236
Lokalizacja: Warszawa
Pomógł: 5

Witam!

Ogólnie jestem początkujący w programowaniu, mam płytkę z atmega16 i zabawiam sie nia oprogramowując kazdy jej podzespóół. ogólnie korzystam z książki ps. mirka k. tej niebieskiej, bo to chyba najbardziej przyswajalna pozycja startowa na rynku w programowaniu mikrokontrolerów jaką znam.
chciałbym w jakiś łatwy sposób porównać id dwóch ds18b20 wykorzystując biblioteki dallas do szukania tych sensorów i nie wiem jak to zrobić w c. Prosiłbym o jakieś podpowiedzi

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: DS18b20
PostNapisane: 9 mar 2013, o 21:33 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27378
Lokalizacja: Szczecin
Pomógł: 1043

Przecież ID to tablica 8 elementów prawda ? każdy element to jeden bajt tego ID. Więc jeśli masz porównać dwa numery ID to wystarczy porównać zawartość obydwu tablic z tymi numerami i po zawodach będzie ;)

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: DS18b20
PostNapisane: 9 mar 2013, o 22:10 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 236
Lokalizacja: Warszawa
Pomógł: 5

no wiem, czy moge po wywolaniu funkcji search sensors i wypelnieniu tej tablicy brac po kolei jej elementy i je porównywać. jeśli tak to dobrze kombinowałem. Działa dzięki ;;D

A jeszcze jedno pyatnko mam, bo podobno w tej tablicy gSensors czujniki sa dopasowywane przypadkowo bez określonej kolejności, czy to prawda, czy czujniki mają jakieś priorytety?

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: DS18b20
PostNapisane: 9 mar 2013, o 22:45 

Pomógł: 0

Nie nie mają priorytetów, ale z własnego doświadczenia wiem, że mając np. 3czujniki to zawsze zgłaszają się w takiej samej kolejności.

Aczkolwiek by być 100% pewnym dobrze zrobić sobie tablice, albo strukturę ID czujników.



Góra
  
cytowanie selektywne  Cytuj  
 Tytuł: Re: DS18b20
PostNapisane: 9 mar 2013, o 22:48 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27378
Lokalizacja: Szczecin
Pomógł: 1043

Paul Dirac napisał(a):
A jeszcze jedno pyatnko mam, bo podobno w tej tablicy gSensors czujniki sa dopasowywane przypadkowo bez określonej kolejności, czy to prawda, czy czujniki mają jakieś priorytety?


wielu ludzi tak mówi że coś tam jest dopasowywane przypadkowo ..... a czy zamiast takiego mówienie nie warto zajrzeć do opisu algorytmu wyszukiwania sensorów na magistrali 1wire. Nota PDF w łapki i jest to tam opisane. To że wydaje ci się to przypadkowe to wynika właśnie tylko z tego że nie znasz tego algorytmu, nie ma tu żadnej przypadkowości ale ich ułożenie zależne jest oczywiście od numerów ....

dlatego takie rzeczy jak wykrywanie który jest który nie robi się na tablicy gSensors tylko na jakiejś własnej i tam trzeba wykorzystywać właśnie takie funkcyjki porównawcze .... to co właśnie ci się przed chwilą udało jak piszesz ;)

na tym forum temat już niejednokrotnie poruszany - postaraj się poszukać postów prac kolegi rezasurmar w tym zakresie bo dzielnie z tym walczył ;)

------------------------ [ Dodano po: 1 minucie ]

rezasurmar napisał(a):
Nie nie mają priorytetów, ale z własnego doświadczenia wiem, że mając np. 3czujniki to zawsze zgłaszają się w takiej samej kolejności.

Aczkolwiek by być 100% pewnym dobrze zrobić sobie tablice, albo strukturę ID czujników.


o! uderz w stół a kolega rezasurmar się odezwie ;) .... tak trzy takie same czujniki zawsze tak samo się poukładają w gSensors, tylko może być zonk gdy się np jeden z nich wyjmie - wtedy układ może się zmienić dla dwóch pozostałych tzn w tym sensie że jak się wyjmie ten ze środka tablicy to dziura w niej nie pozostanie - dwa kolejne ułożą się po kolei

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: DS18b20
PostNapisane: 10 mar 2013, o 00:30 

Pomógł: 0

No Mirek ma rację, niestety trzeba brać pod uwagę wiele czynników.

Walczę nadal ;), chwilowo zarzuciłem temat z racji innych projektów.......niestety robię kilka rzeczy na raz ;(.

Z chęcią przeanalizuję problem z zgłaszaniem się czujników, jak będę miał analizator, zobaczę czy to zależy od "wykonania" czujnika czy innych czynników.

Swoją drogą nie jest tak trudno zaimplementować na stałe przypisanie ID do konkretnych "pomieszczeń" (jak w moim przypadku).
Problem zaczyna się, gdy wiemy, że padnie jeden czujnik, albo chcemy zmienić czujnik itp. wtedy trzeba już sprawdzać więcej zależności.



Góra
  
cytowanie selektywne  Cytuj  
 Tytuł: Re: DS18b20
PostNapisane: 10 mar 2013, o 14:24 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 08 mar 2013
Posty: 236
Lokalizacja: Warszawa
Pomógł: 5

Ja tam nie wiem, ale mam w układzie 3x czujniki wmontowane na stale i podczas wywolywania alarmów na poszczególnych czujnikach po przekroczeniu zakres <tl, th> dokonuje porównać dwóch tablic gSensors i galarms i wtedy wiem, że piuerwszy zglosił alarm, a że drugi nie. Niby racja lepiej użyć strukturę i raz wypełnić tablicę z id i potem tylko na niej bazować. W sumie każdy wie, ilu jest programistów tyle pomysłów na wykonanie projektu.

A notke to ja przeczytałem nie jeden raz tylko z dziesięć zanim zacząłem korzysta.ć z biblioteki, trochę ją okroiłem, żeby było mniej if(). W sumie racja, jesli się nie nauczę czytać not to nigdy nie będę umiał programować mikrokontrolery, jak dostanę inny niz ten nad którym pracuję.

Trzeba działać ;)

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: DS18b20
PostNapisane: 10 mar 2013, o 14:31 

Pomógł: 0

No problemy zaczynają się, jak masz urządzenie u klienta, np. pada jeden czujnik, i ten czujnik ma być wymieniony przez samego klienta, np. zamawia tylko u ciebie czujnik. Przecież nie będzie się grzebał w jakieś ID. Powinien program zgłosić uszkodzenie takiego, a takiego czujnika, bez ID, bo to przecież klientowi nic nie da (serwisantowi przecież też nie).
Następnie musi wiedzieć, że został dołożony nowy czujnik w zamian tego uszkodzonego z nowym ID...... przecież, one po restarcie urządzenia mogą się już zgłosić w innej kolejności.
Ale to takie moje luźne dywagacje.
Osobiście nie lubię robić "fuszery" i zostawiać czegokolwiek przypadkowi.



Góra
  
cytowanie selektywne  Cytuj  
 Tytuł: Re: DS18b20
PostNapisane: 10 mar 2013, o 15:28 
Offline
Moderator
Avatar użytkownika

Dołączył(a): 03 paź 2011
Posty: 27378
Lokalizacja: Szczecin
Pomógł: 1043

I to jest rezasurmar bardzo dobra droga - trzeba to tak zrobić jak piszesz, żeby nawet przysłowiowy "BOLEK" mógł iść i wymienić uszkodzony czujnik - ale tak żeby nie trzeba mu było zlecać nawet zaglądania w jakieś tam wyświetlacze i porównywania ID czy też chodzenia po jakimś MENU ;) .....

_________________
zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO