Elektroda.pl
Elektroda.pl
X

Search our partners

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

WebSerwer oraz Remote Control IR - jak pogodzić

maystero 03 Nov 2019 20:30 375 10
  • #1
    maystero
    Level 24  
    Witam,
    Potrzebuje pomocy w projekcie. Wygooglowałem sobie Web Serwer. Rozbudowałem go o dodatkowe dwa kanały typu: ON/OFF.

    Dodatkowo do układu podłączyłem odbiornik IR aby móc sterować tymi samymi kanałami ON/OFF za pomocą pilota IR.
    Przykładowo: jeśli w danej chwili pod ręką mam (bliżej do) pilota, to naciskam button "1" i włączam lub wyłączam pierwszy kanał. A jeżeli zachodzi potrzeba to przy użyciu smartfona lub komputera przez przeglądarkę robię analogicznie to samo.
    Schemat układu:
    WebSerwer oraz Remote Control IR - jak pogodzić


    Kod porgramu:
    Code: c
    Log in, to see the code


    Nie wiem jak zrobić aby wykorzystać dwa warunki IF.
    Chciałbym aby status ON/OFF odświeżał się automatycznie na stronie www jeśli użyje pilota RC zamiast przeglądarki.
  • #2
    khoam
    Level 41  
    maystero wrote:
    Chciałbym aby status ON/OFF odświeżał się automatycznie na stronie www jeśli użyje pilota RC zamiast przeglądarki.

    Najprościej to "zasymulować" (w kodzie) wybór kanału przez smartfon w wypadku wyboru tego kanału przez pilota RC :)
  • #3
    maystero
    Level 24  
    Dzięki za odpowiedź, ale chyba coś pokręciłem....

    więc, ma Pilot IR naciskam przycisk -> pilot wysyła rozkaz->odbiornik odbiera sygnał-> ten zaś trafia do ESP.
    Tutaj mam funkcje:
    Code: c
    Log in, to see the code


    i chce to połączyć:

    Code: c
    Log in, to see the code


    nie działa mi to :(
  • #4
    oskar777

    Level 26  
    Skasowałem ten post, bo nie zauważyłem, że jednak output5State ma jakąś wartość domyślną. Więc moja poprzednia wypowiedź była bez sensu.

    Na początek dałbym do testów Serial.println(results.value); potem jeszcze Serial.println(output5State);
  • #5
    maystero
    Level 24  
    oskar777 wrote:
    Skasowałem ten post, bo nie zauważyłem, że jednak output5State ma jakąś wartość domyślną. Więc moja poprzednia wypowiedź była bez sensu.

    Na początek dałbym do testów Serial.println(results.value); potem jeszcze Serial.println(output5State);


    Szanowny Kolego - nie bardzo rozumiem co masz na myśli....

    Code: c
    Log in, to see the code


    zrobiłem taaaki coś i na monitorze portu RS brak wyników:

    Bardzo proszę o pomoc w dokończeniu pomysłu.
  • #6
    khoam
    Level 41  
    Napisz proszę, jakie wartości otrzymujesz w monitorze portu szeregowego po naciśnięciu wybranych kanałów pilotem IR. Chodzi mi o poniższy fragment kodu (odnoszę się do pierwszego postu) i wartość 'results.value':
    Code: c
    Log in, to see the code
  • #7
    maystero
    Level 24  
    Wartość 801
    WebSerwer oraz Remote Control IR - jak pogodzić
  • #8
    oskar777

    Level 26  
    już widzę starość nie radość
    jest
    Code: c
    Log in, to see the code

    powinno być
    Code: csharp
    Log in, to see the code
  • #9
    maystero
    Level 24  
    oskar777 wrote:
    już widzę starość nie radość
    jest
    Code: c
    Log in, to see the code

    powinno być
    Code: csharp
    Log in, to see the code


    Nie wiem dokładnie czy o to koledze chodziło....

    Code: c
    Log in, to see the code


    Takie coś zmalowałem.
    Sprawdziłem, nie działa.
    Monitor portu wydaje takie coś:
    Code: c
    Log in, to see the code


    Mam nadzieje że dobrze przedstawiłem swój cel.
    Chodzi mi o to aby jakoś tak zapisać funkcję
    Code: c
    Log in, to see the code

    aby można było stan GPIO 5 zmieniać przez przeglądarkę i równolegle pilotem RC.
    Np. przez przeglądarkę zmieniłem stan GPIO 5 z "0" na "1" i pilotem RC zmieniam stan GPIO 5 z "1" na "0".
  • #10
    khoam
    Level 41  
    maystero wrote:
    Np. przez przeglądarkę zmieniłem stan GPIO 5 z "0" na "1" i pilotem RC zmieniam stan GPIO 5 z "1" na "0".

    Stan pinów zdefiniowanych jako OUTPUT i sterowanych przez digitalWrite(), może również czytać funkcją digitalRead().
    Hint: digitalWrite(pin, !digitalRead(pin))
  • #11
    maystero
    Level 24  
    khoam wrote:
    maystero wrote:
    Np. przez przeglądarkę zmieniłem stan GPIO 5 z "0" na "1" i pilotem RC zmieniam stan GPIO 5 z "1" na "0".

    Stan pinów zdefiniowanych jako OUTPUT i sterowanych przez digitalWrite(), może również czytać funkcją digitalRead().
    Hint: digitalWrite(pin, !digitalRead(pin))


    Przepraszam, ale nie ogarniam.
    Możecie podać mi jakiś przejrzysty przykład?