Italy
Offline
Sr. Member
Karma: 0
Posts: 277
|
 |
« Reply #30 on: February 15, 2011, 09:19:33 am » |
no, per ora ho caricato le immagini su un dominio esterno che possiedo, ma conto con il tempo di provare a usare una micro sd, dato che ho l'ethernetshield nuova, quella che ha anche lo slot MicroSd... Vediamo cosa uscirà fuori. Al momento sto cercando di capire come usare il millis() al posto del delay in delle azioni concatenate che richiedono tempi di attesa lunghi.. dai 30 ai 60 secondi e anche più. Ma per questo eventualmente apro un altro post, almeno dividiamo un po i problemi
|
|
|
|
|
Logged
|
|
|
|
|
0
Online
Edison Member
Karma: 15
Posts: 1928
Have you mooed today?
|
 |
« Reply #31 on: February 15, 2011, 09:24:08 am » |
..e bravo dr4gone! Complimenti per l'obiettivo raggiunto!
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Sr. Member
Karma: 0
Posts: 277
|
 |
« Reply #32 on: February 15, 2011, 10:11:37 am » |
Grazie mille. Stasera se ho tempo apro un altro post inerente alla gestione del millis() al posto del delay. E' uno strumento potente, ma non mi quadra tanto, vediamo se con qualche aiuto riesco a superare anche questo ostacolo  .
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 3
Posts: 104
|
 |
« Reply #33 on: March 01, 2011, 10:11:30 am » |
Ciao- Anche io un paio di settimane fa smanettavo con queste cose.. Il codice scritto sopra va bene... Ma sarebbe interessante anche fare in modo di conoscere lo stato del led (acceso o spento) anche quando si è a regime.. Questo codice potrebbe essere utile.Ho provato a usare il tuo codice... :S Sto usando Chrome come browser ma la pagina dopo che accendo o spengo il led oppure basta anche ricaricarla si sformatta in modo impressionante. Come se il ciclo non si limitasse a stampare a schermo le scritte una sola volta ma in continuazione...Ho copiato esattamente il codice presente sul tuo sito. Ho provato in seguito anche con altri script. Ma sempre sto problema... la pagina vien fuori orrenda.. ripetuta più volte nella pagina.. Solo dopo un pò ho scoperto che il problema è dato dalla microSD inserita nell'ethernet Shield... qualcuno sa perchè? :S potrebbe essere difettosa la mia microSD?
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Sr. Member
Karma: 0
Posts: 277
|
 |
