Show Posts
Pages: [1] 2 3 ... 9
1  International / Hardware / Re: Scheda arduino?? on: April 01, 2014, 06:07:13 am
Grazie ma la scheda ethernet di arduino duemilanove è compatibile?
2  International / Hardware / Scheda arduino?? on: March 31, 2014, 05:55:45 pm
salve a tutti devo domotizzare tante cose ma ho arduino 2009 quindi ho una memoria di 32kb e il mio sketch non mi entra,
mi soncigliate quale arduino acquistare? qual'è il migliore? con molta memoria?
grazie a tutti

questo è buono? posso fidarmi da qui?
http://www.amazon.it/Arduino-Mega-2560-Rev-3/dp/B0097AU4AU/ref=sr_1_1?ie=UTF8&qid=1396308158&sr=8-1&keywords=arduino+mega2560+rev3

ho una ethernet sheild di arduino duemilanove, posso metterla tranquillamente?
3  International / Software / Re: Conflitto Webserver e SD ? on: March 31, 2014, 10:22:54 am
Mmm..ma in ogni caso ho letto che deve essere utilizzata prima sd e stoppare il webserver o viceversa...
confermate?
4  International / Hardware / Re: Ethernet shield + sd card errore on: March 31, 2014, 07:32:07 am
Anche io ho questo problema, scheda ufficiale... se utilizzo un webserver non mi va la sd...
http://forum.arduino.cc/index.php?topic=229852.msg1658957#msg1658957
Qualcuno ha risolto?
5  International / Software / Conflitto Webserver e SD ? on: March 31, 2014, 06:08:34 am
Salve a tutti, o sono scemo io o arduino!
Non riesco a far funzionare la Sd card su ethernel sheild con arduino duemilanove!
A volte funziona a volte no, ho provato con due sd card sandisk 256MB e 1GB

Con questo sketch funziona:
Code:
/*
  SD card basic file example
 
 This example shows how to create and destroy an SD card file
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 
 created   Nov 2010
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe
 
 This example code is in the public domain.
 
 */
#include <SD.h>

File root;

void setup()
{
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");
  // On the Ethernet Shield, CS is pin 4. It's set as an output by default.
  // Note that even if it's not used as the CS pin, the hardware SS pin
  // (10 on most Arduino boards, 53 on the Mega) must be left as an output
  // or the SD library functions will not work.
  pinMode(4, OUTPUT);

  if (!SD.begin(4)) {
    Serial.println("initialization failed!");
    return;
  }
  Serial.println("initialization done.");

  root = SD.open("/");
  
  printDirectory(root, 0);
  
  Serial.println("done!");
}

void loop()
{
  // nothing happens after setup finishes.
}

void printDirectory(File dir, int numTabs) {
   while(true) {
    
     File entry =  dir.openNextFile();
     if (! entry) {
       // no more files
       //Serial.println("**nomorefiles**");
       break;
     }
     for (uint8_t i=0; i<numTabs; i++) {
       Serial.print('\t');
     }
     Serial.print(entry.name());
     if (entry.isDirectory()) {
       Serial.println("/");
       printDirectory(entry, numTabs+1);
     } else {
       // files have sizes, directories do not
       Serial.print("\t\t");
       Serial.println(entry.size(), DEC);
     }
     entry.close();
   }
}
Funziona solo se modifico queste voci
da pinMode 10 a 4
Code:
 pinMode(4, OUTPUT);

  if (!SD.begin(4)) {
e questi sono i files dentro la SD.

Code:
Initializing SD card...initialization done.
C30~ 0
ANDROI~1/
C18.TXT 854
C20.TXT 854
C21.TXT 854
C19.TXT 854
C17.TXT 854
C23.TXT 854
C27.TXT 854
C28.TXT 854
C24.TXT 854
C22.TXT 854
C25.TXT 854
F25.TXT 854
F26.TXT 854
C26.TXT 854
C29.TXT 854
C29~1.TXT 0
C30.TXT 855
F17.TXT 854
F18.TXT 854
F19.TXT 854
F20.TXT 854
F21.TXT 854
F22.TXT 854
F23.TXT 854
F27.TXT 854
F28.TXT 854
F24.TXT 854
F29.TXT 854
OFF.TXT 854
F30.TXT 854
done!

Se volessi leggere l'interno deii file però c'è un problema.
In un mio sketch con un webserver semplicissimo:
Code:
void 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);
        }
     }
  }
}
e in void setup in più questa riga:
Code:
 Ethernet.begin(mac, ip, gateway, subnet);
mi da errore nella lettura, però la sd la inizializza... sembra ci sia un conflitto con il webserver...
Potete aiutarmi per favore? Grazie

EDIT: Ho scoperto se commentando queta:
 //   Ethernet.begin(mac, ip, gateway, subnet);

