Fala galera do Lab blz?
Preciso de uma ajuda pois já fazem algumas semanas que estou apanhando deste código e não consigo sair do lugar.
O Código abaixo liga e desliga um botão em uma página hospedada no cartão SD.
O problema é que preciso ler uma porta analógica ou digital para um sensor e não sei como fazê-lo.
Alguém pode me dar uma luz de como fazer?
Sou leigo em programação.
Valeu galera.
Código Arduíno
#if ARDUINO > 18
#include <SPI.h>
#endif
#include <Ethernet.h>
#include <TextFinder.h>
#include <SD.h>
byte mac[] = { 0x5A, 0xA2, 0xDA, 0x0D, 0x56, 0x7A };
byte ip[] = { 192, 168, 2, 102 };
byte sdPin = 4;
EthernetServer server(80);
File webFile;
void setup()
{
Ethernet.begin(mac, ip);
server.begin();
Serial.begin(9600);
Serial.println("ARDUINO - STEUERUNG");
Serial.println("Initialisiere SD-Karte...");
if (!SD.begin(sdPin))
{
Serial.println(" - Initialisierung der SD-Karte fehlgeschlagen!");
return;
}
Serial.println(" - SD-Karte erfolgreich initialisiert.");
if (!SD.exists("index.htm"))
{
Serial.println(" - Datei (index.htm) wurde nicht gefunden!");
return;
}
Serial.println(" - Datei (index.htm) wurde gefunden.");
Serial.println();
Serial.println("Verbraucher schalten");
}
void loop()
{
EthernetClient client = server.available();
if(client)
{
/*****************************************
Ausgänge über das Webformular steuern *
*****************************************/
TextFinder finder(client);
if(finder.find("GET"))
{
while(finder.findUntil("pin", "\n\r"))
{
char typ = client.read();
int pin = finder.getValue();
int val = finder.getValue();
if(typ == 'D')
{
pinMode(pin, OUTPUT);
digitalWrite(pin, val);
Serial.print(" - D"+String(pin));
}
else if(typ == 'A')
{
analogWrite(pin, val);
Serial.print(" - A"+String(pin));
}
else Serial.print(" - Falscher Typ");
if(val==1) Serial.println(" ein"); else Serial.println(" aus");
}
}
/************************
Webformular anzeigen *
************************/
boolean current_line_is_blank = true;
while (client.connected())
{
if (client.available())
{
char c = client.read();
if (c == '\n' && current_line_is_blank)
{
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("Connection: close");
client.println();
webFile = SD.open("index.htm");
if (webFile)
{
while(webFile.available())
{
client.write(webFile.read());
}
webFile.close();
}
break;
}
if (c == '\n')
{
current_line_is_blank = true;
}
else if (c != '\r')
{
current_line_is_blank = false;
}
}
}
delay(1);
client.stop();
}
}
Index.htm
<!DOCTYPE html>
<html>
<head>
<title>Arduino</title>
<style type="text/css">
h2 { margin-bottom:5px; }
</style>
</head>
<body>
<h1>Arduíno OnLine</h1>
<h2>Digital Pin3:</h2>
<a href="/?pinD3=1" target="ifr">ON</a>
<a href="/?pinD3=0" target="ifr">OFF</a>
<h2>Digital Pin6:</h2>
<a href="/?pinD6=1" target="ifr">ON</a>
<a href="/?pinD6=0" target="ifr">OFF</a>
<iframe name="ifr" style="display:none;" width="0" height="0"></iframe>
</body>
</html>
Tags:
.
.
.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por