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 25 maja 2025, o 05:26


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 17 wrz 2015, o 15:27 
    Offline
    Nowy

    Dołączył(a): 17 wrz 2015
    Posty: 3
    Pomógł: 0

    Witajcie!

    Stworzyłem shield dla arduino, który ma działać jako 6-kanałowe urządzenie do pomiaru temperatury na maszynie do odlewania odśrodkowego. Płytka oparta jest o przetworniki MAX31855, które komunikują się z mikrokontrolerem poprzez software SPI. Wszystko zostało przetestowane w serial monitorze i hula aż miło. Jednak projekt został docelowo przygotowany, aby zbierane dane były zapisywane w pliku na karcie sd (bo w końcu to odlewanie odśrodkowe ;). I tutaj pojawia się problem, i MAX31855, i karta SD osobno pracują idealnie, razem nie chcą się dogadywać za cholerę. Jako zwrot z przetwornika dostaję zera, żadnego błędu lub wartości, ale zera. Z tego co wyczytałem na forum arduino chodzi o zajmowanie przez kartę SD pinu CS.

    Googlując dotarłem do tego tematu: klik, a z niego użytkownicy kierowali do postu #15 w tym temacie. Zainstalowałem nawet bibliotekę SdFat.h użytkownika fat16lib, jednak to nie poskutkowało, więc nie wiem co robię źle... Dlatego zwracam się do was z prośbą o jakieś rady, pomysły, cokolwiek.

    Elav

    EDIT:
    Karta SD jest podłączona poprzez ICSP i nie jest naniesiona na schemat

    Schemat:
    Obrazek

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



    Ostatnio edytowano 17 wrz 2015, o 16:02 przez elav, łącznie edytowano 2 razy

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 wrz 2015, o 15:43 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 20 sie 2013
    Posty: 795
    Lokalizacja: Poznań
    Pomógł: 59

    Po pierwsze zamieść kod i schemat. Wtedy myślę dość szybko będzie odpowiedź.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 wrz 2015, o 16:03 
    Offline
    Nowy

    Dołączył(a): 17 wrz 2015
    Posty: 3
    Pomógł: 0

    icer_cmg napisał(a):
    Po pierwsze zamieść kod i schemat. Wtedy myślę dość szybko będzie odpowiedź.


    Wszystko dodane ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 wrz 2015, o 19:10 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 mar 2015
    Posty: 310
    Pomógł: 18

    elav napisał(a):
    I tutaj pojawia się problem, i MAX31855, i karta SD osobno pracują idealnie, razem nie chcą się dogadywać za cholerę. Jako zwrot z przetwornika dostaję zera, żadnego błędu lub wartości, ale zera. Z tego co wyczytałem na forum arduino chodzi o zajmowanie przez kartę SD pinu CS.

    Muszę coś napisać - chociaż jestem na etapie multipleksowania wyświetlaczy LED z BB i poradnika o klonach. Praca mP to ciągłe multipleksowanie - nic nie dzieje się jednocześnie. Ty chciałbyś jednocześnie wysyłać informację na terminal(mieć informację bieżącą) i zapisywać na SD(tworzyć archiwum) - to się nie da. A jakbyś zapisywał pomiary tempx do tablicy lub nawet unii a w następnym kroku FCPU zapisać całość do SD(mając na uwadze ilość cykli zapisu i kasowania) lub wysłać gdziekolwiek stosując odpowiednie formatowanie informacji.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 wrz 2015, o 20:05 
    Offline
    Nowy

    Dołączył(a): 17 wrz 2015
    Posty: 3
    Pomógł: 0

    Przecież zapisuję każdy odczyt pod zmienną tempX i dopiero później go wrzucam do rekordu pliku na karcie. Z tego co wyczytałem na forum arduino być może karta SD nie zwalnia pinu CS, ale to jutro sprawdzę, spróbuję dodatkowo wykomentować wszystko co dotyczy załączania karty w setup(), bo jeżeli dobrze myślę to wtedy przynajmniej pierwszy pomiar powinien być poprawny.



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

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