funziona se la decommento non va!!
helpp smiley-sad
6  International / Software / Re: Sketch troppo grande :\ on: March 28, 2014, 08:16:42 pm
Scusate il doppio post, ho trovato un Sdcard da 256mb.
Vorrei copiarci tutti gli array così da liberare spazio su arduino e ogni volta leggerli da sd card e inviarli con iRlib.
Code:
/*
  SD card file dump
 
 This example shows how to read a file from the SD card using the
 SD library and send it over the serial port.
   
 The circuit:
 * SD card attached to SPI bus as follows:
 ** MOSI - pin 11
 ** MISO - pin 12
 ** CLK - pin 13
 ** CS - pin 4
 
 created  22 December 2010
 by Limor Fried
 modified 9 Apr 2012
 by Tom Igoe
 
 This example code is in the public domain.
     
 */

#include <SD.h>

// On the Ethernet Shield, CS is pin 4. Note that even if it's not
// used as the CS pin, the hardware CS pin (10 on most Arduino boards,
// 53 on the Mega) must be left as an output or the SD library
// functions will not work.
const int chipSelect = 4;

void setup()
{
 // Open serial communications and wait for port to open:
  Serial.begin(9600);
   while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  Serial.print("Initializing SD card...");
  // make sure that the default chip select pin is set to
  // output, even if you don't use it:
  pinMode(10, OUTPUT);
 
  // see if the card is present and can be initialized:
  if (!SD.begin(chipSelect)) {
    Serial.println("Card failed, or not present");
    // don't do anything more:
    return;
  }
  Serial.println("card initialized.");
 
  // open the file. note that only one file can be open at a time,
  // so you have to close this one before opening another.
  File dataFile = SD.open("C30");

  // if the file is available, write to it:
  if (dataFile) {
    while (dataFile.available()) {
      Serial.write(dataFile.read());
    }
    dataFile.close();
  } 
  // if the file isn't open, pop up an error:
  else {
    Serial.println("error opening datalog.txt");
  }
}

