Show Posts
Pages: 1 2 [3] 4 5 ... 7
31  International / Generale / Re: Aiuto programmazione newbye on: May 17, 2012, 03:03:29 pm
sì, nell'inizializzazione dici il numero di elementi che vuoi, e poi però quando li usi parti a contare da 0. il motivo è che così la matematica dei puntatori viene più semplice, ma è roba che non vedi
Capito, grazie mille per la spiegazione!  smiley-lol
32  International / Generale / Re: Aiuto programmazione newbye on: May 17, 2012, 02:49:35 pm
char è una sola lettera, quindi non può contenere una stringa. in olre gli array partono a contare da 0, quindi se dici char posizione[2];
poi puoi usare gli indici 0 e 1: posizione[0]; e posizione[1]; !!!

se metti String (notare la lettera maiscola!) dovrebbe funzionare

edit: String e sistemare gli indici, ovvio smiley

Facendo prove a caso, ho fatto questo prima di leggere la risposta e funziona (anche se non sò perchè)  smiley-grin

Code:
void richiesta_posizione_pinza()
{
  char* posizione[2];
 
  if ( stato_elevatore == 0 )
    posizione[1] = "abbassata";
  else
    posizione[1] = "sollevata";
   
  if ( stato_pinza == 0 )
    posizione[2] = "chiusa";
  else
    posizione[2] = "aperta";
   
  Serial.print( "La pinza e' ");
  Serial.print( posizione[1] );
  Serial.print( " e ");
  Serial.println( posizione[2] );
}

Comunque grazie mille, correggo subito!

Code:
void richiesta_posizione_pinza()
{
  String posizione[2];
 
  if ( stato_elevatore == 0 )
    posizione[0] = "abbassata";
  else
    posizione[0] = "sollevata";
   
  if ( stato_pinza == 0 )
    posizione[1] = "chiusa";
  else
    posizione[1] = "aperta";
   
  Serial.print( "La pinza e' ");
  Serial.print( posizione[0] );
  Serial.print( " e ");
  Serial.println( posizione[1] );
}

Quindi durante l'inizializzazione non si "inizia a contare" da 0?
33  International / Generale / Re: Aiuto programmazione newbye on: May 17, 2012, 02:27:15 pm
Per la domanda sopra penso di aver risolto, grazie comunque  smiley-grin

Ora mi si è presentato un altro problema... Dovuta alle mie carenze di programmazione in C  smiley-fat

Vorrei un array di stringhe, per fare una cosa del genere:

Code:
void richiesta_posizione_pinza()
{
  char posizione[2];
 
  if ( stato_elevatore == 0 )
    posizione[1] = "abbassata";
  else
    posizione[1] = "sollevata";
   
  if ( stato_pinza == 0 )
    posizione[2] = "chiusa";
  else
    posizione[2] = "aperta";
   
  Serial.print( "La pinza e' ");
  Serial.print( posizione[1] );
  Serial.print( " e ");
  Serial.println( posizione[2] );
}

Se metto string al posto di char non funziona, ma neanche così funziona...
34  International / Generale / Aiuto programmazione newbye on: May 17, 2012, 11:08:23 am
Salve a tutti, mi sto cimentando nella gestione di una pinza gestita da motori DC senza finecorsa.
Quindi, devo fare in modo che una volta iniziata la chiusura, dopo un TOT tempo (che dovrà esser calibrato con il tempo che ci mette la pinza a chiudersi ) i motori si fermino.

Purtroppo non ho quì con me nè Arduino, ne il materiale...

Ho pensato ad un algoritmo del genere:

Code:
void chiusurapinza ()
{
  tempo_inizio_chiusura = millis();
  
  if ( stato_pinza == 1 ) // pinza aperta
  {  
    while ( tempo_corrente - tempo_inizio_chiusura < intervallo_apertura )
    {
      tempo_corrente = millis();
      
      digitalWrite( pin_motore_pinza_C, LOW );
      digitalWrite( pin_motore_pinza_D, HIGH );
    }
    
      digitalWrite( pin_motore_pinza_C, LOW );
      digitalWrite( pin_motore_pinza_D, LOW );
      
      stato_pinza = 0; // pinza chiusa
    }
  }
}

Può funzionare secondo voi? Voi come lo avreste fatto?
Avrei voluto evitare di mettere while, che mi limitano un pò il programma.. (durante il while non può ricevere altri dati, o comunque svolgere altre operazioni)
35  International / Generale / Re: Controllare Arduino con un controller della Play Station 2 on: May 13, 2012, 12:50:05 pm
Io mi rifaccio a Google: mettendo arduino playstation controller esce fuori un sacco di roba.

