salve a tutti avrei un problema con arduino....spero mi possiate aiutare
acquisendo un segnale sinusoidale con arduino, mi prende solo i valori positivi,tagliandomi quelli negativi fissandoli a 0.
presuppongo allora che abbia una quantizzazione unipolare. il mio problema dunque è che devo acquisire anche i valori negativi che lui mi fissa a 0.Come faccio?
2)come si fa a fare uno stupido salvataggio di campioni acquisiti con arduino in un vettore?
sembra una cosa banale ma vi assicuro che so programmare in C ma a questo punto penso che non gli passo i parametri da salvare o non inizzializzi bene il vettore..
mi date un consiglio
Se il povero Arduino vive tra 0 e 5 Volt, come pensi di vedere tutto ciò che sta sopra 5V o sotto 0V?
lo stupido salvataggio di campioni lo si può fare nel seguente modo (occhio è pseudo-codice):
...tutto quello che serve prima del loop
int vettore[]; // dichiari il vettore
int t_camp = 100 //tempo di campionamento in millisecondi...scegli tu
int i = 0;
void loop() {
vettore[i] = analog.read(porta); //leggi e salvi un valore
i++; //incrementi il contatore
delay(t_camp);
}
in questo modo acquisisci un valore ogni 100 millisecondi e lo salvi in un vettore finché i non va in overflow...lo so è stupidissimo ma è l'esempio più semplice che si possa fare, con pochi accorgimenti in più lo modifichi a tuo desiderio!
Metter tensione alternata su un entrata é un modo sicuro, semplice e poco doloroso per rompere un integrato.
Quoi aquisire dei segnali in alternata se: il segnale é isolato dall alimentazione di Arduino e se i valori picco picco sono minori di 2,5V:
Fai un partitore di tensione con 2 resistenze uguali e li colleghi a 5V e Massa e ottieni 2,5V. Lí colleghi un polo della alternata e l' altro all'entrata analogica. Se l' alternata é piú alta di 2,5 V picco picco devi diminuirla con un partitore.
Per me un "Vettore" é un valore con una grandezza e una direzione; non so cosa intendi Tu come vettore.
Come Ti avevo giá spiegato, forse non ero capibile.
Il trucco é riferire il segnale da misurare a una tensione positiva in modo che la somma é sempre sopra 0V.
Se il valore é sempre negativo basta anche mettere coem comune non i poli negativi, ma il positivo del segnale metterlo su massa Arduino.
Tutte due le cose funzionano solo se il segnale é isolato dalla alimentazione del Arduino.
L' alternativa é invertire il segnale con un amplificatore operationale, ma Ti serve una tensione di alimentazione positiva e negativa.