Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Woltomierz + Termometr sonda + LCD

ostronos 31 Dec 2021 11:19 918 8
  • #1
    ostronos
    Level 10  
    Witam,

    Chciałbym zbudować następującą rzecz, coś co ma ekran (fajnie jakby mogło wyświetlać grafikę) , do tego żeby wyświetlało mi co najmniej jedną temperaturę, gdzie czujnik byłby na kablu ok.5m i aktualne napięcie. Moje pytanie na czym coś takiego zbudować, jakich elementów użyć itp. Wszelkie podpowiedzi mile widziane. Gotowca nie znalazłem (tzn. są ale wyświetlacz nie do końca mi odpowiada).
    Wizualnie chciałbym uzyskać coś podobnego:
    Woltomierz + Termometr sonda + LCD
    Nie mam za bardzo sprzętu i umiejętności do lutowania płytek itp, dlatego dobrze gdyby można coś było po prostu "wpinać".
  • #2
    ArturAVS
    Moderator of HydePark/Cars
    ostronos wrote:
    Nie mam za bardzo sprzętu i umiejętności do lutowania płytek itp, dlatego dobrze gdyby można coś było po prostu "wpinać".

    Np. Arduino + DS18B20+ wyświetlacz oraz trochę zdolności programistycznych. Tego niestety nie przeskoczysz.
  • #3
    Kuniarz
    Moderator of Designing
    ostronos wrote:
    Nie mam za bardzo sprzętu i umiejętności do lutowania płytek

    Czyli masz trzy drogi:

    - rozpocząć przygodę z projektowaniem elektroniki, programowaniem mikrokontrolerów, lutowaniem i majsterkowaniem - to zajmie kilka miesięcy
    - zlecić projekt tu na forum - to będzie kosztować dajmy na to tysiąc lub dwa PLN
    - kupić coś podobnego i machnąć ręką że nie jest idealne ;-) - max stówa.
  • #4
    paweliw
    IT specialist
    ostronos wrote:
    Nie mam za bardzo sprzętu i umiejętności do lutowania płytek itp, dlatego dobrze gdyby można coś było po prostu "wpinać".

    To chyba zostaje tylko zakup gotowego zestawu.
    Jest tego mnóstwo, zależy od rozmiaru, obsługiwanych czujników, miejsca zakupu itp. wystarczy wpisać w google i poszukać.
    Sam ostatnio potrzebowałem prostego wyświetlacza temperatury, czasu i napięcia i zamówiłem to: https://pl.aliexpress.com/item/32962463020.html?spm=a2g0o.9042311.0.0.27425c0fRBs5Az
    Dla moich potrzeb wystarczające.
  • #5
    _jta_
    Electronics specialist
    Do Arduino znajdziesz przykłady programów, albo biblioteki obsługujące czujnik temperatury, pomiar napięcia (wykorzystując ADC), wyświetlacz - pozostaje złożyć to w całość. Trzeba zwrócić uwagę np. na obsługę DS18B20 - wysyła mu się polecenie, żeby zaczął pomiar, a po jakimś czasie można odczytać wynik - procedura nie może czekać w pętli na ten odczyt, tylko musi pozwolić na wykonywanie innych procedur - to wymaga odpowiedniej techniki pisania programu. W sumie tego będzie może ze 100 linii.

    Pod względem elektrycznym trzeba zadbać o dopasowanie poziomów napięć - coś ma sygnały cyfrowe do 3,3V, coś innego do 5V, potrzebny jest "level shifter"; do ADC potrzebny jest dzielnik, a poza tym masz tylko 10-bitowe (0-1023?), więc dokładność będzie taka sobie. Na ogół trzeba wlutować goldpiny w płytkę (bywają z wlutowanymi, ale są droższe).
  • #6
    Mimitron
    Level 20  
    Popełniłem podobny układ kilka lat temu do swojego Golfa IV.

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

    Pomiar napięcia, pomiar spalania( prosta sprawa wbrew pozorom ), powiadominie o nie włączonych światłach, sygnalizacja włączonego alarmu, pomiar temperatury wewnątrz i na zewnątrz. Sama elektronika to jeszcze nic trudnego. Ale tak jak pisze przedmówca, najważniejsze to napisać program w taki sposób żeby jedne procedury nie blokowały innych.
  • #7
    _jta_
    Electronics specialist
    Mimitron wrote:
    najważniejsze to napisać program w taki sposób żeby jedne procedury nie blokowały innych.

    Standardowo, program na Arduino zawiera funkcje init() i loop(). Pierwsza jest wywoływana raz na początku, druga w kółko.

    Jeśli ma działać wielozadaniowo, to dla każdego zadania pisze się odrębne init_1() i loop_1(), init_2() i loop_2(), itd. A następnie init() { init_1(); init_2(); ... } i loop() { loop_1(); loop_2(); ... }. Nie wolno używać opóźnień - zamiast tego return, i przy następnym wywołaniu sprawdzanie, czy czas opóźnienia już minął.

    Dość wygodny sposób pisania takich programów przedstawił Adam Dunkels w "protothreads" - z grubsza to polega na tym, że każda funkcja ma switch(control) { }, gdzie control jest tym, co zwrócił return przy poprzednim wywołaniu - w ten sposób return określa, skąd ma być wykonywanie przy następnym wywołaniu.
  • #8
    khoam
    Level 41  
    _jta_ wrote:
    Standardowo, program na Arduino zawiera funkcje init() i loop().

    setup() i loop()

    _jta_ wrote:
    Jeśli ma działać wielozadaniowo, to dla każdego zadania pisze się odrębne init_1() i loop_1(), init_2() i loop_2(), itd. A następnie init() { init_1(); init_2(); ... } i loop() { loop_1(); loop_2(); ... }.

    Co za bzdury. Tego się nie da nawet skomentować.
  • #9
    Citizen75
    Level 13  
    ostronos wrote:
    Gotowca nie znalazłem (tzn. są ale wyświetlacz nie do końca mi odpowiada).
    Zobacz tutaj. Dostępne są różne wersje tego rodzaju wskaźników. Podłącza się je pod złącze ODBII, a wskazania parametrów wyświetlane są na przedniej szybie samochodu.