logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Chronologiczny odczyt z czujnika i wyświetlanie wyniku na LCD

kuki007 05 Sie 2011 23:13 1440 6
  • #1 9795707
    kuki007
    Poziom 11  
    Witam

    Temat jest nawiązaniem do wątku

    https://www.elektroda.pl/rtvforum/topic2058832.html

    Czytam, szukam, uczę się ale ciężko mi znaleźć punkty odniesienia.

    Stad prosiłbym o łopatologiczne nakierowanie gdzie zacząć i czego się uczyć.

    Ogólny zarys koncepcji:

    Czujnik mierzący zawartość CO2 w powietrzu, wysyła dane - Gdzie? - które oprócz wskazywania aktualnej wartości na wyświetlaczu LCD (graficznym?) po kliknięciu przycisku przełączają się na wykres CZAS / STĘŻENIE [np co 0,5 h]


    Widziałem że ktoś pisał podobne coś w Delphi ale czy to będzie się jakoś nadawało do zaprogramowania mojego urządzenia?

    Ale z drugiej strony czy to nie ma działać podobnie do https://www.elektroda.pl/rtvforum/topic1874737.html#8978533 ?

    Bardzo proszę o pomoc.
  • Pomocny post
    #2 9798226
    Matejkos
    Poziom 20  
    A więc tak :
    Co do odczytu z czujnika: to odczytujesz pojedyncze próbki wartości stężenia. Żeby sporządzić następnie wykres stężenia-czas musisz zapamiętać te próbki lub przynajmniej ich część. Tutaj nasuwa się pytanie ile próbek i czy po zaniku zasilania mogą one zostać utracone kiedy będziesz miał te informacje możesz zdecydować jakiej pamięci użyć jeżeli można je utracić po zaniku zasilania może to być pamięć ram jeżeli nie to zdecydowanie jakiś eeprom lub flash(na przykład karta sd) o stosownej wielkości. W tym miejscu trzeba by było zdecydować jakiego mikrokontrolera użyć a tych jest cała masa.
    Dane możesz także transmitować do komputera non stop lub po dowolnej inicjalizacji transmisji przez komputer. Wtedy z odebranymi danymi możesz już praktycznie zrobić wszystko.

    Pozdrawiam Matejkos
  • #3 9798303
    kuki007
    Poziom 11  
    yhmm, dziekuje a info bardzo mi to rozjaśnia - próbkowanie chciałbym co pół godziny, zapis na wszelki wpadek stały czyli jakis flash.

    Od razu pisze ze i tak nie wiem jak odbierac sygnaly z czujnika, a tym bardziej jak je próbkować i zapisywac (na razie). dopiero się ucze - co do mikroprocesora to heh... jak narazie zagadka... moze cos na poczatek? uczyc sie C czy Bascom?

    na transmisji do komputera mi nie zalezy - chcialbym wykres na lcd po "kliknieciu" a takto dane stezenie CO2.
  • Pomocny post
    #4 9798333
    gaskoin
    Poziom 38  
    Moim zdaniem jeżeli jeszcze nie zacząłeś swojej nauki to nie myśl o Bascomie tylko od razu ucz się C. uC już chyba widzę wybrałeś, więc nie będę marudził, żebyś nie brał AVR :P

    Jak odbierać dane z czujnika ? Ano to już zależy. Niektóre się podpina pod przetwornik analogowo/cyfrowy i w programie przelicza wartość z przetwornika, niektóre mają już to wbudowane i tylko dane wysyłają na jakiejś magistrali. Jak to wszystko zrobić będziesz miał opisane w dokumentacji do czujnika/przetwornika i samego mikrokontrolera.

    Nie da się więc powiedzieć o tak ogólnie jak co będzie działało i jak to obsłużyć - wszystko zależy od elementów jakie użyjesz.
  • #5 9798352
    kuki007
    Poziom 11  
    no własnie nie wybrałem bo totalnie nie ogarniam, taki polecali w dokumentacji ale nie wiem czym on sie rozni od AVR. jakie w ogole to moze miec znaczenie?

    tez myslalem o C, chyba dobrze zaczynac od trudniejszego.

    w dokumentacji czujnika... nie znalazlem nic co by mnie naprowadzilo ale moze jeszcze za malo ogarniam... lektura idzie pocztą juz.

    w kazdym razie dziekuje za wszelkie dotychczasowe i przyszłe podpowiedzi :)

    edit/ hmm to w jakim kierunku jeśli o obsługe uderzyc? środowisko C i mikrokontroler... jaki? bo w sumie co za roznica miedzy tym jaki oni polecają a np jakims atemega8 ?
  • Pomocny post
    #6 9801140
    Matejkos
    Poziom 20  
    Z dokumentacji co przeczytałem masz wyjście analogowe więc jedyne co to musisz pokusić się o mikrokontroler z przetwornikiem analogowo-cyfrowym o odpowiedniej rozdzielczości lub o zewnętrzny przetwornik wtedy nie potrzebujesz przetwornika w mikrokontrolerze. Jak wiadomo przetwornik ma jakąś rozdzielczość taka atmega8 na przykład ma przetwornik 10-bitowy czyli 1024 wartości w pełnej skali choć wiadomo że ostatnie bity szumią więc teraz zależy jaką rozdzielczość chcesz uzyskać. Jeżeli wystarczy Ci powiedzmy 256 wartości to spokojnie wystarczy przetwornik z atmegi jeżeli jest to nico zbyt mała wartość to wypadało by wykonać kilka pomiarów i uśrednić wynik wtedy otrzymasz wynik bardziej dokładny, oczywiście zawsze możesz użyć przetwornika z większą rozdzielczością. Kolejną sprawą jaką musisz przemyśleć przy wyborze mikrokontrolera to ilość pamięci na program tak ażeby zaimplementować wszystkie funkcje jakie chcesz oraz ażeby miał on odpowiednią ilość pinów wejścia wyjścia tak żeby obsłużyć wszystkie peryferia. Ostatnia rzecz jaką poruszę to język programowania z własnego doświadczenia wiem że bascom jest prosty ale późniejsza przesiadka na C jest ciężka człowiek po prostu robi się bardzo leniwy, bo w bascomie do wszystkiego są funkcję i człowiek nie wie jak to właściwie działa. Dlatego zgadzam się z kolegą Gaskoin żeby zacząć od C. Nie dojść że jest bardziej przenośne od bascoma to masz większą kontrolę nad tym co się dzieje z mikrokontrolerem. Być może C jest trudniejsze na początku ale na pewno to zaprocentuje w przyszłości. Co do mikrokontrolera to do wyboru masz naprawdę dużo począwszy od AVR-ów poprzez PIC-e aż do potężnych ARM-ów. Nie chce wywoływać kolejnej wojny co lepsze więc nie będę opowiadał się za żadną ze stron wybór należy do Ciebie.
    Pozdrawiam Matejkos
  • #7 9813002
    kuki007
    Poziom 11  
    dziękuje za zainteresowanie... na razie staram się ogarnąć i nauczyć pojęć itp o których napisałeś - coś tam świtać zaczyna jak zacznę ogarniać odświeżę temat i będę prosić o pomoc :)
REKLAMA