Show Posts
Pages: [1] 2 3
1  International / Software / Re: SD error code on: August 26, 2013, 07:00:43 am
la shield SD che ho usato adesso è questa

http://www.ladyada.net/make/logshield/

ho rimosso RTC perché non mi serviva



2  International / Software / [RISOLTO] SD error code on: August 26, 2013, 03:34:38 am
Ho provato una shield sd che ha un traslatore di livello, e il problema non si è più presentato. Per info la shield monta un 74HC125

Grazie a tutti.

Ciao
3  International / Software / Re: SD error code on: August 25, 2013, 05:47:32 am
Ho fatto delle prove e ho visto che chiudendo lo stream del file aiuta, nonostante questo il problema si è ripresentato, ho notato che succede quando ho più attività da parte della shield GPRS (problemi di linea o scarsa, ripetuti tentativi di connessione)

Chiedo scusa a m_ri per non aver testato meglio i picchi di alimentazione.
Quote
durante la scrittura di dati non salta mai l'alimentazione?

4  International / Software / Re: SD error code on: August 23, 2013, 05:05:04 pm
Non sono sicuro, ma in qualche altro post avevo letto che non è sicuro tenere il file aperto in scrittura senza mai chiuderlo.
Mi sembra che nel tuo codice non chiudi mai il file.

ok, ho aggiunto al codice

         
          sdlog.close();


faccio qualche prova e vediamo come va
5  International / Software / Re: SD error code on: August 23, 2013, 04:55:42 pm
Quando metto la scheda nel pc, il file è illegibile, l'unico modo è riformattare la sd. Ho fatto le prove con un alimentare, e non ho mai visto sbalzi ma il risultato è lo stesso.

6  International / Software / SD error code on: August 23, 2013, 03:23:29 pm
Ciao a tutti,
cortesemente se mi potete aiutare su un problema nella scrittura di un file su SD, in pratica dopo un certo numero di scrittura il file viene corrotto, o in alcuni casi ricevo un messaggio di errore  "error code: 0x6", non c'è una costante nell'errore, a volte capita dopo pochi minuti, a volte dopo diverse ore. Ho provato anche a cambiare la modalità SPI sostituire la SD sia di formato che di produttore.

questo è il codice
Code:

#include <OneWire.h>
#include <DallasTemperature.h>
#include <SdFat.h>

#define ONE_WIRE_BUS 2

// SD chip select pin
const uint8_t chipSelect = 10;

SdFat sd;

OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
DeviceAddress insideThermometer;

unsigned long timeWait;
int numInterval;
char ID[] = "12345";


void setup(void)

  Serial.begin(19200); 
 
  sensors.begin();
  if (!sensors.getAddress(insideThermometer, 0))
     Serial.println("Unable to find address for Device 0");
       
  Serial.print("Init SD card..."); 
 
  if (!sd.begin(chipSelect,SPI_HALF_SPEED)) { //oppure SPI_SIXTEENTH_SPEED
    sd.initErrorHalt();
    Serial.print("error \n");
   
  } else { 
Serial.print("ok \n");
  }
 
  numInterval = 4;
  timeWait = 120;
 
}

void GetDataLog()
{          
        byte nlog = 1;       

do {
  delay(timeWait*1000); 
   
  ofstream sdlog("datalog.txt", ios::out | ios::app);    

  sdlog << ID << "|" <<  getTemp() << endl;                 

  if (!sdlog)
    sd.errorHalt("append failed");
             
          Serial.print(ID);Serial.println(getTemp());         
} while(nlog++ < numInterval);
}

float getTemp()

         sensors.requestTemperatures();

         return sensors.getTempC(insideThermometer);         
}


void loop(void)
{     
  GetDataLog(); 
   
/*GPRS
invio log...
*/   
}


la schield SD è posta sopra a quella del GPRS

grazie
7  Topics / Product Design / Re: Arduino Uno + GPRS + SD on: July 23, 2013, 03:22:29 pm
thanks for the reply.
there is already something where to start?
8  Topics / Product Design / Arduino Uno + GPRS + SD on: July 23, 2013, 03:06:13 pm
Hi,
I would like to create a single PCB with Arduino Uno + GPRS + SD Card already exists something similar to Eagle

Bye
9  Products / Arduino GSM Shield / Re: Direct AT Commands to shield (for getting time) on: April 28, 2013, 09:12:59 am
Hi,
you can try something like


SoftwareSerial _gprs;

...

_gprs.println("AT+CCLK?");
_gprs.flush();
      
            
   while(_gprs.available()!=0)
   {   
      delay(300);
      Serial.print(_gprs.read());         
   }


