Elektroda.pl
Elektroda.pl
X

Wyszukiwarki naszych partnerów

Wyszukaj w ofercie 200 tys. produktów TME
Kategoria: Kamery IP / Alarmy / Automatyka Bram
Montersi
Proszę, dodaj wyjątek elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Stacja meteorologiczna na atmega328

DarkMajster 13 Lip 2017 02:04 4647 11
  • Stacja meteorologiczna na atmega328
    Witam!

    Pragnę zaprezentować mój projekt stacji meteorologicznej, choć nie wiem czy to dobra nazwa, w każdym razie jest to urządzenie, które :
    - pokazuje nam temperaturę i wilgotność z trzech czujników DHT22
    - ciśnienie z czujnika BMP180
    - ma regulowaną jasność podświetlenia wyświetlacza LCD za pomocą enkodera i wywoływanego menu.
    - pokazuje słupkowo jak obecna wartość ciśnienia ma się do wartości sprzed godziny, trzech, sześciu, dwunastu i osiemnastu godzin.

    Jakie były założenia?

    Przede wszystkim dobra zabawa przy elektronice, a także nauka lutowania, tworzenia płytek, programowania oraz stworzenie użytecznego urządzenia.

    Wszystko kontroluje procek atmega328 z bootloaderem arduino.
    Użyłem wyświetlacza EA DIP203G-4, o którego obsługę pytałem na forum, a okazało się, że jest kompatybilny prawie w 100% z hd44780. Problemem były PROFESJONALNIE WYKONANE przejściówki z rastra 2mm na 2,54, w którym jeden z pinów nie kontaktował.

    A oto i one:
    Stacja meteorologiczna na atmega328

    hihi

    Brak kompatybilności z hd44780, który znalazłem to symbol stopnia (°), znajdziemy go jako (char)128 w kontrolującym wyświetlacz układzie SSD1803.

    Sam wyświetlacz działa na logice 3,3V, przez co na płytce PCB znalazł się stabilizator napięcia, oraz 6 dzielników złożonych z rezystorów o wartościach w stosunku 1:2.

    W stacji jest także moduł czasu rzeczywistego na bazie układu DS1307, który niestety trochę ucierpiał na długości po mojej zabawie z nim.
    Stacja meteorologiczna na atmega328

    No cóż, wojna wymaga poświęceń!

    Pisanie kodu trochę mi zajęło, efekt końcowy zamieszczam w załącznikach, zamierzam go jeszcze przerabiać, gdyż myślę, że można to zrobić lepiej.

    Wykonałem trzy płytki z czujnikami, które umieściłem w obudowach Z-47U.

    Stacja meteorologiczna na atmega328

    Jeżeli ktoś pragnął kiedyś widzieć wytrawianie w przyśpieszonym tempie - proszę bardzo! Przyśpieszenie ~100x











    A także płyteczkę (bo płytka to za dużo powiedziane :D) pod enkoder.
    Stacja meteorologiczna na atmega328

    Przejdźmy więc nareszcie do głównej płytki PCB, założeniem było zmieszczenie jej w szerokości i wysokości wyświetlacza, co niestety się nie udało, mimo że po zrobieniu jej widzę, jak to można by zrobić... wystaje ona minimalnie poza obręb wyświetlacza, którego wymiary to zaledwie 68 x 27 mm.

    Płytka wykonana metodą z acetonem i alkoholem izopropylowym. Efekty tej metody są całkiem niezłe.
    Oto płytka po trawieniu.

    Stacja meteorologiczna na atmega328

    Kompletnym przypadkiem słabo wyszło mi zdjęcie z drugiej strony, co absolutnie nie ma związku z tym, że lekko przesunąłem papier i nie trafiłem idealnie w dziury.
    Stacja meteorologiczna na atmega328

    Po wyszlifowaniu i polakierowaniu kalafonią prezentuje się następująco.
    Stacja meteorologiczna na atmega328

    Gdzieś zapodziało się zdjęcie drugiej strony (Jak mogło do tego dojść?)
    Następnie polutowałem elementy, których w sumie za dużo to nie było ze względu na procesor, potem kabelki do czuników, enkodera, zasilania no i na koniec sam wyświetlacz. Kontrast został wyregulowany przez rezystor 470 ? podpięty do 3,3V

    Stacja meteorologiczna na atmega328 Stacja meteorologiczna na atmega328


    Tak działa menu na enkoderze:










    A tak prezentuje się główny ekran jeszcze na wersji pierwotnej, czyli na płytce, w której nie ograniczałem sobie wielkości owej, widać tutaj jak ciśnienie zmieniało się w ciągu ostatnich 18 godzin oraz jak pokazane są temperatura i wilgotność powietrza.
    Stacja meteorologiczna na atmega328

    A to obecny.

    Stacja meteorologiczna na atmega328

    Myślę, że spełniłem moje założenia, a płytka i cały projekt wyszedł całkiem nieźle.
    Pozostało tylko rozwiesić czujniki (kable w ścianach są ;) ) włożyć do jakiejść obudowy, i używać!

    Z chęcią poczytam porady dotyczące kodu.

    W załączniku:
    - kod źródłowy dla procucha
    - projekt głownej płytki w eaglu
    - schemat tej płytki w eaglu (radze nie otwierać, bo robiony tylko po to, żeby łatwiej łączyć na PCB, ostrzegam!)
    - biblioteki użyte w kodzie


    Fajne!
  • #2 13 Lip 2017 08:17
    tomus2k
    Poziom 22  

    DarkMajster napisał:
    Witam!

    W stacji jest także moduł czasu rzeczywistego na bazie układu DS1307, który niestety trochę ucierpiał na długości po mojej zabawie z nim.
    ....No cóż, wojna wymaga poświęceń!

    Zamiast "wojować" i jak potrzeba tylko zegarka.
    Warto użyć modułu o nazwie DS3231 for PI. Jest naprawdę mini, kompatybilny z DS1307 i dokładniejszy.
    https://elty.pl/pl/p/Mini-RTC-Module-for-Raspberry-Pi-DS3231/958

  • #3 13 Lip 2017 08:18
    R-MIK
    Poziom 35  

    DarkMajster napisał:

    Brak kompatybilności z hd44780, który znalazłem to symbol stopnia (°), znajdziemy go jako (char)128 w kontrolującym wyświetlacz układzie SSD1803.

    O jakiej kompatybilności piszesz? Znaku stopnia niema w podstawowej tablicy kodów ASCII i może on być ale nie musi umieszczony w ROM sterownika. To jakie znajdą się tam znaki zależy od zamawiającego/producenta.

    Co do znaków, to jaki był problem aby nie pisać "BLAD" tylko "BŁĄD"? To samo "DWOR", "JASNOSC", skoro "GARAŻ" udało się.

  • #4 13 Lip 2017 12:23
    DarkMajster
    Poziom 4  

    R-MIK napisał:
    Co do znaków, to jaki był problem aby nie pisać "BLAD" tylko "BŁĄD"? To samo "DWOR", "JASNOSC", skoro "GARAŻ" udało się.

    Akurat tam jest garaz, zamiast garaż :D

    A co do reszty:
    Stacja meteorologiczna na atmega328

  • #5 13 Lip 2017 12:31
    R-MIK
    Poziom 35  

    DarkMajster napisał:
    R-MIK napisał:
    Co do znaków, to jaki był problem aby nie pisać "BLAD" tylko "BŁĄD"? To samo "DWOR", "JASNOSC", skoro "GARAŻ" udało się.

    Akurat tam jest garaz, zamiast garaż :D

    O tym:
    Stacja meteorologiczna na atmega328
    pisałem.
    Pewnie autor napisze, ze ma tylko 8 własnych znaków do dyspozycji. Ja ma ponad 30 definicji własnych znaków i jakoś to mi działa.

  • #7 13 Lip 2017 13:36
    R-MIK
    Poziom 35  

    DarkMajster napisał:
    Właśnie tam, w słowie garaz jest z - nie ż

    Fakt. W powiększeniu widać wyraźnie "Z" ale jak patrzyłem w normalnych rozmiarach wyglądało na "Ż" w poztaci Z z poziomom kreską

  • #11 14 Lip 2017 13:24
    R-MIK
    Poziom 35  

    Jawi_P napisał:
    R-MIK napisał:
    W powiększeniu widać wyraźnie "Z" ale jak patrzyłem w normalnych rozmiarach wyglądało na "Ż" w poztaci Z z poziomom kreską

    Właśnie też to tak zobaczyłem ;)

    "blad" w "piatek" "kazdy" "moze" "popelnic".

    W "profesjonalnym" sprzęcie płatnej szpitalnej TV "programista" zastąpił słowo wrzuć, słowem pchnij. ale na monetę nie miał pomysłu.
    Trochę to drażni, bo od 1997 roku używam wyświetlaczy znakowych i zawsze pisałem po polsku nawet w czasach 8051 i w assemblerze. Na C-64 także. Nie wiem w czym problem z tymi literkami.

 Szukaj w ofercie
Zamknij 
Wyszukaj w ofercie 200 tys. produktów TME