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>

Exibições: 767

Responder esta

Respostas a este tópico

.

WebRep
Classificação geral
Este site não tem classificação
(número de votos insuficientes)

.

WebRep
Classificação geral
Este site não tem classificação
(número de votos insuficientes)

.

WebRep
Classificação geral
Este site não tem classificação
(número de votos insuficientes)

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço