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

Arduino - Jak zamienić String TP i CWU na int dla alarmu temperatury?

edek83 27 Mar 2015 21:39 4905 14
REKLAMA
  • #1 14567085
    edek83
    Poziom 10  
    Posty: 42
    Pomógł: 1
    Ocena: 9
    Panowie bardzo proszę o pomoc. ponieważ jestem początkujący nie mogę sobie z tym sam poradzić. Próbowałem już różnych sposobów. Znalezienie czegoś konkretnego w google też nie jest prostą sprawa.
    Chodzi mi by String TP i CWU zamienić na int by można było ustawić sobie alarm po przekroczeniu temperatury np:80 st.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • Pomocny post
    #2 14567230
    pimpuk
    Poziom 23  
    Posty: 438
    Pomógł: 49
    Ocena: 26
    Kod: text
    Zaloguj się, aby zobaczyć kod

    Tylko że string musi się składać tylko ze znaków cyfrowych (DIGIT), więc aby uniknąć błędu powinno to wyglądać miej więcej tak:
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #3 14584212
    edek83
    Poziom 10  
    Posty: 42
    Pomógł: 1
    Ocena: 9
    Pozmieniałem trochę w nadajniku i wysyła mi czysty wynik dwa razy po dwie cyfrowy.
    i dalej nie mogę tego zrozumieć jak zrobić int
    Kod: text
    Zaloguj się, aby zobaczyć kod

    jak zrobię tak to pozornie działa z tym, że odczyt temperatury jest z kosmosu tzn. jakieś dziwne zawyżone wartości.
    próbowałem również innych kombinacji ale nie udało mi się tego opanować.
    bardzo proszę o pomoc.
  • REKLAMA
  • Pomocny post
    #4 14584354
    pimpuk
    Poziom 23  
    Posty: 438
    Pomógł: 49
    Ocena: 26
    Musisz od początku opisać problem.
    1. Pokaż schemat.
    2. O jakim nadajniku Waść prawisz?
    3. Co to za czujnik?
    4. W jaki sposób czytasz dane z tego nadajnika?
    (Chaciałeś zmienić string na integer, a się okazuje, że masz zupełnie inny problem).
    Ale po kolei, najpierw odpowiedz na pytania.
  • #5 14584580
    edek83
    Poziom 10  
    Posty: 42
    Pomógł: 1
    Ocena: 9
    Witam.
    Jest to sterownik do pieca. po stronie nadajnika wszystko działa jak trzeba.
    jest tylko problem z odbiornikiem jak chce wynik podłożyć by mi się włączył np. buzzer przy jakiejś wybranej temp.
    jak widać poniżej jest to zrobione na RF 433 a czujniki to DS18B20
    tak jak pisałem przy takiej "konfiguracji odb. int jest i mogę go podłożyć ale wyniki są z kosmosu :(
    Tak wygląda nadajnik.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    A tak wygląda odbiornik.

    Kod: text
    Zaloguj się, aby zobaczyć kod


    do pełni szczęścia brakuje mi tylko takiej małej "pierdoł"
  • Pomocny post
    #6 14587810
    pimpuk
    Poziom 23  
    Posty: 438
    Pomógł: 49
    Ocena: 26
    Teraz powinno być dobrze.
    Nie mam aktualnie za bardzo czasu, ale jak będzie trzeba, to opiszę zmiany przeze mnie wprowadzone.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #7 14587828
    edek83
    Poziom 10  
    Posty: 42
    Pomógł: 1
    Ocena: 9
    Witam.
    Sprawdzę to jutro bo już trochę późno :)
    Jak by co dziękuje bardzo, dam znać czy działa :)

    I niestety jest problem taki sam jak z tym Link
    Druga temperatura jest wyświetlana w pierwszym i w drugim rzędzie :(
    Arduino - Jak zamienić String TP i CWU na int dla alarmu temperatury?
  • REKLAMA
  • #8 14593347
    pimpuk
    Poziom 23  
    Posty: 438
    Pomógł: 49
    Ocena: 26
    Zakomentuj sobie tą linijkę:
    Kod: text
    Zaloguj się, aby zobaczyć kod

    i zobacz co wyświetla. Powinno pokazać wartość dla zmiennej TP.
    TP jest dwucyfrowa, a przynajmniej takie jest założenie.
  • #9 14594651
    edek83
    Poziom 10  
    Posty: 42
    Pomógł: 1
    Ocena: 9
    Witam.
    Teraz pokazuje tylko temperaturę w pierwszej linii ale też dwie i na dodatek jakoś dziwnie się zwiesza.

    dopiero przy takim szkicu jest poprawnie wyswietlana pierwsza temp.

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #10 14599079
    edek83
    Poziom 10  
    Posty: 42
    Pomógł: 1
    Ocena: 9
    W sumie to temp. CWU nie jest mi potrzebna jako int najważniejsza jest temp. pieca bo jak temp. pieca jest ok to i reszta jest ok :)
    Miał byś jakiś pomysł mądry człowieku jak by to zrobić by było dobrze?
  • #11 14605365
    pimpuk
    Poziom 23  
    Posty: 438
    Pomógł: 49
    Ocena: 26
    Wyślij w takim razie odczyt z jednego czujnika. Cały kod Ci się sporo uprości.
  • #12 14605808
    edek83
    Poziom 10  
    Posty: 42
    Pomógł: 1
    Ocena: 9
    Coś będę myślał, sezon grzewczy się kończy wiec mam trochę czasu by to dopieścić :)

    Ponieważ jesteś mądrzejszy to wiesz może czemu to działa tak jak działa? czego to może być wina? bo zakładam ze szkic jest ok. czy możne być tak że wina leży po stronie atmegi czy też odbiornika rf? sprawdzałem to generalnie na pro mini i na nano dawałem kilka odbiorników (wszystko oczywiście klony z ebay-a) i generalnie cały czas to samo.
  • #13 15520835
    seiko.36
    Poziom 12  
    Posty: 61
    Pomógł: 2
    Ocena: 28
    Właśnie przerabiam ten temat , przesyłanie z 2 czujników opanowałem , ale nie mogę opanować alarmu . Ktoś sobie z tym poradził ?
    Nie wiem jak otrzymane cyfry wstawić do int , wyskakują błędy jak wstawiam to co się wyświetla , czyli string .
  • #14 15521952
    edek83
    Poziom 10  
    Posty: 42
    Pomógł: 1
    Ocena: 9
    Witaj.
    Powiem Ci że ja odpuściłem sobie 2 pomiary :) nie były mi aż tak niezbędne , mam mało czasu na zabawę w swoje zabawki :) rozumiem , że przesyłasz dane przez RF? możesz jeszcze spróbować NRF24l01 to jest 2,4G czyli tak jak Wi-Fi


    tu masz podstawy :) ja tez zamierzam się tym zająć nawet już mam wszystko co potrzeba w nadmiarze poza czasem :)
    Link
    tu masz ciekawy temat z instructables.com
    Powodzenia :)
    jak coś zdziałasz to się podziel :)
  • REKLAMA

Podsumowanie tematu

✨ Użytkownik poszukuje pomocy w konwersji danych typu String (TP i CWU) na int w celu ustawienia alarmu temperatury w projekcie opartym na Arduino. W odpowiedziach zasugerowano użycie metody `toInt()` oraz sprawdzenie, czy String zawiera tylko cyfry. Użytkownik zmodyfikował kod, aby poprawnie odczytywać dane z czujnika DS18B20 i przesyłać je przez RF 433. Problemy z wyświetlaniem temperatury oraz błędnymi wartościami zostały omówione, a także zasugerowano uproszczenie kodu przez przesyłanie danych z jednego czujnika. Ostatecznie, użytkownik znalazł rozwiązanie dotyczące konwersji String na int, co uprościło programowanie.
Podsumowanie wygenerowane przez AI na podstawie treści dyskusji.
REKLAMA