« Reply #34 on: March 01, 2011, 01:33:12 pm » |
Premetto che sono anche io alle prime armi, quindi prendi quello che ti dico con le molle.. potrebbe essere un problema di alimentazione? Con che cosa lo alimenti? Usb del pc o alimentazione esterna? Magari se lo alimenti con il pc , quelli che esce dall' usb non è sufficiente a tenere anche la uSD. P.s. Quello non è il mio blog, io ho semplicemente preso spunto da li per fare il mio codice, e ottenere quello che c'è nelle pagine precedenti.. Il mio codice è un po diverso da quello su ioscripto.it  Se guardi dietro ci sono un paio di immagini di quello che ne è uscito fuori  Ti posto un codice semplificato senza grafica, che avevo postato per un altro utente... L'idea di base l'ho presa qui http://www.ioscripto.it/arduino-accendere-led-via-web/ . Poi ho semplificato e modificato un po la cosa e ti ho scritto velocemente il codice essenziale per fare in modo di vedere lo stato del led. P.S. Grazie a Pitusso per i suggerimenti fondamentali  Comunque essenzialmente si tratta di giocare un po con dei booleani. associ lo stato al valore di un booleano. Se flag=true allora il led è acceso, se flag=false il led è spento. Poi per stampare lo stato usi un client.println per stampare il codice html che vuoi... Spero di essere stato chiaro. Buon divertimento. P.s. se carichi questo sketch di base su arduino, puoi vedere velocemente come funziona #include <String.h> #include <SPI.h> #include <Ethernet.h> byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Indirizzo MAC byte ip[] = { 192, 168, 1, 2 }; // ip in lan byte subnet[] = { 255, 255, 255, 0 }; //subnet mask Server server(80); //porta server
String readString; //string boolean flag1 = false; //Inizializzo lo stato del led
void setup(){ Ethernet.begin(mac, ip, subnet); pinMode(2, OUTPUT); Serial.begin(9600); } void loop(){ Client client = server.available(); if (client) { boolean currentLineIsBlank = true; while (client.connected()) { if (client.available()) { char c = client.read(); readString.concat(c); if (c == '\n' && currentLineIsBlank) { Serial.print(readString); if(readString.indexOf("Led=2") > 0) { digitalWrite(2, HIGH); // Accendi Led flag1 = true; } if(readString.indexOf("Led=02") > 0) { digitalWrite(2, LOW); // Spegni Led flag1 = false; } // INIZIO DICHIARAZIONE PAGINA HTML client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html"); client.println(); client.println("Led"); client.println("<span>STATO: </span>"); if (flag1) { client.println("<span style='color:green'>ON</span>"); } else { client.println("<span style='color:red'>OFF</span>"); } //comando ON OFF client.println("<a href='/?Led=2'>ON</a> |<a href='/?Led=02'>OFF</a>"); client.println("</body></html>"); //Resetto "String" per la prossima lettura readString=""; //Fermo il client client.stop(); } } } } }
|
|
|
|
« Last Edit: March 01, 2011, 01:45:27 pm by dr4gone »
|
Logged
|
|
|
|
|
Offline
Full Member
Karma: 3
Posts: 104
|
 |
« Reply #35 on: March 01, 2011, 01:47:36 pm » |
Guarda ho provato prima con l'USB e mi dava sto problema. Ma anche con l'alimentatore 7,5 V e 1A mi da questo problema.
Ho risolto appunto rimuovendo la microSD. boh.. forse hai ragione è un problema di alimentazione, ma per averne conferma dovrei fare altre prove.
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Sr. Member
Karma: 0
Posts: 277
|
 |
« Reply #36 on: March 01, 2011, 01:52:25 pm » |
prova!!  Altrimenti aspettiamo che qualcuno più esperto o con gli stessi problemi si faccia avanti.. Io ancora non mi sono cimentato con l'uso della microSD perchè sono preso da altri progettini con moduli RF e simili  , ma prima o poi ci dovrò tornare... quindi se trovi la soluzione e poi la condividi non sarebbe male 
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Sr. Member
Karma: 0
Posts: 277
|
 |
« Reply #37 on: March 14, 2011, 11:07:59 am » |
Ho provato a usare il tuo codice... :S Sto usando Chrome come browser ma la pagina dopo che accendo o spengo il led oppure basta anche ricaricarla si sformatta in modo impressionante. Come se il ciclo non si limitasse a stampare a schermo le scritte una sola volta ma in continuazione...Ho copiato esattamente il codice presente sul tuo sito. Ho provato in seguito anche con altri script. Ma sempre sto problema... la pagina vien fuori orrenda.. ripetuta più volte nella pagina.. Solo dopo un pò ho scoperto che il problema è dato dalla microSD inserita nell'ethernet Shield... qualcuno sa perchè? :S potrebbe essere difettosa la mia microSD?
Hai risolto poi? Or ora, ho messo una microsd anche io, ed ho lo stesso problema.
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Sr. Member
Karma: 0
Posts: 277
|
 |
« Reply #38 on: June 12, 2011, 04:03:31 am » |
Ciao riprendo questo post.. Ho notato che ultimamente grazie alla libreria modificata da Gianni C, si può facilmente giocare con la micro sd, quindi stamattina ho deciso di cimentarmi velocemente anche io, cercando di passare questo su micro sdTralasciando la grafica che devo ancora sistemare, ho un problema che non mi spiego. Ogni volta che mando su un uscita digitale un livello logico alto, il sensore di temperatura aumenta di 2 °C la temperatura... Per vedere e provare cosa intendo cliccate quiIl secondo problema è che non riesco a fare una semplice funzione spegni tutto... Io avevo pensato di fare un marker @E e dedicarlo a questa funzione, ma non riesco proprio a farlo andare. Suggerimenti? allego lo sketch provvisorio
|
|
|
|
|
Logged
|
|
|
|
|
Galliate (NO) Italia
Offline
Full Member
Karma: 0
Posts: 154
Sviluppo sistemi software PLC/DCS/SCADA
|
 |
« Reply #39 on: June 12, 2011, 04:52:52 am » |
Ciao, io vado a leggere le temperature del mio progetto una volta ogni 60sec, allego parte dello sketch... void loop() { set_replacements_array(); // process incoming connections one at a time forever if (has_filesystem) { webserver.processConnection(); } unsigned long currentMillis = millis(); if(currentMillis - previousMillis > interval) { loop_temp(); Serial.println(floatToString(str_AN1, Temp_inH2O, 2, 6)); Serial.println(floatToString(str_AN2, Temp_outH2O, 2, 6)); Serial.println(floatToString(str_AN3, Temp_esterna, 2, 6)); Serial.println(floatToString(str_AN4, Temp_ambiente, 2, 6)); Serial.println(floatToString(str_AO1, Set_start[0], 2, 6)); Serial.println(floatToString(str_AO2, Set_stop[0], 2, 6)); Serial.println(floatToString(str_AO3, Set_start[1], 2, 6)); Serial.println(floatToString(str_AO4, Set_stop[1], 2, 6)); Serial.println(floatToString(str_AO5, Set_start[2], 2, 6)); Serial.println(floatToString(str_AO6, Set_stop[2], 2, 6)); previousMillis = currentMillis; } }
e non ho mai avuto problemi nelle letture della AI dovute ad attivazione dei DO, l'unica cosa che mi viene in mente, metti un +5v in Aref...
|
|
|
|
|
Logged
|
kattivik76 Sviluppo e realizzazione Progetti ArduinoTeamspeack -> Arduino.cc -> 79.38.142.178:9987
|
|
|
|
Italy
Offline
Sr. Member
Karma: 0
Posts: 277
|
 |
« Reply #40 on: June 12, 2011, 05:18:39 am » |
Non mi serve aggiornare ogni 60 secondi,, ma una cosa semplice... Ogni volta che si richiede la pagina si rileva la temperatura...
Cmq ho provato ad alimentare l'arduino con un alimentatore esterno e non tramite l'usb dal pc.. ora la differenza di temperatura è di 1 Grado ogni volta che aziono un pin digitale.
Bho non me lo spiego.. Non credo che sia problema di codice.. ma di tensione e shield.. Che ne dite?
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 87
Posts: 8501
:(){:|:&};:
|
 |
« Reply #41 on: June 12, 2011, 05:27:35 am » |
si, direi che quando accendi illed provochi un calo di tensione che sbarella un pò tutto... cos'hai attaccato all'arduino? che board stai usando? da quello che ho capito usi anche la microSD che magari ciuccia un pò (non so)
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Sr. Member
Karma: 0
Posts: 277
|
 |
« Reply #42 on: June 12, 2011, 05:30:31 am » |
arduino UNO, 3 led, un sensore di temp lm35 una ethernet shield e la microsd sull'eth shield. Sto alimentando tutto con un akimentatore 7.5V 1 Ampere
|
|
|
|
|
Logged
|
|
|
|
|
0
Offline
Tesla Member
Karma: 87
Posts: 8501
:(){:|:&};:
|
 |
« Reply #43 on: June 12, 2011, 05:51:02 am » |
da quanto la resistenza sui led?
|
|
|
|
|
Logged
|
|
|
|
|
Italy
Offline
Sr. Member
Karma: 0
Posts: 277
|
 |
« Reply #44 on: June 12, 2011, 05:54:32 am » |
|
|
|
|
|
Logged
|
|
|
|
|
|