Salve a tutti, chiedo aiuto perchè sono bloccato da una giornata intera.
Devo inviare dei codici al mio condizionatore, bene ho decodificato tutti i tasti, e ho testato con la libreria IRlib.h e tutto funziona.
Il problema sorge quando provo a inviare al condizionatore i codici.(prima li provavo a uno a uno.. adesso che ho dichiarato nel codice 60 array penso si riempie la memoria)... Mi si impalla arduino e mi hanno detto qui:
http://forum.arduino.cc/index.php?topic=228773.0
di usare PROGMEM. Ho un 60 array.
PROGMEM prog_uint16_t C30[] = {4492,4432,596,1600,592,508,592,1608,588,1608,596,504,588,508,596,1604,592,504,596,504,596,1604,592,504,600,500,592,1604,600,1600,596,504,596,1600,596,504,596,504,588,1608,596,1600,596,1604,588,1608,600,1600,592,1604,592,1604,600,1600,592,508,596,500,592,508,596,504,596,504,588,508,596,1604,588,508,596,1604,588,1608,600,1600,592,1604,592,508,592,508,596,500,592,1608,596,500,592,508,596,504,596,504,588,1608,596,1604,592,5268,4520,4424,592,1608,596,504,588,1608,596,1604,592,504,600,500,592,1608,596,500,592,508,592,1604,592,508,596,504,596,1600,596,1604,588,508,596,1604,592,504,596,504,600,1600,592,1604,592,1604,600,1600,596,1600,592,1608,588,1608,596,1604,592,504,596,504,600,500,592,508,592,504,600,500,592,1604,592,508,592,1604,592,1608,596,1600,592,1608,588,508,596,504,596,504,588,1608,596,504,600,500,592,504,596,504,588,1612,592,1604,592,1000}; //AnalysIR Batch Export - RAW
PROGMEM prog_uint16_t *IR[] = {C30, C29, C28, C27, C26, C25, C24, C23, C22, C21, C20, C19, C18, C17, F30, F29, F28, F27, F26, F25, F24, F23, F22, F21, F20, F19, F18, F17, OFF};
il C30[] è solo un array,, e gli altri a seguire.
All'interno c'è un webserver con dei bottoni, nulla di che... mi funziona tutto tranne l'invio dei codici perche mi hanno detto che devo leggere prima l'array della PROGMEM.
if(readString.indexOf("C=30") > 0)
My_Sender.IRsendRaw::send(C30, sizeof(C30)/sizeof(int), khz);
Avevo fatto una cosa simile ma non mi si accende il condizionatore.
Potete farmi un esempio per quanto riguarda la lettura della PROGMEM con questo array?
vi posto un po di codice per capirci:
oid loop(){
EthernetClient 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);
// CONDIZIONATORE -- ARIA CALDA --
if(readString.indexOf("C=30") > 0)
My_Sender.IRsendRaw::send(C30, sizeof(C30)/sizeof(int), khz);
............
.......qui continua..........
// INIZIO DICHIARAZIONE PAGINA HTML
client.println(F("HTTP/1.1 200 OK"));
client.println(F("Content-Type: text/html"));
client.println();
client.print(F("<html><head><title>ARDUINO Controllo via WEB</title><meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1' ></head><body>"));
Confido in voi e vi ringrazio anticipatamente.
Saluti