• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Sterowanie przez WWW
#1
Witajcie.
Mam napisany program do sterowania oświetleniem przy użyciu włączników dzwonkowych.
W przykładzie są 2 pomieszczenia gdzie po wciśnięciu przycisku można zapalić/zgasić światło i na wyświetlaczu LCD pojawi się aktualny stan.

Docelowo zależy mi na możliwości sterowania światłem zarówno przez włącznik dzwonkowy jak i przez stronę WWW.

Możecie podpowiedzieć jak zmodyfikować kod aby można dołożyć sterowanie przez serwer WWW.
Dodam, że teraz działam na ARDUINO UNO + ethernet schield.

Dotychczasowy działający kod.

Kod:
#include <[color=#CC6600]Wire[/color].h>
#include <[color=#CC6600]LiquidCrystal_I2C[/color].h>
#include <[color=#CC6600]SPI[/color].h>
#include <[color=#CC6600]Ethernet[/color].h>
[color=#CC6600]byte[/color] mac[] = {0xEA,0xFE,0xED,0xED,0xAB,0xCD};
[color=#CC6600]byte[/color] ip[] = {192,168,6,26};    
[color=#CC6600]EthernetServer[/color] server(80);

#define BACKLIGHT_PIN 3
[color=#CC6600]LiquidCrystal_I2C[/color] lcd(0x27, 2,1,0,4,5,6,7);

[color=#CC6600]int[/color] salon_button = 2;
[color=#CC6600]int[/color] salon_przekaznik=8;

[color=#CC6600]int[/color] kuchnia_button = 3;
[color=#CC6600]int[/color] kuchnia_przekaznik=9;

[color=#CC6600]boolean[/color] salon_last=[color=#006699]LOW[/color];
[color=#CC6600]boolean[/color] salon_now=[color=#006699]LOW[/color];
[color=#CC6600]boolean[/color] SalonON=[color=#CC6600]false[/color];
[color=#CC6600]boolean[/color] salon_stan;

[color=#CC6600]boolean[/color] kuchnia_last=[color=#006699]LOW[/color];
[color=#CC6600]boolean[/color] kuchnia_now=[color=#006699]LOW[/color];
[color=#CC6600]boolean[/color] KuchniaON=[color=#CC6600]false[/color];
[color=#CC6600]boolean[/color] kuchnia_stan;

[color=#CC6600]String[/color] ekran_gora;
[color=#CC6600]String[/color] ekran_dol_salon;
[color=#CC6600]String[/color] ekran_dol_kuchnia;

[color=#CC6600]void[/color] [color=#CC6600][b]setup[/b][/color] () {
 
  [color=#CC6600]Ethernet[/color].[color=#CC6600]begin[/color](mac, ip);[color=#7E7E7E]//ethernet[/color]
   server.[color=#CC6600]begin[/color]();[color=#7E7E7E]//ethernet[/color]
   [color=#CC6600][b]Serial[/b][/color].[color=#CC6600]begin[/color](9600);[color=#7E7E7E]//ethernet[/color]
   [color=#CC6600][b]Serial[/b][/color].[color=#CC6600]print[/color]([color=#006699]"Serwer wystartowal z IP: "[/color]);[color=#7E7E7E]//ethernet[/color]
   [color=#CC6600][b]Serial[/b][/color].[color=#CC6600]println[/color]([color=#CC6600]Ethernet[/color].[color=#CC6600]localIP[/color]());[color=#7E7E7E]//ethernet[/color]
  
  
    [color=#CC6600]pinMode[/color] (salon_button, [color=#006699]INPUT_PULLUP[/color]);
    [color=#CC6600]pinMode[/color] (salon_przekaznik, [color=#006699]OUTPUT[/color]);

    [color=#CC6600]pinMode[/color] (kuchnia_button, [color=#006699]INPUT_PULLUP[/color]);
    [color=#CC6600]pinMode[/color] (kuchnia_przekaznik, [color=#006699]OUTPUT[/color]);

    lcd.[color=#CC6600]begin[/color](16,2);
    lcd.setBacklightPin(BACKLIGHT_PIN, POSITIVE);
    lcd.setBacklight([color=#006699]HIGH[/color]);
}

[color=#CC6600]void[/color] [color=#CC6600][b]loop[/b][/color] () {
    salon_now = [color=#CC6600]digitalRead[/color](salon_button);
    kuchnia_now = [color=#CC6600]digitalRead[/color](kuchnia_button);

    [color=#CC6600]if[/color] (salon_last==[color=#006699]LOW[/color] && salon_now == [color=#006699]HIGH[/color])
        {
            SalonON = !SalonON;
        }

    [color=#CC6600]if[/color] (kuchnia_last==[color=#006699]LOW[/color] && kuchnia_now == [color=#006699]HIGH[/color])
        {
            KuchniaON = !KuchniaON;
        }
        
    salon_last=salon_now;
    kuchnia_last=kuchnia_now;

    [color=#CC6600]if[/color] (SalonON == 1)
        {
            ekran_gora = [color=#006699]"Salon    Kuchnia"[/color];
            ekran_dol_salon = [color=#006699]"wl. "[/color];
                        salon_stan == [color=#006699]HIGH[/color];
        }

    [color=#CC6600]if[/color] (SalonON == 0)
        {
            ekran_gora = [color=#006699]"Salon    Kuchnia"[/color];
            ekran_dol_salon = [color=#006699]"wyl."[/color];
                        salon_stan == [color=#006699]LOW[/color];
        } 

    [color=#CC6600]if[/color] (KuchniaON == 1)
        {
            ekran_gora = [color=#006699]"Salon    Kuchnia"[/color];
            ekran_dol_kuchnia = [color=#006699]"wl. "[/color];
                        kuchnia_stan == [color=#006699]HIGH[/color];
        } 

    [color=#CC6600]if[/color] (KuchniaON == 0)
        {
            ekran_gora = [color=#006699]"Salon    Kuchnia"[/color];
            ekran_dol_kuchnia = [color=#006699]"wyl."[/color];
                        kuchnia_stan == [color=#006699]LOW[/color];
        }
        
lcd.[color=#CC6600]setCursor[/color] ( 0, 0 );
lcd.[color=#CC6600]print[/color](ekran_gora);
lcd.[color=#CC6600]setCursor[/color] ( 2, 1 );
lcd.[color=#CC6600]print[/color](ekran_dol_salon);
lcd.[color=#CC6600]setCursor[/color] ( 11, 1 );
lcd.[color=#CC6600]print[/color](ekran_dol_kuchnia);

[color=#CC6600]digitalWrite[/color] (salon_przekaznik, SalonON);
[color=#CC6600]digitalWrite[/color] (kuchnia_przekaznik, KuchniaON);

}
 
Odpowiedź
  


Wiadomości w tym wątku
Sterowanie przez WWW - przez AlwaroAlwarez - 05-09-2016, 13:53
RE: Sterowanie przez WWW - przez krn78 - 03-11-2016, 15:10
RE: Sterowanie przez WWW - przez AlwaroAlwarez - 25-11-2016, 10:47
RE: Sterowanie przez WWW - przez xblack - 26-11-2016, 17:48

Skocz do:


Przeglądający: 1 gości