Seguimi su Youtubue
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Google AdSense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Simulazione nastro trasportatore
Da Poderak Ieri alle 5:04 pm

» musica su arduino
Da fulvio Mer Apr 26, 2017 10:17 am

» altoparlante arduino: quale comprare?
Da Poderak Ven Apr 21, 2017 2:56 pm

» Quattro chiacchiere su Arduino BT Control v1.2
Da Apatrik Mar Apr 18, 2017 10:04 pm

» Presentati al forum
Da Poderak Mar Apr 18, 2017 7:47 pm

» natale con luci esuoni
Da Poderak Lun Apr 17, 2017 5:42 pm

» Come copiare a scuola
Da rob5678 Mer Apr 12, 2017 11:30 am

» libreria
Da fulvio Mar Apr 11, 2017 12:20 pm

» orologio con LCD.
Da fulvio Lun Apr 10, 2017 6:33 pm

I postatori più attivi del mese
Poderak
 
fulvio
 
Apatrik
 
CrazyPin
 
rob5678
 

Codice - Accendere/Spegnere led in remoto con Arduino Ethernet Shield

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

Codice - Accendere/Spegnere led in remoto con Arduino Ethernet Shield

Messaggio Da Poderak il Gio Giu 16, 2016 10:35 am


In questo progetto andremo a vedere il funzionamento della Ethernet Shield. In pratica accendere un LED con l'uso di una semplice web app. Il codice utilizzato è il seguente:

Codice:
#include <Ethernet.h> //libreria ethernet
#include <SPI.h> //collabora con la libreria ethernet
#include <String.h> //gestione stringhe

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED}; //indirisso fisico
byte ip[] = {192, 168, 1, 177}; //indirizzo ip locale
byte subnet[] = {255, 255, 255, 0}; //indirizzo subnet
byte gateway[] = {192, 168, 1, 1}; //indirizzo gateway
EthernetServer server(80); //imposto porta protocollo HTTP

int led = 7; //dichiarazione led
String ascoltatore; //dichiarazione stringa

void setup() {
  Ethernet.begin(mac, ip, gateway, subnet); //inizializzazione impostazioni
  pinMode(led, OUTPUT); //impostazione led come output
  ascoltatore=""; //inizializzazione stringa
}

void loop() {
  EthernetClient client = server.available(); //attendo l'arrivo di un client
  
  if (client) { //se c'è il cliente deve..
    
    while(client.connected()) {
      if(client.available()) {
        char c = client.read(); //..leggere i caratteri che invia
        ascoltatore.concat(c); //concatena i caratteri del client
        
        if (c == '\n') { //se arrivo a fine riga
           if(ascoltatore.indexOf("led=1")>0) { //controllo che nell'url ci sia led=1
            digitalWrite(led, HIGH); //se c'è accendo il led
           }
           else {
            digitalWrite(led, LOW); //altrimenti spengo il led
           }
        client.println("HTTP/1.1 200 OK"); //dico al client che è tutt'ok - standard http
        client.println("Content-Type: text/html"); //indico il formato - standard http
        client.println(); //necessario per non buggare
        client.println("<html>"); //inizio codice html
        client.println("<head><title>Accendi/Spegni led</title> <link rel='shortcut icon' type='image/x-icon' href='http://i44.servimg.com/u/f44/16/84/89/65/23570310.png' /></head>");
        client.println("<body><a href='/?led=1'>Accendi</a> - <a href='/?led=0'>Spegni</a></body");
        client.println("</html>"); //fine codice html
        client.stop(); //stop richieste dal client
        ascoltatore="";
        }
      }
    }
  }
}
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4167
Crediti Crediti : 11671
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Re: Codice - Accendere/Spegnere led in remoto con Arduino Ethernet Shield

Messaggio Da Poderak il Sab Nov 05, 2016 2:56 pm

Aggiornamento: Il codice non era esattamente come quello nel video. Mi ero dimenticato una riga di codice. Adesso l'ho aggiornato e dovrebbe funzionare Ciao!
avatar
Poderak
♔ Amministratore

Messaggi Messaggi : 4167
Crediti Crediti : 11671
Reputazione Reputazione : 185
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 18
Località Località : Brescia

Vedere il profilo dell'utente http://www.wikiinfo.net

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


 
Permesso di questo forum:
Non puoi rispondere agli argomenti in questo forum