Show Posts
Pages: [1] 2 3 ... 5
1  International / Software / Re: sd card on: August 24, 2013, 06:54:39 am
ok grazie ho male interpretato la descrizione smiley-lol
2  International / Software / Re: sd card on: August 24, 2013, 05:05:12 am
Scusate l'intromissione ma anche io sto facendo delle prove con la SD della ethernet shield tuttavia non riesco a trovare il modo per posizionarmi all'interno della del file per poter leggere dall'inizio o andare alla fine del file
3  International / Generale / Re: Arduino ethernet shield consiglio acquisto on: August 23, 2013, 05:58:26 am
allora il tuo programmino funziona e sono risuscito a trovare il mio indirizzo ip e il dhcp del mio ruter è attivo
4  International / Generale / Re: Arduino ethernet shield consiglio acquisto on: August 23, 2013, 05:47:49 am
allora io uso windows e sfrutto l'ethernet per arduino e il mio pc è collegato tramite wifi, comunque sia non sono molto pratico di reti
5  International / Generale / Re: Arduino ethernet shield consiglio acquisto on: August 23, 2013, 05:43:15 am
 smiley-lol
6  International / Generale / Re: Arduino ethernet shield consiglio acquisto on: August 23, 2013, 05:23:04 am
ok sono riuscito a farlo funzionare con sketch tipo ping e web client ma non riesco a visualizzare pagine collegandomi con l'indirizzo ip sulla bara degli indirizzi cosa puo essere? posto il codice di esempio
Code:
//Aggiungo le librerie necessarie
#include <SPI.h>
#include <Ethernet.h>
 
//definiamo due arrey: il primo per definire l'indirizzo mac, il secondo per definire l'indirizzo IP.
//Per quanto riguarda l'indirizzo IP selezionate un indirizzo valido per la vostra rete locale.
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = {192, 168, 56, 1};

//definiamo la porta di ascolto
EthernetServer ArduinoServer(80);

//variabile char per memorizzare i pacchetti
char Data_RX;
 

void setup()
{
    //inizializziamo la scheda con indirizzo mac e IP, e avviamo il server
    Ethernet.begin(mac, ip);
    ArduinoServer.begin();
}
 
void loop()
{
   //Ascolto delle richieste
   EthernetClient pc_client = ArduinoServer.available();
 
   //Verifico se ci sono richieste tramite "pc_client" true
   if (pc_client)
   {
       //con un ciclo while verifico che il client sia connesso
       while (pc_client.connected())
       {
           //Controllo se ci sono byte disponibili per la lettura
           if (pc_client.available())
           {
               //leggo i byte provenienti dal client
               Data_RX = pc_client.read();
 
               //mediante la presenza di "\n" presente in Data_RX possiamo dedurre che abbiamo ricevuto i dati
               if (Data_RX == '\n')
               {
                   //invio pagina HTML
                   pc_client.println("HTTP/1.1 200 OK");
                   pc_client.println("Content-Type: text/html");
                   pc_client.println();
                   pc_client.print("<html><body><h1>");
                   pc_client.print("<h1>Hello world Arduino Web Server</h1><br /><br />Vieni a visitare <a href=\"http://www.linuxmx.it\">LinuxMX</a></body></html>");
                   
                   //aspetto 1 ms affinche la risposta giunga al browser del client
                   delay(1);
                   
                   //esco dal ciclo
                   break;
               }
           }
       }
 
       //chiudo la connessione
       pc_client.stop();
   }
}

