Recensisci!
Diventa un recensore per ricevere prodotti gratuiti o scontati!
Iscriviti
Se desideri, puoi effettuare un'iscrizione gratuita al forum per entrare nella nostra community.
Ricerca Avanzata
Pubblicità Adsense
Answers
Se necessiti di aiuto, clicca il pulsante "Cerco Aiuto" (disponibile anche per i non iscritti).
Ultimi argomenti
» Gioco con Arduino: Sniper Words
Da Admin Mer Gen 17, 2018 4:25 pm

» Mi si è bruciano Arduino, come mai?
Da Admin Mer Gen 17, 2018 4:24 pm

» Recensione hub USB per PC di Aukey (esterno o autoalimentato)
Da Admin Dom Gen 14, 2018 10:28 pm

» accesso remoto via web arduino porta bloccata
Da Admin Dom Gen 14, 2018 10:26 pm

» Recensione robot programmabile RCMoment
Da Admin Dom Gen 14, 2018 5:30 pm

» E' possibile aumentare la velocità dei servomotori con Arduino?
Da Admin Dom Gen 14, 2018 5:28 pm

» Come realizzare un impianto antincendio con Arduino - v1.0
Da Admin Ven Gen 12, 2018 3:02 pm

» Noleggio stampanti multifunzioni Brescia
Da Admin Mer Gen 10, 2018 2:19 pm

» Timer relè con arduino
Da falcio1515 Lun Gen 08, 2018 2:33 pm

I postatori più attivi del mese
Admin
 
falcio1515
 
misterxfiles
 
HardAngelDark
 
Answers
 
FrankyFRD42
 
sergio52
 

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 Admin 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
Admin
♔ Amministratore

Messaggi Messaggi : 4253
Crediti Crediti : 11861
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
Località Località : Brescia

Vedi 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 Admin 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
Admin
♔ Amministratore

Messaggi Messaggi : 4253
Crediti Crediti : 11861
Reputazione Reputazione : 186
Data d'iscrizione Data d'iscrizione : 08.03.11
Età Età : 19
Località Località : Brescia

Vedi 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


 
Permessi di questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum