Bonjour,
Je commence juste à travailler sur mon Arduino Yun. Je souhaite réaliser une page HTML qui affiche la valeur de ma photorésistance.
Pour cela, j'ai déjà réalisé le montage avec un bout de programme qui change la luminosité de ma Led13 en fonction de la valeur de ma photorésistance.
int sensorPin = A0; // select the input pin for the potentiometer
int ledPin = 13; // select the pin for the LED
int lumi= 0; // variable to store the value coming from the sensor
void setup() {
// declare the ledPin as an OUTPUT:
pinMode(ledPin, OUTPUT);
}
void loop() {
// read the value from the sensor:
lumi= analogRead(sensorPin);
// turn the ledPin on
digitalWrite(ledPin, HIGH);
// stop the program for <sensorValue> milliseconds:
delayMicroseconds(lumi);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
// stop the program for for <sensorValue> milliseconds:
delayMicroseconds(1000 - lumi);
}
Je cherche maintenant à afficher cette valeur sur une page HTML avec un autre programme que j'ai trouvé sur internet http://phmarduino.free.fr/ :
#include <SPI.h>
#include <Ethernet.h>
// Initialisation avec de l'adresse MAC avec celle de mon Arduino Ethernet
byte mac[] = { 0x90, 0xA2, 0xDA, 0x00, 0x65, 0x6f };
// Initialisation de l'adresse IP locale de mon serveur WEB Arduino que j'ai choisie
byte ip[] = { 192,168,0, 20 };
// Création de l'objet server de type EthernetServer disponible sur le port 80
EthernetServer server(80);
void setup()
{
// Initialisation de la connexion Ethernet
Ethernet.begin(mac, ip);
// Démarrage du serveur WEB server
server.begin();
// Initialisation de la liaison série
Serial.begin(9600);
}
void loop()
{
int lumi=0; //Variable pour le stockage de la luminosité retourrnée par la ldr
int portana0 = 0; //Numéro du port analogique sur lequel la température est mesurée
int ledPin = 13; // select the pin for the LED
lumi = analogRead(portana0); //Lecture de la valeur fournie par la ldr
Serial.print("Luminosite : "); //Ecriture de la temperature sur le port série
Serial.println(lumi);
//delay(1000); // Attente de une second avant de refaire une mesure
digitalWrite(ledPin, HIGH);
// stop the program for <sensorValue> milliseconds:
delayMicroseconds(lumi);
// turn the ledPin off:
digitalWrite(ledPin, LOW);
// stop the program for for <sensorValue> milliseconds:
delayMicroseconds(1000 - lumi);
//Ecoute des requetes client (browser WEB)
EthernetClient client = server.available();
//Une requete est à traiter
if (client) {
//Envoi de la réponse HTTP au browser qui a envoyé une requete
while (client.connected()) {
if (client.available()) {
//Envoi du header standard HTTP au browser
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println();
//Envoi des données
client.print("Luminosite = ");
client.print(lumi);
client.stop();
} //Cloture connexion
}
}
}
Avec ce code je suis censé pouvoir récupérer la valeur de mon capteur sur l'adresse IP locale 192.168.0.20 mais cela ne fonctionne pas.
Je ne comprend pas d'où le problème peut venir. Mon arduino yun est directement branché en ethernet à ma box free.
Bien cordialement,