Praticamente io carico il codice e non mi da problemi nel caricarlo, dopodiche per visualizzare il risultato mi devo collegare a http://192.168.56.1 ?
7  International / Generale / Re: Arduino ethernet shield consiglio acquisto on: August 23, 2013, 04:04:55 am
Ho ricevuto finalmente l'arduino ethernet shield compatibile ma non ce traccia di indirizzo MAC, come faccio?
8  International / Generale / Re: Arduino ethernet shield consiglio acquisto on: August 14, 2013, 07:37:27 am
Ok grazie per le info ,comunque credo che prendero una compatibile w5100 , inoltre ho notato che in meno hanno solo i fori del modulo poe che ha me non interessa tanto.
9  International / Generale / Arduino ethernet shield consiglio acquisto on: August 13, 2013, 11:44:31 am
Salve a tutti,
Sono intenzionato a comprare una ethernet shield, però non saprei se acquistare la versione originale o una compatibile.
Mi potreste dare un consiglio non vorrei buttare via i soldi, ma neache ritrovarmi con un prodotto non funzionante.
10  International / Software / Re: i2c Arduino on: March 07, 2013, 04:16:29 pm
Sono riuscito nel mio intento vi posto il codice magari puo tornare utile a qualcuno  smiley-wink

Code:
/*
  Programma che esegue la lettura dei dati dal controller nunchuck della wii e mostra i valori letti tramite monitor seriale

*/

// includo la libreria Wire.h
#include <Wire.h>
 
void setup()
{
 // setto la seriale
 Serial.begin(115200);
 
 // inizio la comunicazione i2c
 Wire.begin();     
 
 // inizializzo il nunchuck
 nunchuckInizializzazazione();
}


void loop()
{
 // chiamo la funzione per ottenere i dati dal nunchuck
 nunchuckRichiestaDati();
 
 // chiamo la funzione per inviare i dati dalla seriale e stamparli a video
 nunchuckStampaDati();
 
 // inserisco un ritardo per non sovraccaricare il processore
 delay(200);
}

// --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
//                                                                            Nunchuck funzioni



//array utilizzato per immagazzinare i dati in arrivo dal nunchuck,
static uint8_t nunchuck_buf[6];

// funzione di inizializzazione del nunchuck
void nunchuckInizializzazazione ()
{
 
 // inizio la trasmissione con la periferica indicando l'indirizzo della stessa 0x52
 Wire.beginTransmission(0x52);
 
 // trasmetto l'indirizzo della memoria
 Wire.write(0x40);     
 
 // trasmetto uno 0 perchè voglio leggere i dati dalla periferica
 Wire.write(0x00);       
 
 // fermo la trasmissione
 Wire.endTransmission();   
}




// funzione che invia la richiesta alla periferica per ottenere dati
void nunchuckInviaRicezione ()
{
 // inizio la trasmissione con la periferica indicando l'indirizzo della stessa 0x52
 Wire.beginTransmission(0x52); 
 
 // trasmetto un byte con valore '0' in questo modo comunico che la periferica deve inviare i dati da leggere
 Wire.write(0x00);       
 
 // fermo la trasmissione
 Wire.endTransmission(); 
}



// funzione che riceve i dati e li immagazzina in un buffer
int nunchuckRichiestaDati()
{
 // creo un contatore per scorrere il buffer contenente i dati ricevuti
 int cnt = 0;
 
 // invio la richiesta alla periferica di 6 byte
 Wire.requestFrom (0x52, 6);   
 
 // mentre ci sono dati da leggere, leggo i dati e li memorizzo nel buffer
 while (Wire.available () != 0 )
 {
   // leggo  i byte che arrivano e li memorizzo nel buffer
   nunchuck_buf[cnt] = Wire.read();
   
   // mi sposto all'elemento successivo del buffer
   cnt++;
 }
 // controllo che il quantitaivo di dati arrivati sia giusto e comunico il risultato
 if(cnt = 6)
 {
   // confermo che i dati sono stati ricevuti correttamente sia all'utente che alla periferica
   nunchuckInviaRicezione();
   Serial.println("OK");   
 }
 else
 {
   //  comunico che i dati non sono giusti e che c'è stato un errore
   Serial.println("ERRORE");
 }

 // restituisco 0
 return 0;
}