Mmmh grazie mille  smiley
Ho trovato questa: http://www.billporter.info/playstation-2-controller-arduino-library-v1-0/

Non sembra dare problemi, come ho tempo mi metto a capire un pò come funziona  smiley-grin
36  International / Generale / Re: Controllare Arduino con un controller della Play Station 2 on: May 13, 2012, 12:26:42 pm
Ma noi non siamo nella tua testa né tanto meno nel tuo computer per cui non sappiamo cosa usi o cosa stai facendo  smiley-wink

Cmq sì, pare l'errore della versione 1.0 di Arduino che compila codice per la precedente 002x.
Prova con questo codice:
Code:
 #if defined(ARDUINO) && ARDUINO >= 100
  #include "Arduino.h"
  #else
  #include "WProgram.h"
  #endif
Da inserire nel file header della libreria che stai usando.

Ho modificato il file GPSX.h come hai detto, ma purtroppo mi dà lo stesso errore...

Si, hai assolutamente ragione  smiley
Chiedevo se c'era un modo alternativo, sempre "semplice", per interfacciare un Joystick PS2 con arduino, che non preveda l'uso di librerie che danno problemi. Mi sono espresso male  smiley-yell


Quello che voglio fare è un robottino, comandato a distanza con un Joystick PS2 wireless.
La parte del comando motori è praticamente ultimata, devo solo realizzare la basetta del driver motore, così volevo incominciare a capire come poter interfacciare questo Joystick. smiley
37  International / Generale / Re: Controllare Arduino con un controller della Play Station 2 on: May 13, 2012, 12:15:16 pm
Ma non funziona...
Allora è un casino... quando non funziona, non funziona...
Non viene compilato, dà l'errore:

Quote
In file included from D:\Elettronica\Arduino\arduino-1.0-windows\arduino-1.0\libraries\GPSX/GPSXClass.h:7,
                 from sketch_may13a.cpp:1:
D:\Elettronica\Arduino\arduino-1.0-windows\arduino-1.0\libraries\GPSX/GPSX.h:5:20: error: wiring.h: No such file or directorye or directory

Non l'ho specificato perchè pensavo fosse il classico errore che danno le librerie create con vecchie versioni dell'IDE. (da quanto ho capito, non risolvibile)
38  International / Generale / Controllare Arduino con un controller della Play Station 2 on: May 13, 2012, 11:56:45 am
Volevo capire come interfacciare un Joystick PS2 con Arduino...
Stavo vedendo questa pagina sul playground: http://www.arduino.cc/playground/Italiano/ArduinoPsx

Oltre al fatto che sono curioso di sapere come funziona...  smiley-yell
Per fare un prova, visto che ho letto di molte librerie non più funzionanti, ho provato a compilare il programma di prova, dopo aver installato la libreria.
Ma non funziona... Qualche consiglio su come poterlo interfacciare?

39  International / Generale / Re: StripLed Blu PWM on: May 09, 2012, 08:29:20 am
Salve a tutti ragazzi,
per prima cosa mi complimento del fantastico forum da voi supportato.
Passo subito alla mia domanda.
Ho realizzato un circuito che "dovrebbe"(ndr) smiley-red controllare in pwm una strip led da 12V.
La lunghezza della stripled è di 2m.
Ho abbozzato questo skematico:

