Hola:
Estoy haciendo un proyecto donde creo un servidor con una ethernet shield y un buzzer pasivo.Mi idea es crear un servidor web, que cuando alguien acceda el servidor le de 3 botones para reproducir la parte instrumental de 3 canciones que son: el himno del Real Zaragoza, Vagabundo(De Sebastián Yatra, Manuel Turizo y Beele) y Hallelujah (De Leonard Cohen).
Sin embargo, cuando le cargo el codigo a la placa, consigo acceder a la pagina pero cuando no pulso un boton no pasa nada. De momento solo tengo creada la parte de la pagina web y una pequeña parte del himno del Real Zaragoza.
Tambien tengo puesta una pantalla LCD que me indica que se esta reproducciendo.
Adjunto codigo:
#include <LiquidCrystal_I2C.h>
#include <SPI.h>
#include <Ethernet.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
// Configura la dirección IP, MAC y el puerto del servidor
IPAddress ip(192, 168, 0, 24);
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
EthernetServer server(80);
// Pin al que está conectado el buzzer
const int Buzzer = 9;
bool ZGZ = false;
bool HAL = false;
bool VAG = false;
bool NO = true;
void setup() {
// Inicializa la comunicación Ethernet y el servidor
Ethernet.begin(mac, ip);
server.begin();
Ethernet.init();
lcd.init();
lcd.backlight();
lcd.clear();
lcd.SetCursor(0, 0);
lcd.print("No se esta");
lcd.setCursor(0, 1);
lcd.print("reproducciendo nada");
// Configura el pin del buzzer como salida
pinMode(Buzzer, OUTPUT);
}
void loop() {
// Escucha las solicitudes de los clientes
EthernetClient client = server.available();
if (client) {
if (client.connected()) {
// Envía la página web al cliente
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
client.println("<html><body>");
client.println("<h1>Seleccione cancion</h1>");
client.println("<button onclick=\"ZGZ = true\">Himno Real Zaragoza</button>");
client.println("<button onclick=\"HAL = true\">Hallellujah</button>");
client.println("<button onclick=\"VAG = true\">Vagabundo</button>");
client.println("<script>");
client.println("</script>");
client.println("</body></html>");
client.stop();
}
}
if(No == true){
lcd.SetCursor(0, 0);
lcd.print("No se esta");
lcd.setCursor(0, 1);
lcd.print("reproducciendo nada");
}z
if(ZGZ == true){
NO == false;
lcd.setCursor(0, 0);
lcd.print("En reproducción")
lcd.SetCursor(0, 1);
lcd.print("Himno Real ZGZ");
tone(Buzzer, 330, 1000);
noTone(Buzzer);
tone(Buzzer, 392, 1000);
noTone(Buzzer);
tone(Buzzer, 523, 1000);
noTone(Buzzer);
tone(Buzzer, 494, 750);
noTone(Buzzer);
tone(Buzzer, 349, 250);
}
}
Muchas gracias de antemano.