Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Arduino Zegar +temperatura+wilgotność

06 Kwi 2019 00:50 1488 25
  • Poziom 9  
    Witam
    Proszę o pomoc w dopracowaniu zegara opartego na schemacie i kodzie załączonym do posta.
    Jasność wyświetlacza jest bardzo słaba , z uwagi na zastosowanie 3 Led na segment i wyświetlacza DIY.


    Arduino Zegar +temperatura+wilgotność

    Oraz:

    Może ktoś kto się zna na Arduino pomoże mi skonstruować zegar oparty na
    Arduino /DHT11-22/ i RTC DS3231 z wyświetlaczem opartym na WS2812b
    załączyłem kod sketch_kol...D_Aray.rar Download (2.05 kB) ,
    jednak wartość temperatury pobierany jest z ds3231 i nie wiem jak zmienić na dht11
    do tego jeszcze konwersja na wyświetlanie na Led WS2812b to już dla mnie czarna magia.


    Będę wdzięczny za pomoc.

    Moderowany przez tmf:

    Proszę zakłądać tematy w odpowiednich działach. DIY nie służy do zadawania tego typu pytań.

    :
  • Poziom 31  
    Popraw schemat bo wielu wartości i oznaczeń elementów nie możńa odczytać.
    Jasność wyświetlacza nie jest słaba ale spowodowana mają wydajnością wyjść rejestru przesuwnego.
    Po co rejestry skoro jest dużo niewykorzystanych pinów płytki ArduinoNano?
    Po co NE555 skoro można zrobić to przez AVR?
    Oznaczenia portów (np "IN0" przy NE555, "D0" do "D4" przy IC2 i wiele innych) są złe. Symbol strzałki sugeruje, że to wejścia a to są wyjścia. Takich błędów jest bardzo dużo i utrudniają analizę schematu.

    robarco napisał:
    z wyświetlaczem opartym na WS2812b

    Ile LED będzie miał wyświetlacz?

    robarco napisał:
    jednak wartość temperatury pobierany jest z ds3231 i nie wiem jak zmienić na dht11 do tego jeszcze konwersja na wyświetlanie na Led WS2812b to już dla mnie czarna magia.

    Patrząc całościowo na problemy jakie masz zacznij od kursu Arduino bo bezmyślnie skopiowałeś jakiś projekt z Internetu i nawet nie wiesz jak się zabrać za jego modyfikację.
    Naucz się też rysować schematy.
  • Poziom 31  
    robarco napisał:
    i nie wiem jak zmienić na dht11

    DTH nie ma rezystora podciągającego. Symbol portu oczywiście zły, powinny być strzałki w obie strony.
  • Poziom 9  
    Dziękuje za fale krytyki.
    Nie zamierzałem uczyć się programowania i elektroniki żeby zrobić zegarek.

    Kod jak i schemat oczywiście z internetu i stron poświęconych tematowi. (Niestety z 2016r)
    Niestety nie znalazłem nigdzie odpowiedniego projektu w którym wyświetlanie czasu/temp/wilgotności było by realizowane przez WS2812b
    Wszystko co znalazłem to cas i temperatura - brak jest wilgotności.
    . Więc postanowiłem zapytać tutaj.
    Zegar o którym mowa zbudowany na podstawie schematu oraz kodu , działa lecz jasność LED pozostawia wiele do życzenia.
    Dla tego właśnie problem staram sie rozwiązać tutaj.
  • Poziom 43  
    robarco napisał:
    Wszystko co znalazłem to cas i temperatura - brak jest wilgotności.
    . Więc postanowiłem zapytać tutaj.


    Tak ale kilkoma zdaniami nikt nie pomoże ci.
    Tu trzeba dopisać kod obsługujący wilgotność i zmienić hardware dla jaśniejszego wyświetlania.
    Czyli praktycznie wszystko do zmiany.

    Znajdź lepszy projekt.

    Dodano po 58 [sekundy]:

    robarco napisał:
    Szkoda twojego czasu

    Oj żebyś wiedział tylko jak szkoda..........
  • Pomocny post
    Poziom 39  
    Strumien swiadomosci swia napisał:
    zmienić hardware dla jaśniejszego wyświetlania.

    A tu jeszcze jakiś tajemniczy wyświetlacz na ws2812b
    robarco napisał:
    do tego jeszcze konwersja na wyświetlanie na Led WS2812b to już dla mnie czarna magia.


    Gdybym miał się zabrać za coś takiego to potrzebował bym maksimum informacji o wyświetlaczu
    bo w przypadku WS2812 hardware redukuje się do minimum a program się rozrasta.

    Co do samego projektu
    - wilgotność - użył bym DHT22 (szerszy zakres pracy) lub BME280 - wszak mam już I2C
    W obydwu przypadkach zmiany w programie są nieuniknione.

    Widzę dwie drogi dla autora
    - szukanie innego gotowca
    - zabranie się za naukę i stawianie konkretnych pytań przy podawaniu maksymalnej ilości informacji potrzebnej do rozwiązania problemu( jak np typ użytego wyświetlacza - by rozwiązać problem zbyt ciemnego świecenia.)
  • Poziom 9  
    tos18 napisał:
    Strumien swiadomosci swia napisał:
    zmienić hardware dla jaśniejszego wyświetlania.

    A tu jeszcze jakiś tajemniczy wyświetlacz na ws2812b
    robarco napisał:
    do tego jeszcze konwersja na wyświetlanie na Led WS2812b to już dla mnie czarna magia.


    Gdybym miał się zabrać za coś takiego to potrzebował bym maksimum informacji o wyświetlaczu
    bo w przypadku WS2812 hardware redukuje się do minimum a program się rozrasta.

    Co do samego projektu
    - wilgotność - użył bym DHT22 (szerszy zakres pracy) lub BME280 - wszak mam już I2C
    W obydwu przypadkach zmiany w programie są nieuniknione.

    Widzę dwie drogi dla autora
    - szukanie innego gotowca
    - zabranie się za naukę i stawianie konkretnych pytań przy podawaniu maksymalnej ilości informacji potrzebnej do rozwiązania problemu( jak np typ użytego wyświetlacza - by rozwiązać problem zbyt ciemnego świecenia.)



    Czyli całość projektu nie nadaje się do zastosowania dla wyświetlacza który ma segmenty z 3 LED
    Zatem co myślisz o schemacie :
    Arduino Zegar +temperatura+wilgotność
  • Poziom 39  
    robarco napisał:
    Czyli całość projektu nie nadaje się do zastosowania dla wyświetlacza który ma segmenty z 3 LED

    Całość tak - ale jest to do poprawienia.
    Problemem są parametry wyświetlacza i wydajność prądowa wyjść.
    robarco napisał:
    Zatem co myślisz o schemacie :

    Tu autor przewidział dodatkowy prąd dla Anod ale bez parametrów wyświetlacza wciąż gdybamy.

    Musisz wiedzieć jedno - Wyświetlacz sterowany sekwencyjne ( a takie jest sterowanie w projektach które przedstawiasz) będzie świecił n razy ciemniej niż taki sam wyświetlacz sterowany statycznie
    gdzie n to liczba użytych cyfr.
    Aby to skompensować wyświetlacz zasilany jest n razy większym prądem - i na taki prąd muszą być zaprojektowane elementy sterujące.

    Teraz weź swój projekt i oblicz prąd pojedynczego segmentu wyświetlacza a następnie sprawdź czy 74HC595 jest w stanie taki prąd przyjąć( tu przyda się nota katalogowa 74HC595)

    Zmierzam do tego że diabeł tkwi w szczegółach - nie ma jakiegoś wyświetlacza jest konkretny i ma swoje parametry.
    - napięcie przewodzenia segmentu - zależne chociażby od koloru
    - prąd ciągły segmentu
    - prąd impulsowy i czas w jakim może go wytrzymać
    - jasność segmentu przy parametrach znamionowych


    do tego dobiera się elementy wykonawcze by uzyskać maksymalną jasność i nie spalić wyświetlacza lub drivera.

    popatrz na ten szkic
    Arduino Zegar +temperatura+wilgotność
    Tu duże wyświetlacze mają 12cm a całość potrzebuje 27V zasilania
  • Poziom 9  
    Więc wyświetlacz jest zbudowany z 21 LED 5mm Czerwone - po 3 Led-y na segment połączone równolegle + rezystor 120R jak na 1szym schemacie.
    Obciążalność wyjścia 74hc595 to 70mA

    Pin 8 of Arduino (Clock)
    Pin 9 of Arduino (Latch)
    Pin 10 of Arduino (Data)

    Czy nie można zastosować TPIC6C596 i odpowiednio 7 segment 3 led równolegle +rezystor ??
  • Poziom 39  
    ok więc gdybamy dalej
    wyświetlacz czerwony - zazwyczaj 1,7V (jak jest u Ciebie nie wiem)
    5V - 1,7V = 3,3V /spadek napięcia na rezystorze. driver na razie pomijam
    prąd na segment 3,3/120 = 0,0275A (27,5mA) - tyle przyjmuje driver na jeden segment
    Jaki prąd znamionowy ma twój wyświetlacz ?
    A teraz anody - prąd segmentu x7 wszak tyle będzie przy zapalonej cyfrze 8 27,5x7 = 192mA co na to driver anod ?(IC2) nie jest mu ciepło ?

    tymczasem czytając notę aplikacyjną HC595 w rozdziale 10.2.2
    czytamy że zalecany prąd dla jednego wyjścia nie powinien przekroczyć 35mA pod warunkiem że dla CAŁEGO układu nie przekroczymy 70mA
    http://www.ti.com/lit/ds/symlink/sn74hc595.pdf

    Zauważ że nie uwzględniłem 4x zwiększenia prądu dla pracy sekwencyjnej.
    Wniosek drivery trzeba wymienić na inne lub dobudować im dodatkowe stopnie
    Następnie przeliczyć wartości rezystorów dla nowych warunków.

    Na początek jednak dobudował bym drivery tylko dla anod
    dokładając układ z tranzystorów wg drugiego projektu który przedstawiłeś
    Przy użyciu tranzystorów BC547 i BC327

    W następnym etapie zmienił bym HC595 na TPIC ale tylko IC1 oraz bc327 na coś większego

    Cytat:
    Czy nie lepiej było by zastosować TPIC6C596 i podłączyć zamiast 74HC595 i zasilać ledy 12V 3 równolegle z rezystorem ??

    W tym projekcie problem to wydajność prądowa - podwyższanie napięcia sprawi że będzie więcej mocy na straty w rezystorach. Sytuacja wyglądała by inaczej gdyby diody w segmencie połączone były szeregowo.

    Nie podajesz parametrów wyświetlacza który masz ani jego typu
    Więc gdybam.
  • Poziom 37  
    robarco napisał:
    Dziękuje za fale krytyki.
    Nie zamierzałem uczyć się programowania i elektroniki żeby zrobić zegarek.


    Bardzo trafna i logiczna konkluzja!
    Jeżeli jednak chcesz pic własnej produkcji wino lub piwo, to musisz wiedziec jak to robic, inaczej narobisz octu.
    Kto to zechce wtedy wypic....?

    Niemniej jednak przeglądnij te niżej kilka Y/T vid-clips:
    https://www.youtube.com/watch?v=7xED-glVd_8

    https://www.youtube.com/watch?v=cum6YLNeH-4

    https://www.youtube.com/watch?v=LojGHyBFE8Q
    Może się do czegoś przydadzą, bo jak dotychczas to strasznie błądzisz... ("robisz ocet").

    e marcus
  • Poziom 9  
    emarcus napisał:
    robarco napisał:
    Dziękuje za fale krytyki.
    Nie zamierzałem uczyć się programowania i elektroniki żeby zrobić zegarek.


    Bardzo trafna i logiczna konkluzja!
    Jeżeli jednak chcesz pic własnej produkcji wino lub piwo, to musisz wiedziec jak to robic, inaczej narobisz octu.
    Kto to zechce wtedy wypic....?

    Niemniej jednak przeglądnij te niżej kilka Y/T vid-clips:
    https://www.youtube.com/watch?v=7xED-glVd_8

    https://www.youtube.com/watch?v=cum6YLNeH-4

    https://www.youtube.com/watch?v=LojGHyBFE8Q
    Może się do czegoś przydadzą, bo jak dotychczas to strasznie błądzisz... ("robisz ocet").

    e marcus



    Dziękuję za filmy.
    A więc zegarki spoko tylko że właśnie 2 i 3 projekt już zrealizowałem sobie i właśnie oparte są na ws2812b
    I brak im odczytu wilgotności.
    Na którym mi zależy.
    Więc wracając do wcześniejszego posta. Wyświetlacz który wykonałem.:
    Jest schemat w pierwszym poście.
    https://www.thingiverse.com/thing:1028309
    Arduino Zegar +temperatura+wilgotność

    Każdy segment składa się z 3 LED 5mm czerwonych 2.0V/20mA czyli oglądając film YT 1 projekt powinienem uzyskać efekt zadowalający. A mam ledwo świecące LED-y

    Dodano po 3 [godziny] 26 [minuty]:

    Arduino Zegar +temperatura+wilgotność

    Czy dobrze kombinuje ???
  • Poziom 39  
    Widzę że zaczynamy konkretnie.
    3 ledy 20mA połączone równolegle dają 60mA na segment przy pracy statycznej. Przy pracy sekwencyjnej driver musi dać 240mA na segment. Więc TPIC6B596(TPIC6C596 będzie za słaby) choć ja użył bym kombinacji 74HC595 i ULN2003/wymaga zmian w programie
    Driver anody musi być projektowany na 1700mA !!!


    Rezystor 560 przy każdym segmencie ma za dużą wartość. Przelicz dla 240mA
    TPIC nie nadaje się na driver anod gdyż ma tranzystory z otwartym drenem
    Zostaw tam hc595 i dobuduj stopnie tranzystorowe. Tranzystor PNP musi wytrzymać przynajmniej 2A


    Rozważ przebudowę wyświetlacza i szeregowe połączenie ledów w segmencie.Zdecydowanie zmieniło by to warunki pracy dając 3x mniejsze prądy przy napięciu zasilania około 9V

    Filmik 1 z YT
    Autor nie ogranicza niczym prądu ledów - loteria (widać przygasające segmenty przy zapalaniu kolejnych)
    Autor stosuje wyświetlanie statyczne - Ty sekwencyjne
  • Poziom 9  
    tos18 napisał:
    Tak
    Tu masz statycznie wyświetlaną jedną cyfrę.
    zamiast hc595 i uln wystarczył by TPIC.

    Układ dobrze nadaje się do wyświetlania sekwencyjnego jako driver katod


    Zatem sterowanie katod było by poprzez TPIC a co z anodami , czy sam hc595 wystarczy ??
  • Pomocny post
    Poziom 39  
    Czy chcesz użyć tego wyświetlacza ?
    Na początek sprawdź jak jasno świeci jedna dioda zasilana statycznie czyli przez rezystor do zasilania. Dla zasilania 5V i 20mA i diody 2V rezystor będzie miał jakieś 150Ω. Czy taka jasność wystarczy ?

    robarco napisał:
    a co z anodami , czy sam hc595 wystarczy ??

    Wybacz odnoszę wrażenie że nie czytasz tego co piszę.

    tos18 napisał:
    Zostaw tam hc595 i dobuduj stopnie tranzystorowe. Tranzystor PNP musi wytrzymać przynajmniej 2A

    tos18 napisał:
    A teraz anody - prąd segmentu x7 wszak tyle będzie przy zapalonej cyfrze 8


    jeszcze raz reguły:
    Jeśli chcesz by wyświetlacz sekwencyjny świecił tak samo jasno jak statyczny to prąd segmentu należy pomnożyć przez ilość cyfr gdyż dany wyświetlacz świeci przez 1/n czasu
    gdzie n to liczba cyfr (u Ciebie n=4)
    Driver anod w wyświetlaniu sekwencyjnym musi oddać 7x prąd segmentu

    Pytania:
    Jaki jest spadek napięcia na segmencie (jakiego napięcia potrzebuje segment) ?
    Jaki jest prąd segmentu ?
    Jaki prąd segmentu będzie potrzebny przy pracy sekwencyjnej ?
    Jaki będzie potrzebny prąd drivera anod ?
    Jakie napięcie będzie musiał załączać driver anod ?
  • Pomocny post
    Poziom 31  
    tos18 napisał:
    Zostaw tam hc595 i dobuduj stopnie tranzystorowe.

    Czemu upieracie się przy dodatkowych rejestrach? Arduino ma wystarczającą ilość GPIO aby nie stosować dodatkowych rejestrów.
    Aby dobrze zrobić multipleksowanie z rejestrami timer musi inicjować transmisję spi, która oczywiście działa na przerwaniach. To ma zrobić początkujący? Tego to często nie potrafią osoby programujące AVR od kilku lat.

    Gdy dodatkowe rejestry, połączone szeregowo, sterują zarówno anody i katody mogą pojawić się cienie. W takiej sytuacji trzeba najpierw wyłączyć anody a w kolejnej transmisji ustawić anody i katody. Niepotrzebne dodatkowe transmisje. Aby taki nierozsądny system usprawnić pierwszy rejestr powinien sterować anodami, drugi katodami. Na schemacie jest na odwrót.
    Nikt o tym nie napisał!

    Aby zadanie zrealizować w prosty sposób, katody powinny być sterowane z GPIO przez driver, anody z GPIO przez tranzystory lub driver.
  • Poziom 9  
    Arduino Zegar +temperatura+wilgotność

    Dodano po 18 [minuty]:

    Oraz dla ułatwienia. Bo chce tylko zegarek. A z tej dyskusji rozumiem jakieś 50% postów.
    Jak pisałem jestem laikiem z tej dziedziny , a temat idzie już w stronę za awansowanej elektroniki lub Tak mi sie wydaje.
    Więc:
    Szukałem sporo w internecie i jest pełno zegarów które wskazuja czas+temperatura.
    Niestety nie wiem czemu co do wilgotności jest znikoma ilość.
    A zatem żeby nie przedłużać tematu
    Potrzebny mi zegar wyświetlający czas,temperature i wilgotność.

    Jeśłi ktoś chciał by skonstruować w/w zegar Prosze o kontakt na prv.
    I omówimy detale.
    ***Najlepiej żeby ograniczyć ilość podzespołów elektronicznych oparty na Arduino i wyświetlaczu NeoPixel WS2812b z czujnikiem zewnętrznym DHT22

    Bo jak widzę to jest wielu teoretyków, praktyków inzynierów i doradców.
    Jednak nikt nie zwrócił uwagi na fakt że jestem początkującym. (poza ostatnim postem -Dziękuję za zwrócenie uwagi na ten istotny fakt)
    Ja jestem inżynierem ale gazownictwa i z elektroniką mam nie wiele wspólnego.

    Mimo wszystko dziękuje za wszystkie posty , nigdy nie jest za późno na naukę i poszerzanie swojej wiedzy.

    Dodano po 4 [minuty]:

    tos18 napisał:
    Czy chcesz użyć tego wyświetlacza ?
    Na początek sprawdź jak jasno świeci jedna dioda zasilana statycznie czyli przez rezystor do zasilania. Dla zasilania 5V i 20mA i diody 2V rezystor będzie miał jakieś 150Ω. Czy taka jasność wystarczy ?

    robarco napisał:
    a co z anodami , czy sam hc595 wystarczy ??

    Wybacz odnoszę wrażenie że nie czytasz tego co piszę.

    tos18 napisał:
    Zostaw tam hc595 i dobuduj stopnie tranzystorowe. Tranzystor PNP musi wytrzymać przynajmniej 2A

    tos18 napisał:
    A teraz anody - prąd segmentu x7 wszak tyle będzie przy zapalonej cyfrze 8


    jeszcze raz reguły:
    Jeśli chcesz by wyświetlacz sekwencyjny świecił tak samo jasno jak statyczny to prąd segmentu należy pomnożyć przez ilość cyfr gdyż dany wyświetlacz świeci przez 1/n czasu
    gdzie n to liczba cyfr (u Ciebie n=4)
    Driver anod w wyświetlaniu sekwencyjnym musi oddać 7x prąd segmentu

    Pytania:
    Jaki jest spadek napięcia na segmencie (jakiego napięcia potrzebuje segment) ?
    Jaki jest prąd segmentu ?
    Jaki prąd segmentu będzie potrzebny przy pracy sekwencyjnej ?
    Jaki będzie potrzebny prąd drivera anod ?
    Jakie napięcie będzie musiał załączać driver anod ?


    Ciężko mi powiedzieć bo jestem amatorem ale jak mi powiesz jak to policzyć to odpowiem z chęcią na twoje pytania.

    Dodano po 10 [godziny] 32 [minuty]:

    Po zastosowaniu tranzystorów BC327 i sygnał przez 1kom ,
    jasność jest juz OK ale na wyświetlaczu dziwne cyfry.
    Czyli coś nie tak.
    Zamiana na 2n3904 pomogło i teraz jest w miarę OK


    Zatem dziękuje za pomoc.
  • Poziom 39  
    robarco napisał:
    Po zastosowaniu tranzystorów BC327 i sygnał przez 1kom ,
    jasność jest juz OK ale na wyświetlaczu dziwne cyfry.
    Czyli coś nie tak.
    Zamiana na 2n3904 pomogło i teraz jest w miarę OK



    Spróbuj tak jak pokazałeś w #8
    Arduino Zegar +temperatura+wilgotność
  • Poziom 9  
    Niestety narazie efekt jest taki że brakło mi układów do testów.
    Nowe dotra po świętach.
    Czy przy zastosowaniu schematu :
    Arduino Zegar +temperatura+wilgotność

    Chciał bym zastosować wyświetlacze SA23-11SRWA
    I teraz muszę dobrać elementy do

    Zasilanie 7 seg:
    7.2-9.0V
    30mA segment
    W planie wykorzystanie układów :
    ULN2803- Sterowanie Anod
    UDN2982 - Sygnał segmentów.

    i wykorzystanie informacji z art.:
    https://www.elektroda.pl/rtvforum/topic3385893.html

    Będę wdzięczny za wszelką pomoc.
  • Poziom 31  
    robarco napisał:
    Czy przy zastosowaniu schematu :

    Sterowanie Anod bezpośrednio z GPIO to zły pomysł.
    Ile WS2812 chcesz użyć?
  • Poziom 9  
    LChucki napisał:
    robarco napisał:
    Czy przy zastosowaniu schematu :

    Sterowanie Anod bezpośrednio z GPIO to zły pomysł.
    Ile WS2812 chcesz użyć?


    W tej opcji do schematu wyżej chciałem podłączyc wyświetlacz 7 seg.
    Tyle że jest to 2.5" SA23-11SRWA wyświetlacz i musi być zasilany 7.2-9.0 V 30mA segment
    Więc chciałem zrobić sterowanie Anod przez ULN2803 a segmenty z GPIO poprzez A2982
    Jedynie zastanawiam sie czy przy wyświetleniu 8888 całego wyświetlacza nic sie nie stanie z układem A2982 który ma max 500mA
    A 28 segmentów przy 30mA = 840mA

    I teraz staram się ogarnąć ten temat. Bo im więcej szukam tym więcej mam namieszane.
    Pomysłów na wyświetlacze diy jest chyba tyle co i konstruktorów.
    Jednak Testowałem już kilka rozwiązań i nadal nie mogę znaleść jakiegoś normalnego rozwiązania.
    Więc teraz testuję konstrukcję która pomoże mi uzyskać większą obciążalność wyjść GPIO
    I sterować wyświetlaczem 7 segmentowym o jak największej liczbie LED

    Więc Zegar który miał być docelowo na zewnątrz i posiada 3 LED na segment jeśli jest w nasłonecznionym miejscu nie widać nic.
    Za to w nocy działa jak lampka ogrodowa.


    A jeśli chodzi o WS8212b to zegar+temperatura działa OK
  • Poziom 31  
    robarco napisał:
    Jedynie zastanawiam sie czy przy wyświetleniu 8888 całego wyświetlacza nic sie nie stanie z układem A2982 który ma max 500mA
    A 28 segmentów przy 30mA = 840mA

    W danej chwili, prąd może płynąc tylko przez jeden wyświetlacz więc 30mA * 8.