// funzione che stampa i dati arrivati, i dati di accelerazione sono lunghi 10 bit, quindi ne leggiamo 8 poi aggiungiamo gli ultimi 2 bit
void  nunchuckStampaDati ()
{
 
/*
DOCUMENTAZIONE SUL PACCHETTO DATI INVIATO DALLA PERIFERICA

Byte/Bit  7    6    5    4    3    2    1    0
       
1         Asse X del joystick analogico
2         Asse Y del joystick analogico
3   8 bit MSB del valore dell’accelerazione sull’asse X
4   8 bit MSB del valore dell’accelerazione sull’asse Y
5   8 bit MSB del valore dell’accelerazione sull’asse Z
6   Z    Z    Y    Y    X    X    C    Z
 
*/
 
 // memorizzo i dati del buffer relativi al joypad (x,y) in due variabili
 byte joy_x_axis = nunchuck_buf[0];
 byte joy_y_axis = nunchuck_buf[1];

  // setto a '0' il buffer
  for(int i=0; i <=6 ;i++)
  {
    nunchuck_buf[i] = 0;
  }
 
 // creo due variabili di appoggio
 byte x=0;
 byte y=0;
 
  // taratura nunchuck
  x = abs(joy_x_axis-23);
  y = abs(joy_y_axis-28);

 // stampo il risultato sul monitor
 Serial.print("x = ");
 Serial.print(x,DEC);
 Serial.print(" y = ");
 Serial.print(y, DEC);
 
 Serial.print("\r\n");  // newline
}
 



Tuttavia ho notato una grande difficolta e innaffidabilita dei nunchuck, per esempio spingendo il joystick su i valori per qualche istante anziche aumentare diminuiscone  e poi aumentano di colpo ad esempio se non spinto, il valore è 96, spingendolo passa da 70 e poi a 120,stessa cosa con l' asse x, ho provato a usare anche un' altro nunchuck sempre originale ma il risultato non cambia, è molto piu semplice e affidabile usare un mini joystick resistivo tipo quelli montati sul controller della ps3.
11  International / Software / Re: i2c Arduino on: March 07, 2013, 11:12:35 am
Te come la fai la lettura dei dati? io pensavo di leggere i primi 5 byte e convertire bit a bit il valore della posizione in decimale e sommare i valori decimali di tutti i bit in una variabile (senza tralasciare i 2 bit piu significativi) in modo da avere in decimale il valore della lettura

Io comunque ho ritrovato l'articolo ariginale in cui si fa uso di questa decodifica ma mi pare di capire che è un modo per " tarare il nunchuck alla buona", quindi iopenso che i comuni mortali non usano questo metodo.
12  International / Software / Re: i2c Arduino on: March 07, 2013, 09:04:53 am
nid69ita hai raggione non ci stavo proprio pensado abituato con l'elevazione in matematica e l' ho letto in quel modo, comunque perchè c'è bisogno di fare la XOR con 0x17(23 in decimale) e poi sommargli sempre 0x17?
13  International / Software / Re: i2c Arduino on: March 06, 2013, 04:58:45 pm
il valore della letture per esempio dell' asse x del potenziometro è a 10 bit divisi in 2 bit e 8 bit quindi pensavo di concatenarli e memorizzarli in una variabile intera a 16  bit in modo da averli uniti e non suddivisi in due variabili
14  International / Software / Re: i2c Arduino on: March 06, 2013, 04:42:49 pm
Bene sono nella m***a smiley-eek  ma se io leggo un byte e lo concateno con gli altri due bit e ottengo 10 bit che vengo convertiti in intero dici che si puo fare?
15  International / Software / Re: i2c Arduino on: March 06, 2013, 04:32:03 pm
PaoloP approfitta della tua bonta, mi spieghi perchè i valori in binario letti dal nunchuck vengono decodificati con questo metodo, in particolar modo si eleva la lettura X a 0x17 e poi si somma 0x17 che in decimale vale 23

Code:
// metodi di codifica dei nunchuck originali
char nunchuk_decode_byte (char x)
{
 // x = int(x);
 x = (x ^ 0x17) + 0x17;
 return x;
}

Pages: [1] 2 3 ... 5