N.B. Non prendete in considerazione il sensore PIR  smiley-evil
Fin qui tutto bene... Quando ho realizzato il circuito vero e proprio ho notato che il transistor NPN(TIP120) (datasheet: http://www.datasheetcatalog.com/datasheets_pdf/T/I/P/1/TIP120.shtml) si scalda parecchio e i led rimangono accesi anche quando non vado ad "eccitare" la base con la 5v.

Tengo a precisare che la mia alimentazione esterna fornisce 12V e 3.33A
Ragazzi vi prego aiutatemi... necessito urgentemente di risolvere questo problema...
Vi ringrazio ancora

Rispetto al circuito di Transistor che abbiamo fatto a scuola, quì manca la resistenza di stabilizzazione Re ( tieni conto Vre circa Vcc/10 ).

Non sò se questo tipo di transistor funziona diversamente, altrimenti potrebbe essere per questo che scalda  smiley
40  International / Generale / Re: Costruire driver motore on: May 06, 2012, 05:43:48 am
Se guardi bene il datasheet del L293/D http://www.ti.com/lit/ds/symlink/l293.pdf vengono nominati i diodi SES5001. I dati di questo diodo sono: 50V, 2A e 100nS Reverse Recovery time
Ciao Uwe
Capito.
Io i diodi li vorrei mettere per poter usare questa scheda anche con l'integrato SN754410, che supporta correnti maggiori... ed ha la stessa piedinatura, ma come mi è stato detto qualche pagina fà, ha bisogno dei diodi di protezione.

edit.

Ho trovato gli: BYV27-50
http://www.farnell.com/datasheets/57069.pdf

Penso che vadano bene...
41  International / Generale / Re: Costruire driver motore on: May 05, 2012, 04:44:02 pm
Mmmh capisco...

Mi potreste consigliare quindi, qualche diodo adatto allo scopo? (non sò da dove iniziare... se mi consigliate qualche diodo utile allo scopo facilmente reperibile...)
Magari con la stessa forma dei normali diodi, altrimenti devo rifarmi tutto  smiley-fat
42  International / Generale / Re: Costruire driver motore on: May 05, 2012, 01:26:39 pm
non ho letto tutta la discussione ma solo il tuo ultimo post con gli schemi, i diodi son inutili se usi un L293D, male non fanno ma rimangon inutili, per curiosita' controlla sul datasheet del L293d che tempo di risposta hanno i diodi interni e il tempo dei tuoi 1n4148 o 1n4004 dello schema

potrebbero esser utili se fossero dei diodi Schottky nel senso che forse intervengono prima dei diodi interni del L293d (che credo siano gia' abbastanza veloci) smiley-wink

Grazie mille della risposta  smiley

Allora partendo dal presupposto che non sono capace a leggere i datasheet...

Leggendo su quello degli 1n4148:  reverse recovery time Trr = 4 ns
http://www.datasheetcatalog.org/datasheet/philips/1N4148_1N4448_4.pdf

Leggendo il datasheet del L293D: http://www.datasheetcatalog.org/datasheet/texasinstruments/l293d.pdf

...non trovo lo stesso parametro  smiley-slim
Però, tutti i parametri con unità di misura in secondi, non scendono sotto i 100 ns... suppongo che siano più lenti

Comunque, nel circuito quanta corrente devono sopportare questi diodi?
 
43  International / Generale / Re: Costruire driver motore on: May 05, 2012, 12:43:51 pm
Ok, ho modificato la disposizione dei connettori come consigliato, e ho aggiunto dei diodi di protezione.
Anche se non servono non possono fare danni, giusto?  smiley

Ecco lo schema definitivo: http://oi45.tinypic.com/2ljt8wg.jpg
E lo sbroglio: http://oi45.tinypic.com/2n19fv7.jpg

Spero di aver messo bene i diodi  smiley-kiss
Userò degli 1N4148, possono andare bene?

In oltre allego i file Eagle, se dovessero servire a qualcuno  smiley
44  International / Generale / Re: Costruire driver motore on: May 05, 2012, 07:33:28 am
Nel datasheet non trovi i diodi da metter esternamente perché sono integrati.
Mettendo diodi esterni non aumnti la potenza. deviusare il L293 (senza D) ed aggiungere i diodi.
Riguardante la schedina mi sembra un po strano che metti il PWM da una parte e gli Enable dall'altra. Non é piú pratico averli da un lato?

Ciao Uwe

Capito il perchè non ci sono  smiley

Io mi rifacevo a questo post:

Quindi, il 754410 i diodi li ha o no?  smiley-razz

Si li ha, infatti se guardi tutti gli schemi applicativi non sono quasi mai presenti diodi esterni, però non sono molto efficienti e a seconda dei casi può essere necessario metterli, p.e sono obbligatori se piloti uno stepper alla massima corrente possibile.

edit: anche con i 293D in caso di grossi carichi induttivi è necessario aggiungere i diodi esternamente.

Quindi, per fare qualcosa che può montare sia SN754410 che L293D, e che si possa usare anche con degli stepper volevo metterli comunque esterni...

Per quanto riguarda lo sbroglio, mettendolo vicino al pwm dovevo fare più ponti... Non sono molto pratico  smiley-kiss
45  International / Generale / Re: Costruire driver motore on: May 05, 2012, 06:33:06 am
Qualche consiglio su come migliorare questo sbroglio?  smiley



Inoltre, se volessi mettere dei diodi di protezione esterni, per pilotare motori passo passo alla massima corrente, dove vanno messi?
Dal datasheet del L293D o del SN754410 non riesco a capirlo...
Pages: 1 2 [3] 4 5 ... 7