bouton arduino site web

bonjour a tous,
J’ai un petit problème. Voila actuellement en terminal sti j’ai un projet de fin d’année. Le mien consiste a apporter un maximum de luminosité dans la maison a l’aide d’un miroir placé a l’extérieur, celui ci étant équiper de capteur LDR pour suivre le soleil mais je doit aussi le contrôler a partir de mon site web. Pour cela j’ai deux bouton sur mon site web mais malgré de nombreuse tentative et divers bout de programme tester rien ne fonctionne. En attente de votre aide.

Salut, alors, tu à certes un soucis, si je regarde dans ma boule magique... je dirais que.... c'est à la ligne 129 que le problème ce situe, je dirais même caractère numéro.... 17 !!!!!

Mouahahaha ! on est pas magicien, envoie ton code et on te dira ce qui ne marche pas, sauf si tu veux un bout de code de serveur web qui marche dans ce cas précise et on verra ce qu'on peut te trouver, en attendant file le code que tu a on verra ce qui cloche.

Ps: fait vite, la fin d'année approche à grand pas, TIC TAC TIC TAC !! :grin:

Skizo!

En attente de ton code.

Alors voila pour le moment j’ai se programme qui a la base permet d’allumer des LED. Mon prof ma dit que pour faire tourner le moteur c’était pareil mais je n’arrive pas a changer le code pour le faire fonctionner.

#include <SPI.h>
#include <Ethernet.h>
#include <EthernetClient.h>
#include <EthernetServer.h>
/*
Domotique-Gestion de prises
Jean-Michel Gaborit - LYCOM 2012
*/
byte mac = { 0x90, 0xA2, 0xDA, 0x0D, 0xB5, 0xC8}; //Adresse MAC
byte ip = { 172, 17, 1, 26}; // Adresse IP
EthernetServer server(80); //Port du serveur
int ledPin1 = 3; // LED pin
int ledPin2 = 5; // LED pin
int ledPin3 = 6; // LED pin
String readString = String(30); //string for fetching data from address
boolean LEDON1 = false; //Pin status flag
boolean LEDON2 = false; //Pin status flag
boolean LEDON3 = false; //Pin status flag

void setup(){
//start Ethernet
Ethernet.begin(mac, ip);
//Configurer les 3 Pins de sorties
pinMode(ledPin1, OUTPUT);
pinMode(ledPin2, OUTPUT);
pinMode(ledPin3, OUTPUT);
digitalWrite(ledPin1, HIGH);
digitalWrite(ledPin2, HIGH);
digitalWrite(ledPin3, HIGH);
//Activer la liaison de données Serie
Serial.begin(9600); }

void loop(){
//Créer la connection Client
EthernetClient client = server.available();
if (client) {
while (client.connected()) {
if (client.available()) {
char c = client.read();
//read char by char HTTP request
if (readString.length() < 30) {
//store characters to string
readString += c; }
//output chars to serial port
Serial.print(c);
//if HTTP request has ended
if (c == ‘\n’) {
//lets check if LED should be lighted
//Controle Prise 1
if(readString.indexOf(“L=1”)>0) {
//Pin mise a ON
digitalWrite(ledPin1, LOW); // Mettre la Pin a ON
LEDON1 = true;
}else if(readString.indexOf(“L=1”)<0){
//Pin mise a OFF
digitalWrite(ledPin1, HIGH); /// Mettre la Pin a OFF
LEDON1 = false; }
//Controle Prise 2
if(readString.indexOf(“L1=2”)>0) {
//Pin mise a ON
digitalWrite(ledPin2, LOW); // Mettre la Pin a ON
LEDON2 = true;
}else if(readString.indexOf(“L1=2”)<0){
//Pin mise a OFF
digitalWrite(ledPin2, HIGH); // Mettre la Pin a OFF
LEDON2 = false; }
//Controle Prise 3
if(readString.indexOf(“L2=3”)>0) {
//Pin mise a ON
LEDON3 = false; }
// now output HTML data starting with standart header
client.println(“HTTP/1.0 200 OK”);
client.println(“Content-Type: text/html”);
client.println();
//Controle Relais par checkbox

client.println("");
client.println("");
client.println("");
client.println(“Affichage des valeurs des capteurs”);
client.println("");
client.println("<body bgcolor=(3A3F3D)" );
client.println(“”);
client.println("
“);
client.println(”
“);
client.println(”
“);
client.println(“”);
client.println(”
“);
client.println(”
“);
client.println(“”);
client.println(”
“);
client.println(”
“);
client.println(“”);
client.println(”

Bienvenue sur le site du mirroir

Capteur Gauche

Capteur Milieu

Capteur Droite

");
client.println("");
client.println("<button type=button onclick=alert(‘Bouton text’)> Rotation Droite");
client.println("<button type=button onclick=alert(‘Bouton text’)> Rotation Gauche");

//Afficher statut prise 1
client.print("Prise1: ");
if (LEDON1)
client.println("ON
");
else
client.println(“OFF
“);
client.println(””);
//Afficher statut prise 2
client.print("Prise2: ");
if (LEDON2)
client.println(“ON
“);
else
client.println(“OFF
“);
client.println(””);
//Effacer la chaine pour lecture suivante
readString=””;
//Arreter le client
client.stop();
}}}}}

Et j'ai seulement besoin de 2 bouton pour faire tourné le moteur a droite et a gauche

Salut, pour ta page, elle fonctionne je suppose et s’affiche bien?
déjà pense au balise code ( # au dessus )
si oui il ne te manque pas grand chose, tes bouton doivent ajouter des info dans l’URL, donc méthode GET, la méthode GET découle d’un FORM ( HTML ) qui permet après l’appui sur un bouton d’ajouter à l’URL ce genre de chose: “?ma_variable=1&&…”

Le bouton en HTML sa donnera sa:

<form action="ta_page" method="GET">
   <input type="hidden" name="ma_variable" value="1">
   <input type="submit" value="Gauche">
</form>
<form action="ta_page" method="GET">
   <input type="hidden" name="ma_variable" value="2">
   <input type="submit" value="Droite">
</form>

Donc après avec ce genre de variable tu va la retrouver grâce à cette partie du code (si j’ai bien saisie) :

if(readString.indexOf("L=1")<0){
   //Pin mise a OFF
  digitalWrite(ledPin1, HIGH); /// Mettre la Pin a OFF
  LEDON1 = false; 
}

Que tu va donc transformer en ceci :

if(readString.indexOf("ma_variable=1")<0){
  //bouton ou tu a mis ta variable a 1 ( tourner gauche )
  // faire la commande pour faire tourner ton moteur a gauche
 }

Et donc avec ces deux morceau tu auras les boutons qui vont t’envoyer une variable dans l’URL et le deuxième qui va récupérer l’état de cette variable pour l’interpréter.

Skizo.

Desolé de cette reponse tardive. Merci beaucoup j'essai tout sa demain