void loop()
{
}
riesco a vedere sulla seriale il contenuto dell'array C30, ma come faccio a prendere quella stringa e salvarlo su array?
io sulla seriale vedo:
Code:
Initializing SD card...card initialized.
4492,4432,596,1600,592,508,592,1608...ecc...ecc...
come faccio a copiare questo valore su un unsigned int C30[] ??? temporanea in arduino? in modo che dopo aver inviato il buffer con con irlib svuoto esso...
Grazie
7  International / Software / Re: Sketch troppo grande :\ on: March 28, 2014, 06:06:19 pm
Mannaggia...
opterei sulla sd ma e fattibile leggere gli array da file e inviarli con un IR?
altre soluzioni?  
Grazie
EDIT:
Code:
         if(readString.indexOf("L=2") > 0) {
come la metto sullo switch case che è una stringa?
dovrebbe venire una cosa del genere
switch(readString.indexOf){
case "L=2": //ecc..ecc
ma da errore
Potete farmi un esempio di come rimuovere quell'if ed usare switch case?
a quanto pare switch accetta solo numeri... percè se metto la a lo interpreta come 97.
Grazie
8  International / Software / Re: Sketch troppo grande :\ on: March 28, 2014, 02:46:19 pm
I vettori li ho messi con progmem perché senno mi si bloccava il webserver e purtroppo mi servono che sono le codifiche del condizionatore.
Non c e altro modo per ottimizzare il codice? ?
9  International / Software / Re: Sketch troppo grande :\ on: March 28, 2014, 02:23:37 pm
manca un # iniziale
era troppo grande e nememno nel forum me lo faceva caricare!
http://pastebin.com/u7EKWC7w
Confido in voi!!
EDIT: credo che
Code:
          if(readString.indexOf("F=22") > 0)
si possa ottimizzare
10  International / Software / Sketch troppo grande :\ on: March 28, 2014, 01:54:06 pm
Salve ragazzi ritorno qui per un problema serio...
Ho uno sketch di 340 righe di codice circa se non di meno.. con i 300!
fatto sta che appena compilo mi dice sketch troppo grande! smiley-sad
Code:
Dimensione del file binario dello sketch: 32.622 bytes (su un massimo di 30.720 bytes)
processing.app.debug.RunnerException: Sketch troppo grande; consultate http://www.arduino.cc/en/Guide/Troubleshooting#size per consigli su come ridurlo.
at processing.app.Sketch.size(Sketch.java:1658)
at processing.app.Sketch.build(Sketch.java:1591)
at processing.app.Sketch.exportApplet(Sketch.java:1613)
at processing.app.Sketch.exportApplet(Sketch.java:1599)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2380)
at java.lang.Thread.run(Thread.java:701)
Uso arduino Duemilanove, c'è qualche possibilità di caricarlo? smiley-sad
Grazie
11  International / Software / Re: Problemone con PROGMEM :( on: March 28, 2014, 05:19:03 am
Grazie!
Beh per quanto riguarda le connessioni indesidirate, essendo che vi si può accedere solo da VPN, penso che sia abbastanza protetta, magari dovrei mettere una password.
Le porte sono chiuse da remoto!
Tu hai qualche consiglio?

Se ha la VPN vuol dire che al momento funziona solo in rete locale.
Quindi dovrebbe essere abbastanza sicuro.  smiley-wink


esatto cosi evito di aprire le porte all'esterno!
12  International / Software / Re: Problemone con PROGMEM :( on: March 27, 2014, 05:51:27 pm
Ragazzi scusate sono tornato adesso a casa, che emozione!
Ho acceso il mio condizionatore ad aria calda da remoto in VPN cosi ho trovato la stanza calda...
Adesso che ho risolto voglio spiegarvi qualcosa.
Chris, di AnalysIR mi ha detto appunto che è meglio utilizzare IRLib perchè Irremote è valida per i telecomandi classici.
Il condizionatore oltre ad inviare on e off nella decodifica ci sta tutto tra cui la ventola, caldo, freddo, timer ecc... ecco perchè sono molto più lunghi.
Comunque se a qualcuno puo interessare ecco cosa ho fatto!




Mi sono fatto un app per Android e tramite una VPN controllo il tutto, posso controllare anche luci etc..!!!
Sto espandendo il mio progetto, sto lavorando adesso con lo speech recognizer, in modo da accendere tutto a voce!!!
13  International / Software / Re: Problemone con PROGMEM :( on: March 27, 2014, 12:41:33 pm
Code:
         if ( readString.indexOf("C=30") > 0 )
            ReadFlash(C30,VDIM(C30)
[code]void ReadFlash(const uint16_t *x , byte len){
  unsigned int buffer[256];
  for (byte i=0; i < len; i++) {
    buffer[i] = pgm_read_word( &x+i );
  }
  My_Sender.IRsendRaw::send(buffer, len, khz);
}
 non va... però compila... perche?

Code:
   buffer[i] = pgm_read_word( x+i );
    Serial.println(buffer[i]);
  }
  My_Sender.IRsendRaw::send(buffer, len, khz);
}

togliendo &
modificando cosi, sulla seriale riesco a vedere tutto l'array C30 però non invia il codice, cioè non mi si accende il condizionatore mentre con questo codice si:

Code:
void loop(){
byte lenght = sizeof(C30)/sizeof(int);
            for (byte i=0; i < lenght; i++)
            {
              buffer[i] = pgm_read_word( &C30[i] );        // forse senza &
             }
             My_Sender.IRsendRaw::send(buffer, lenght, khz);
[/code]


EDIT Adesso funziona tutto correttamente... se ho problemi riscrivo... spero di no
Grazie a tutti ragazzi siete stati gentilissimi smiley-grin
14  International / Software / Re: Problemone con PROGMEM :( on: March 27, 2014, 11:29:51 am
ecco l'errore del compilatore:
Code:
sketch_arduino_con_raw.ino: In function 'void ReadFlash(const uint16_t*, byte)':
sketch_arduino_con_raw:66: error: lvalue required as unary '&' operand
sketch_arduino_con_raw.ino: In function 'void loop()':
sketch_arduino_con_raw:123: error: expected `)' before ';' token


facendo cosi
Code:
   buffer[i] = pgm_read_word( &x+i );
rimane solo l'errore in riga 123 che sarebbe qui
Code:
           ReadFlash(IR,VDIM(IR));          
scusa mi sorge un dubbio...
avendo io questi:

Code:
if ( readString.indexOf("C=30") > 0 )
            ReadFlash(IR,VDIM(IR));          
if ( readString.indexOf("C=29") > 0 )
            ReadFlash(IR,VDIM(IR));          
if ( readString.indexOf("C=28") > 0 )
            ReadFlash(IR,VDIM(IR));          
if ( readString.indexOf("C=27") > 0 )
            ReadFlash(IR,VDIM(IR));    
ecc.ecc...      
come faccio a modificare il codice per dirgli che quando
if ( readString.indexOf("C=30") > 0 )
 deve leggere la stringa C30?  o se C=29 deve leggere e inviare la 29? ecc        
15  International / Software / Re: Problemone con PROGMEM :( on: March 27, 2014, 11:14:55 am
fatto ma ottengo questi errori:
Code:
sketch_arduino_con_raw:63: error: expected `)' before '{' token
sketch_arduino_con_raw.ino: In function 'void ReadFlash(const uint16_t*, byte)':
sketch_arduino_con_raw:67: error: 'lenght' was not declared in this scope
sketch_arduino_con_raw:68: error: lvalue required as unary '&' operand
sketch_arduino_con_raw:70: error: 'lenght' was not declared in this scope
sketch_arduino_con_raw.ino: In function 'void loop()':
sketch_arduino_con_raw:125: error: cannot convert 'const uint16_t**' to 'const uint16_t*' for argument '1' to 'void ReadFlash(const uint16_t*, byte)'
Pages: [1] 2 3 ... 9