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

Arduino UNO + Ethernet Shield - uruchomienie wysyłania danych

jonbrawo 05 Maj 2020 16:15 507 5
  • #1 18671013
    jonbrawo
    Poziom 10  
    Posty: 49
    Ocena: 10
    Witam
    Mam mały problem, może ktoś jest w stanie mi pomóc - byłbym wdzięczny za pomoc.

    Sprzęt:
    - Arduino Uno + Ethernet Shield
    - Relay
    - Sterownik zewnętrzny (wysyła i odbiera rozkazy w postaci HEX) przez Ethernet

    Założenia.
    Sterowanie przekaźnikiem podłączonym do Arduino Uno przez zewnętrzny sterownik (transmisja dwukierunkowa sterownika).

    Działanie:
    - naciskamy przycisk na sterowniku (włącz/wyłącz RELAY)
    - wysłany jest po Ethernet rozkaz do Arduino który włącza/wyłącza Relay
    - Relay zmienia stan zgodnie z rozkazem
    - jednocześnie co sekundę Arduino wysyła informacje o stanie przekaźnika przez Ethernet do sterownika który zapala odpowiednią diodę sygnalizacyjną.

    Generalnie wszystko działa jaka chcę.
    Problem pojawia się tylko po zaniku zasilania na Arduino (lub Resecie). Po zaniku zasilania Arduino nie wysyła informacji o stanie przekaźnika. Transmisja rozpoczyna się dopiero po odebrania rozkazu ze sterownika (przy czym pierwszy rozkaz REL_ON lub REL_OFF nie zmieniają stanu przekaźnika, a uruchamiają tylko transmisję).

    Pomysł na rozwiązanie:
    Czy istnieje jakaś komenda którą mógłbym wpisać w void setup () by uruchomiła transmisję?
    Aktualnie wygląda na to że program przy uruchomieniu czeka na Clienta by rozpocząć wysyłanie danych... Chciałbym to uruchomić "od strzału" przy uruchomieniu.
  • #3 18671116
    jonbrawo
    Poziom 10  
    Posty: 49
    Ocena: 10
    Dzięki #khoam za odpowiedz, ale problem nie dotyczy zasilania
    Arduino nie zwiesza się i nie mam z nim problemów.

    Dla wyjaśnienia, to co napisałem -> "Problem pojawia się tylko po zaniku zasilania na Arduino (lub Resecie)" dotyczy problem z kodem programu przy każdorazowym uruchomieniu, tzn transmisja "od Arduino do sterownika" aktywowana jest przez przycisk sterownika. Dlatego jak zaniknie prąd to muszę transmistę (TX) wymusić sterownikiem - RX działa od uruchomienia.

    Proszę o podpowiedź jak zrobić automatyczny start TX bo w chwili obecnej czeka aż zostanie aktywowany przez Clienta (w moim przypadku jest to sterownik).
  • #4 18671129
    Konto nie istnieje
    Poziom 1  
  • #5 18671157
    jonbrawo
    Poziom 10  
    Posty: 49
    Ocena: 10
    ok, napisze jeszcze raz

    Arduino - działa poprawnie
    Ethernet - działa poprawnie (po załączeniu mam piękną choinkę z diod zielonych i jednej czerwonej)

    Moja prośba - pomoc w programie

    Jakby problem był po stronie Ethernet Shield to zewnętrzny rozkaz nie trafiłby do arduino. Każdorazowe uruchomienie Arduino + ES (nie ważne czy na zasilaniui czy na Resecie) wita mnie piękną choinką.

    Proszę o pomoc z programem bo tu jest problem.
  • #6 18671191
    krzysiek_krm
    Poziom 40  
    Posty: 4612
    Pomógł: 716
    Ocena: 598
    jonbrawo napisał:
    Moja prośba - pomoc w programie

    Kiedy go tu opublikujesz zapewne ktoś coś wymyśli.
REKLAMA