Show Posts
Pages: 1 ... 13 14 [15] 16 17 ... 400
211  International / Software / Re: Implementazione tasto invio on: July 15, 2014, 12:33:36 pm
Ma ogni tre per due cambi il codice, non dici nulla e ... fai le domande ????  smiley-eek smiley-eek smiley-eek

Come si fa a seguirti se non spieghi ???  smiley-roll

Ora vuoi trasmettere l'intero contenuto della SD quindi ???

In tal caso è ovvio che, visto che nel corpo dell'HTML invii direttamente il file di testo, esso deve contenere la formattazione HTML e non solo le righe che, altrimenti ... sicuramente vengono stampate una di fila all'altra !

Guglielmo

212  International / Generale / Re: Risuonatore 16 Mhz on: July 15, 2014, 12:29:42 pm
Ok dai allora sta sera ne ordino uno da 30. Anche da RS comunque ce n'è solo da 30 o 39... sono proprio introvabili allora smiley-lol

Ehhhh ????  smiley-eek smiley-eek smiley-eek

Ma dove hai cercato ??? ... eccoli QUI  smiley-twist smiley-twist smiley-twist

Guglielmo
213  International / Software / Re: Implementazione tasto invio on: July 15, 2014, 12:26:34 pm
Dove ???  E perché println() e non print() ???  E a che scopo ???

Guglielmo
214  International / Hardware / Re: Alimentatore da corrente per Arduino UNO problema on: July 15, 2014, 12:23:42 pm
Perché, come dice Uwe ...

Dimenticate tutti lo stabilizzatore che sta sul Arduino. Se deve dissipare 4V per 500-600mA  va in incandescenza.

... probabilmente il regolatore di tensione va in protezione termica !

Per questo suggerisce un bel alimentatore stabilizzato da 5V, 1 o 2 A, per alimentare direttamente il tutto.

Guglielmo
215  International / Hardware / Re: Progetto di una semplice centrale di allarme antifurto on: July 15, 2014, 10:56:31 am
@ Fenix992 :

prima di tutto, essendo questi i tuoi primi post, ti consiglio di presentarti QUI e di leggere con attenzione il REGOLAMENTO ...

... poi, dato le sostanziali modifiche che vuoi fare ... non è il caso che provi a pensare ad una soluzione tua con solo quello che ti serve invece di cercare di adattare un progetto più complesso ???

Comincia a buttarla giù, magari aprendo un nuovo thread e ... poi noi cerchiamo di darti una mano dove hai difficoltà.

Guglielmo
216  International / Hardware / Re: acquisto sonda di profondità on: July 15, 2014, 10:34:04 am
Devi usare un convertitore RS232-TTL che provvederà anche alla inversione di cui parlava Guglielmo.

NO, NO, per carità ... leggi bene il datasheet cyberhs, usa lo standard RS-232, ma NON i livelli :

Quote
RS232 data format (with 0V to Vcc levels)

... quindi NON deve acquistare nulla, deve solo mettere la flag a true e stop smiley

Guglielmo
217  International / Hardware / Re: acquisto sonda di profondità on: July 15, 2014, 10:23:10 am
Skiro ... mi accorgo ora che stai parlando delle stesse cose QUI, dove ti ho anche risposto e data la soluzione. Ora ...
... il cross-posting è PROIBITO da regolamento !!!

Quindi ... decidi se vuoi continuare qui o li ... ma uno dei due thread verrà chiuso dal moderatore !

Guglielmo
218  International / Hardware / Re: acquisto sonda di profondità on: July 15, 2014, 10:12:37 am
Allora,
se leggi BENE il datasheet che ci hai indicato, a pagina 2 dice chiaramente :

Quote
Pin 5-Serial Output: The MB736X sensors have an RS232 data format (with 0V to Vcc levels) and the MB738X sensors have a TTL outputs.

Tu hai preso una MB7369 e quindi ... formato RS232 e NON TTL ... e ... i bit sono invertiti (LOW/HIGH).  smiley-confuse smiley-confuse smiley-confuse

Fortunatamente, la SoftwareSerial, che stai usando, ha un parametro NON documentato ma che puoi vedere guardando il suo costruttore nel codice :

Code:
SoftwareSerial::SoftwareSerial(uint8_t receivePin, uint8_t transmitPin, bool inverse_logic /* = false */) :

quindi ... istanziala così :

Code:
SoftwareSerial mySerial(10, 11, true); // RX, TX, Inverse Logic

... e dovresti cominciare a vedere delle cose sensate, ovvero :

Quote
The output is an ASCII capital “R”, followed by four ASCII character digits representing the range in millimeters, followed by a carriage return (ASCII 13).

Guglielmo
219  International / Software / Re: Implementazione tasto invio on: July 15, 2014, 04:37:28 am
... occhio che, rispetto all'esempio di AdaFruit, hanno cambiato la sintassi della parte iniziale che diventa :

