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

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 5 kwi 2025, o 21:02


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 14 wrz 2015, o 23:56 
    Offline
    Nowy

    Dołączył(a): 14 wrz 2015
    Posty: 2
    Pomógł: 0

    Witam,

    Mam następujący problem. Staram się odczytać temperaturę z czujnika MLX90614ESF-ACF wykorzystując magistrale I2c.

    *połączenia są całe
    *sprawdziłem tym programem czy adres czujnika jest ok i czy go widzi.

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Program pokazywał 0 i 1 jako adresy (jeszcze można się komunikować pod 0x5A)
    Po analizie datasheet(załącznik) domyślam się że:
    0 adres do zapisu ( slave adres WR)
    1 adres do odczytu ( slave adres RD)

    *następnie napisałem program

    kod
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język basic4gl
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    MLX90614ESF-ACF
    https://www.sparkfun.com/datasheets/Sen ... 14M005.pdf

    w załączniku powycinane fragmenty datasheet które użyłem do pisania Programu oraz schemat podłączenia. Program oczywiście nie działa i pokazuje 0 stopni cały czas. jakieś pomysły co może być nie tak ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 wrz 2015, o 06:50 
    Offline
    Użytkownik

    Dołączył(a): 04 cze 2013
    Posty: 517
    Pomógł: 26

    Kolego najpierw to powinieneś sprawdzić czy masz jakiś odczytany wynik w tempdata, czyli linijki od 35-37 wyłączyć i sobie wyświetlić tempdata. Dopiero teraz możesz stwierdzić że nie masz odczytu. Bo z tego co widzę to wykonujesz operację mnożenie liczbą zmiennoprzecinkową a przeciez masz zadeklarowane tempdat jako word a to są całkowite liczby od 0-65535

    _________________
    Przewodnik|Sterownik akwariowy



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 wrz 2015, o 07:47 
    Offline
    Nowy

    Dołączył(a): 14 wrz 2015
    Posty: 2
    Pomógł: 0

    Wyświetlałem zmienne lowbyte2 i Highbyte2 na wyświetlaczu bez ich przetwarzania i obydwie są równe 0. Podmieniałem w poleceniu Lcd "Wynik:" ; Napis2 ; Chr(1) ; "C" Napis2 na Lowbyte2 a potem Highbyte2.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 wrz 2015, o 09:08 
    Offline
    Użytkownik

    Dołączył(a): 21 mar 2015
    Posty: 25
    Pomógł: 3

    A jesteś pewien że masz dobre adresy na I2C - bo według dokumentacji adres układu to 0x5A i 0x5B a Ty wysyłasz adresy 0x00 i 0x01?

    Marek



    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: 4 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO