|
7021
|
International / Italiano / Re: Arduino Uno - usb non riconosciuta
|
on: April 05, 2011, 04:40:47 pm
|
|
dunque, dici che non compare ttyACMX (dove X è un numero) quando connetti l'usb? e che anche da root non va?
Prima di tutto controlliamo che stai usando la sun JDK e non la open, che sarà open ma non sarebbe la prima volta che crea problemi con la seriale (in realtà con processing, ma essendo l'IDE arduino basata su di essa....) quindi: apt-get install sun-java6-jdk update-java-alternatives -s java-6-sun
Probabilmente non funzionerà, ma dobbiamo escludere tutti i possibili errori uno per uno. Non disperare, avevo lo stesso problema, nel mio caso era UDEV che anzichè mettere ttyUSB in /dev lo metteva in una sotto-cartella:
Prima di tutto controlliamo se questo è il caso
1. accendi il pc (importante, se no i comandi successivi potrebbero essere "spuri" dalle cose fatte prima, e quindi più macelloso. 2. da terminale: "ls -la /dev > /tmp/output1" 3. collega arduino 4. da terminale: "ls -la /dev > /tmp/output2" 5. da terminale: "diff /tmp/output1 /tmp/output2" 6. a questo punto sai come si chiama il file creato. Non è molto utile, ma sappiamo che almeno non è un problema di driver.
Ora che abbiamo escluso un errore più subdolo passiamo alla parte di "aggiustazione" 1. da terminale vai nella cartella /etc/udev/rules.d/ Da ora in poi lavori come root, quindi occhio. 2. crea un file che inizi per numero a 2 cifre bello grosso trattino in mezzo(-) nome a caso .rules esempio: 99-UNO.rules 3. apri il file e scrivici: SUBSYSTEMS=="usb", ATTRS{idProduct}=="0001", ATTRS{idVendor}=="2341", SYMLINK+="ttyACM%n" salva il file 4. sempre da terminale come root: udevadm control --reload-rules
fine.
|
|
|
|
|
7024
|
International / Italiano / Re: Arduino Uno - usb non riconosciuta
|
on: April 05, 2011, 03:21:55 pm
|
|
stesso problema un mio amico oggi (che sia una coicidenza?!?!?)
vai su Sistema->amministrazione->utenti e gruppi -> gestisci gruppi -> scegli "dialout" dal menu -> proprieties -> metti la spunta al tuo utente -> ok -> ok-> ok -> etc... FINITO! :-)
in pratica hai dato al tuo utente i permessi di usare la seriale, e visto che il tuo utente lancia arduino IDE, anche arduino IDE ora può finalmente usare la seriale (o meglio la pseudoseriale, mavebè)
|
|
|
|
|
7026
|
International / Italiano / Re: Leggere input analogico e salvare sulla microsd
|
on: April 05, 2011, 03:14:55 pm
|
boolean SDClass::begin(uint8_t csPin) { /*
Performs the initialisation required by the sdfatlib library.
Return true if initialization succeeds, false otherwise.
*/ boolean pass1, pass2, pass3; pass1 = card.init(SPI_HALF_SPEED, csPin); pass2 = volume.init(card); pass3 = root.openRoot(volume); Serial.print("inizializzazione SD 1:"); Serial.println(pass1, BIN); if (!pass1){ Serial.print("ERRORE inizializzazione SD 1:"); Serial.print( card.errorCode() ); Serial.print( " " ); Serial.println( card.errorData() ); }
Serial.print("inizializzazione SD 2:"); Serial.println(pass2, BIN); if ( !pass2 ){ Serial.println("Errore init 2:\nThe value one, true, is returned for success and the value zero, false, is returned for failure. Reasons for failure include not finding a valid partition, not finding a valid FAT file system in the specified partition or an I/O error."); } Serial.print("inizializzazione SD 3:"); Serial.println(pass3, BIN); if (!pass3){ Serial.println("Errore init 3:\nReasons for failure include \a fileName contains an invalid DOS 8.3 file name, the FAT volume has not been initialized, a file is already open, the file already exists, the root directory is full or an I/O error."); } return pass1 && pass2 && pass3; }
prova con questo codice, cosa ti dice?
|
|
|
|
|
7027
|
International / Italiano / Re: Leggere input analogico e salvare sulla microsd
|
on: April 05, 2011, 03:03:08 pm
|
|
l'hai fatto anche per inizializzazione SD 1: inizializzazione SD 2: ??
se è solo il 3 che risponde 0, allora il problema è in quella classe, altrimenti in una delle precedenti
edit: certo che ci vorrebbe una chat stile FB per ste cose, mannaggia...
|
|
|
|
|
7028
|
Using Arduino / Project Guidance / Re: Arduino serproxy
|
on: April 05, 2011, 02:54:50 pm
|
|
read my last post before surrender, it's really easy! processing have many tutorial (also for arduino), with a bit of cut-paste and little programming skill it can be done
|
|
|
|
|
7031
|
International / Italiano / Re: Leggere input analogico e salvare sulla microsd
|
on: April 05, 2011, 02:00:20 pm
|
ok, ora cerchiamo di tracciare l'errore. Prima di tutto modifica nello skecth #include <SD.h> in #include "SD/SD.h" (in linux o mac) o #include "SD\\SD.h" (in windows) ora vai nella cartella arduino, libraries e copia la cartella SD incollala nella cartella sketchbook/nomedeltuoprogetto che è nella home poi chiudi e riapri arduino IDE e prova a compilare, non dovrebbero esserci errori. se è tutto ok (di certo non si sistemerà magicamente andando avanti con questa mini guida) apri il file SD.cpp, cerca il metodo boolean SDClass::begin(uint8_t csPin) e cambialo da così: boolean SDClass::begin(uint8_t csPin) { /*
Performs the initialisation required by the sdfatlib library.
Return true if initialization succeeds, false otherwise.
*/ return card.init(SPI_HALF_SPEED, csPin) && volume.init(card) && root.openRoot(volume); } a così: boolean SDClass::begin(uint8_t csPin) { /*
Performs the initialisation required by the sdfatlib library.
Return true if initialization succeeds, false otherwise.
*/ boolean pass1, pass2, pass3; pass1 = card.init(SPI_HALF_SPEED, csPin); pass2 = volume.init(card); pass3 = root.openRoot(volume); Serial.print("inizializzazione SD 1:"); Serial.println(pass1); Serial.print("inizializzazione SD 2:"); Serial.println(pass2); Serial.print("inizializzazione SD 3:"); Serial.println(pass3); return pass1 && pass2 && pass3; } a questo punto sai quale funzione fallisce. Posta o se sei in grado di andare avanti ricorsivamente da solo posta il nome della classe e la riga in cui hai problemi
|
|
|
|
|
7032
|
Using Arduino / Project Guidance / Re: Arduino serproxy
|
on: April 05, 2011, 01:41:37 pm
|
because flash can't read the serial, you have to use serproxy: serproxy is a TCP and serial server. It reads the incoming connection from serial and output it in it's TCP stream, and vice-versa. it IS a complication because a "missing" of flash. try using java ( RXTX is the library for serial, it's the same used by arduino  )
|
|
|
|
|