10  Using Arduino / Networking, Protocols, and Devices / Re: Arduino UNO | ICOMSAT v1.1 SIM900 GSM Module on: April 28, 2013, 08:43:39 am
Hi,
did you try to set the tx rx pin of 7 and 8

11  International / Hardware / Re: stalker + gprs on: October 23, 2012, 04:07:38 am
Quote
Nel wiki ho letto questo:
Quote
When using GPRS Shield with Seeeduino Stalker v2.0 please remember to dismount the OK_READ Jumper (i.e. open it). This will disconnect the Battery Charger IC's OK pin from the microcontrollers Digital Pin 7 and hence allow unhindered communication with GPRS Shield using NewSoftSerial Library.

dalla versione 2.2 in poi non c'è più quel jumper, a quanto pare è stata resa compatibile con il GPRS. Escludo anche un difetto della stalker perchè ne ho due e altri due di GPRS smiley-sad e non vanno.

Quote
Poi dovresti controllare i livelli dei segnali, perché Arduino lavora a 5V, la Stalker a 3.3V e il GPRS a 2.8V.   

dovrei essere apposto ho provato singolarmente ognuno e funzionano
12  International / Hardware / stalker + gprs on: October 23, 2012, 01:59:57 am
Ciao, ho un problema con la Seeeduino Stalker v2.3, in pratica sembra non comunicare con la shield GPRS  1.4 sempre della Seeeduino, non ho capito se ci sono settaggi "particolari" da fare per l'uso della stalker, leggendo la pagine wiki non ho trovato niente (spero di sbagliarmi), fatto è che se uso Arduino UNO con questa shield GPRS funziona tutto, e lo sketch e sempre lo stesso.

Grazie per l'aiuto
13  International / Software / Re: Uso di troppi "IF" con ethernet shield on: October 20, 2012, 05:35:08 pm

Ciao, usare PROGMEM  per archiviare le stringhe in flash ti aiuta a risparmiare RAM, è utile se hai tante stringhe, ma per poter usare le stringhe devi recuperala dalla flash e caricarle in RAM, ad ogni modo provo a farti un piccolo esempio di come lo sto usando io, spero che il codice sia chiaro

Code:
#include <avr/pgmspace.h>
 
prog_char CIP [] PROGMEM = {"<a href='/accendi0'>Accendi LED 0</a><br/><a href='/spegni0'>Spegni LED 0</a><br/>"};
char *buf;


void setup() {   
  Serial.begin(9200); 
}

void loop() {
 
  SendATCmdWaitRespP(CIP);
  Serial.println(buf);
  delay(2000);
  free(buf); //importante
 
}

void SendATCmdWaitRespP(prog_char *str)
{
        buf = (char *) malloc(LenP(str)*sizeof(char));
byte i=0;
       
for (char c; (c = pgm_read_byte (str)); str++)
      buf[i++] = c;
       
        buf[i] = '\0';              
}

byte LenP(prog_char *str)
{
byte i=0;
       
        for (char c; (c = pgm_read_byte (str)); str++)
i++;               

return i;
}

magari c'è un modo migliore  smiley-wink e imparo anch'io.
14  International / Software / Re: MODULO GPRS con SIM900 on: October 12, 2012, 12:44:15 am
usa direttamente la Stringa per creare un array char cosi puoi accodarlo alla stringa di invio

Code:
   
    ....
     char cVal[6];
     Z.toCharArray(cVal, 6) ;
   
      char *mychar = strcat("/data_rx/ricezione_data.php?seriale=98890211&campo=",cVal);
   
   
    Serial.println(mychar);

    inet.httpGET("www.miosito.it",80,mychar,msg,50);
15  International / Software / Re: MODULO GPRS con SIM900 on: October 11, 2012, 04:46:44 am
devo aver fatto un po di pasticci... credevo di aver risposto ma non vedo il mio post  smiley-razz

allora il metodo che ti ho scritto prima lo devi mettere nella libreria, e come ti dicevo magari esiste già un metodo simile cmq... dopo nel tuo sketch dovresti scrivere una cosa del genere

Code:
   char res[30];

   ...
   gsm.SimpleWriteIn("AT+CSQ");
   delay(5000);
   gsm.WhileSimpleRead(res); //nella res trovi la stringa di risposta
   

dopo puoi cercare nel array "res" quello che ti serve, come ha detto cyberhs, il volore trovato puoi costruirti una nuova stringa e inviarla ("/pagina.php?segnale="+valore trovato) oppure usarlo nelle condizioni che dicevi prima.

ah dimenticavo magari nel metodo che aggiungi alla classe metti il fine stringa '\0' a ogni assegnazione
Pages: [1] 2 3