Code:
if (!sd.begin(4, SPI_HALF_SPEED)) {

... lo vedi aprendo gli esempi a corredo della libreria.

Ora devi solo rimettere la tastiera PS2 e vedere se va tutto anche con quella smiley-wink

Guglielmo
220  International / Software / Re: Implementazione tasto invio on: July 15, 2014, 04:35:25 am
Mi ci sono divertito un po ...

Code:
#include <SdFat.h>
#include <SPI.h>
#include <Ethernet.h>

//
const int  SIZE  = 300;
//
char c;
char temp[SIZE];
char temp1[SIZE];
int i;
//
SdFat sd;
SdFile myFile;
EthernetClient client;
//
byte mac[]={0x90, 0xA2, 0xDA, 0x0F, 0x41, 0xD3};
IPAddress ip (192,168,1,238);
EthernetServer server = EthernetServer(80);
//
//
void setup() {
   delay(1000);         // tempo per evitare possibili problemi con il bootloader
   //
   temp[0] =0x00;
   temp1[0]=0x00;
   i = 0;
   //
   pinMode(4, OUTPUT);
   pinMode(10, OUTPUT);
   digitalWrite(4, HIGH);
   digitalWrite(10, HIGH);
   //
   Serial.begin(9600);
   Serial.println(F("Inizializzazione sistema ... attendere prego ..."));
   Serial.println();
   //
   Ethernet.begin(mac, ip);
   server.begin();
   Serial.print(F("Inizializzazione Ethernet completata, IP: "));
   Serial.println(Ethernet.localIP());
   Serial.println();
   //
   if (!sd.begin(4, SPI_HALF_SPEED)) {
      Serial.println(F("Inizializzazione SD card fallita ..."));
      return;
   }
   else {
      Serial.println(F("Inizializzazione SD card completata"));
   }
   //
   //if (SD.exists("test.txt")) {
   //   SD.remove("test.txt");
   //}
   Serial.println(F("... sistema inizializzato."));
   Serial.println(F("Immettere un messaggio ... CR per registrare"));
}
//
//
void loop() {
   //
   // verifica se c'è una connessione su ethernet ...
   client = server.available();
   if (client) {
      boolean currentLineIsBlank = true;
      while (client.connected()) {
         if (client.available()) {
            char c = client.read();
            if (c == '\n' && currentLineIsBlank) {
               client.println("HTTP/1.1 200 OK");
               client.println("Content-Type: text/html");
               client.println();
               client.println(temp1);
               break;
            }
            if (c == '\n') {
               currentLineIsBlank = true;
            }
            else if (c != '\r') {
               currentLineIsBlank = false;
            }
         }
      }
      delay(1);
      client.stop();
   }
   delay(50);
   //
   // legge la tastiera e, se occorre, salva su SD ...
   leggiTastiera();
}
//
//
void leggiTastiera() {
   // verifica se c'è un tasto disponibile ...
   if (Serial.available()) {
      // ... si leggilo e stampalo
      c = Serial.read();
      Serial.print(c, HEX);
      // verifica se è CR o se il buffer è pieno ...
      if ((c == 0x0D) || (i == (SIZE - 1))) {
         // SI, salva la stringa e azzera quella di lavoro
         Serial.println(F(" CR ricevuto"));
         temp[i] = 0x00;
         i = 0;
         strcpy(temp1, temp);
         //
         if (!myFile.open("test.txt", O_RDWR | O_CREAT | O_AT_END)) {
            Serial.println(F("Error opening test.txt file"));
         }
         else {
            Serial.print(F("Scrivo su SD: "));
            Serial.println(temp);
            myFile.println(temp);
            myFile.close();
         }
      }
      else {
         // NO, salva il carattere e incrementa il puntatore
         Serial.print(F(" Normale carattere: "));
         Serial.println(c, DEC);
         temp[i] = c;
         i++;
      }
   }
}

FUNZIONA !!!!  smiley-lol smiley-lol smiley-lol

Guglielmo
221  International / Software / Re: Implementazione tasto invio on: July 15, 2014, 04:07:11 am
... vedo che la SdFat ... è un bel po' diversa ...  smiley-roll

Ho idea che devi dedicarci un po' di tempo a studiartela ... e a provarla ... ma sarà tempo ben speso perché ...
... se AdaFruit dice che va, mi fido smiley-wink

Fammi sapere smiley-wink

Guglielmo
222  International / Software / Re: Implementazione tasto invio on: July 15, 2014, 03:58:51 am
Ho cercato con Google e .. mi sembra ci siano vari problemi tra Ethernet e SD ...  smiley-eek smiley-eek smiley-eek

Però, QUESTO tutorial di Adafruit, attraverso l'utilizzo della libreria SdFat ... mi sembra che risolva.  C'è da provare ...

Guglielmo
223  International / Software / Re: Implementazione tasto invio on: July 15, 2014, 03:35:50 am
esattamente la scrittura su SD adesso fallisce nel momento in cui lo sketch legge la riga
Code:
EthernetServer  server(80)

Ehhhh ??? in che senso ??? la scrittura è successiva, mica avviene in quel momento ??? Cosa intendi dire ???

Guglielmo
224  International / Software / Re: Implementazione tasto invio on: July 15, 2014, 03:27:38 am
L'ho fatto anche io ... funziona tutto meno ... la scrittura su SD ... devo capire perché la :

Code:
myFile = SD.open("test.txt", FILE_WRITE);

ritorna 0 ovvero FALSE ovvero ... non apre il file ...  smiley-roll

Guglielmo
225  International / Software / Re: Implementazione tasto invio on: July 15, 2014, 02:59:45 am
... non sarebbe la prima volta che la Ethernet crea dei casini ...  smiley-roll

Solo per fare una prova ...
... invece di usare la libreria PS2Keyboard.h (togli l'include) ... prova a leggere i caratteri dalla seriale (invece che dalla tastiera PS2) con le :

- Serial.available()
- Serial.read()

... e vedi se così funziona.

Non vorrei che la PS2Keyboard ... usi interrupt che vanno in conflitto, in qualche strano modo, con la Ethernet ...  smiley-roll

Ethernet ed SD ... funzionano ... questo è certo, quindi ...

Guglielmo
Pages: 1 ... 13 14 [15] 16 17 ... 400