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...
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)
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
lesto:
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
Facendo prove a caso, ho fatto questo prima di leggere la risposta e funziona (anche se non sò perchè)
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!
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?
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
lesto:
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