Pomiar ciśnienia atmosferycznego i temperatury

Pomiar ciśnienia atmosferycznego i temperatury

Witam,  w tym artykule chciałbym przedstawić w jaki sposób możemy mierzyć ciśnienie atmosferyczne za pomocą prostego układu.
Potrzebne nam będą :
Arduino
Czujnik ciśnienia atmosferycznego
ATmega328P-PU
Płyta Stykowa
Wyświetlacz LCD 2×16

Zaczynamy od wgrania Bootloadera to naszej ATmegi.

Podłączenia ATmegi z Arduino:
Arduino pin 10 – ATmega pin 1
Arduino pin 11 – ATmega pin 17
Arduino pin 12 – ATmega pin 18
Arduino pin 13 – ATmega pin 19
GND- ATmega pin22
5V – ATmega pin 7

bootloader

Otwieramy przykładowy program ArduinoISP i wysyłamy go do naszego Arduino.
Po wykonaniu tej czynności zmieniamy płytkę z naszego Arduino na Atmegę(Narzędzia -> Płytka->ATmega328P-PU) oraz zmieniamy programator(Narzędzia -> Programator->Arduino as ISP) i wypalamy Bootloader.

Następnie na ATmegę wgrywamy program który będzie nam potrzebny do obsługi czujnika BMP085   i wyświetlacza LCD 2×16.
Kod pochodzi ze strony producenta,  jednak trzeba było dopisać kilka linijek w celu wyświelenia danych na wyświetlaczu.

 

 

Po wgraniu kodu wystarczy tylko odpowiednio podłaczyć elementy pod naszą ATmegę.  Gotowy ukłąd wygląda tak:

gotowy układ

Przepraszam za jakość zdjęcia, ale na chwilę obecną nie dysponuje lepszym aparatem. efekt koncowy

Dziękuje za uwagę :)

Ocena: 3.9/5 (głosów: 68)

Podobne posty

22 komentarzy do “Pomiar ciśnienia atmosferycznego i temperatury

  • Przepraszam bardzo ale wpis tragiczny i propaguje BARDZO złe nawyki.
    – Kondensatory filtrujące napięcie zasilania mikrokontrolera
    – Rezystor na pinie reset
    – Cewka na zasilaniu części analogowej (no, w tym projekcie możnaby ewentualnie ją pominąć, bo nie używamy ADC)
    – 5V i masę podłączamy do KAŻDEGO pinu Vcc i GND (tak, nawet jeżeli nie używamy ADC)!!!
    – na stronie Nettigo znajduje się taka uwaga: “Zasilanie 1.8 – 3.6 V. Podanie napięcia zasilającego 5V uszkodzić może czujnik!”. No ja tutaj stabilizatora na 3V3 nie widzę, ale na pewno nie byłoby przy nim kondensatorów :P

    – nie dam głowy (bo nie używam tego typu wyświetlaczy), ale mocno wydaje mi się, że na jednej z nóżek powinien być potencjometr, albo chociaż rezystor…
    Bez urazy, ale moim zdaniem wpis szkodliwy, bo ktoś wejdzie na tą stronę, przejrzy projekt i nie zaglądając w komentarze podłączy układ tak jak to pokazałeś, pięknie smażąc sobie moduł za 80zł. (o zasilaniu mikrokontrolera nawet nie będę już wspominał)

    Odpowiedz
    • napięcie 5V nie uszkadza czujnika, potencjometr można ominąc gdy nie jest potrzebny, układ działa i jakoś nic się z nim nie dzieję.

      Odpowiedz
      • “napięcie 5V nie uszkadza czujnika” – lepiej znasz budowę układu niż jego producent? imponujące. polecam lekturę noty katalogowej wykorzystanego przez Ciebie układu:
        https://www.sparkfun.com/datasheets/Components/General/BST-BMP085-DS000-05.pdf
        strona 7, tabela 2 “Absolute maximum ratings”, wiersz 2 “Supply voltage (on all pins) MAX: +4.25V”
        przy czym jest to maksymalne napięcie, jakie można podać na dowolną nóżkę – w innym miejscu (strona 6, tabela 1, wiersz 2) znajduje się wyraźna informacja, że maksymalne dopuszczalne napięcie zasilania to 3.6V.

        “układ działa i jakoś nic się z nim nie dzieję” – gratuluję, że się nic nie dzieje – masz po prostu dużo szczęścia. polecam notę katalogową mikrokontrolera ATmega328 (pozwolisz, że nie podam konkretnych stron) w której znajdują się informacje informujące o KONIECZNOŚCI stosowania filtrowania napięcia zasilania, podłączania WSZYSTKICH pinów odpowiedzialnych za zasilanie układu i podciągnięciu pinu reset do zasilania przez rezystor.
        jeżeli nie chce Ci się wertować noty mikrokontrolera, to przeczytaj chociaż ten artykuł, do którego link już gdzieś tutaj w komentarzach się pojawił:
        http://mikrokontrolery.blogspot.com/2011/04/minimalne-podlaczanie-pinow.html

        i drobna uwaga (już poza “konkursem”) – każdy ma prawo popełniać błędy (też to często robię), ale jeżeli ktoś zwraca Ci na nie uwagę to należy umieć się do nich przyznać, a nie dalej brnąć.
        jako “Uczeń Technikum Informatycznego” powinieneś być otwarty na nową wiedzę i uwagi, a nie uważać się za alfę i omegę.

        Odpowiedz
        • toż luzuj, napisałem że u mnie nic nie powoduje napięcie 5V. Może uszkodzić a nie musi, nie wiem gdzie udałem alfe i omege ale ok.

          Odpowiedz
  • Jest jakiś w miarę prosty sposób na bezprzewodowy odczyt temperatury? Cholernie by mi się coś takiego przydało, żeby mieć podgląd temperatury z kotłowni w salonie.

    Odpowiedz
  • Witam,

    Jak już ktoś wcześniej zauważył układ BMP085 należy zasilić 3.3V, ale również magistrala I2C również musi działać na poziomie 3.3V! Do tego celu należy użyć konwertera logicznego np. https://nettigo.pl/products/126.

    Tak więc artykuł wymaga jeszcze kilku poprawek.

    Pozdrawiam,


    malebranchi

    Odpowiedz
  • DZIWIĘ SIĘ ŻE POSZŁO TO NA GŁÓWNĄ Z TYLOMA BŁĘDAMI.
    Kilka komentarzy jest już na temat zasilania tego układu i mikroprocesora więc nie będę się powtarzał. Moim zdaniem moderatorzy tej strony powinni postawić jasne sprawo: albo poprawić zasilanie albo wylatuje do kosza..

    Odpowiedz
  • Wykonałem ten projekt, ale po pierwsze użyłem bibliotek producenta do obsługi BMP085, zmodyfikowałem tylko program wyświetlający odczytane dane w konsoli do wyświetlania ich na LCD. Dodatkowo zrobiłem układ zasilania dla poziomu 5V pod ATmegę i 3.3V do czujnika. Wszystko działa luks torpeda

    Odpowiedz

Odpowiedz

anuluj

Masz uwagi?