Go Down

Topic: Generare due sequenze diverse (Read 265 times) previous topic - next topic

Salve a tutti,
Sono appena entrato a far parte degli utilizzatori di arduino.
Vi chiedo se qualcuno è in grado di aiutarmi a generare due sequenze di bit su due piedini OUT diversi.
Queste sequenze devono essere indipendenti tra di loro e avere velocità diverse.
Sono riuscito a generare la prima sequenza mediante l'utilizzo di un array nel quale carico la sequenza di bit tra trasmettere e poi mediante un ciclo for cacciare dal piedino la sequenza una alla volta in serie alla velocità di 2 bit al secondo mediante l'utilizzo di DELAY. Con la seconda sequenza ho dei problemi: non riesco a sovrapporla temporalmente alla prima!!!!
Precisamente dovrei simulare uina comunicazione con tecnica spread spectrum del tipo Directory Sequence: la prima sequenza è ll'informazione da trasmettere mentre la seconda, molto più veloce, rappresenterebbe la sequenza di chip.
Vi ringrazio anticipatamente!

marcottt

Ciao, non sono molto esperto (anzi sono proprio principiante) ma mi sembra di aver letto che un problema di frequenze costanti e indipendenti dal programma era necessario x pilotare i led Ir e la soluzione erano alcune righe di codici e gli interrupt.

Da qualche parte c'è un lungo post "barriere infrarossi" o qualcosa di simile. Non sono certo che sia la soluzione x te ma gli darei una occhiata.

Ciao

lucadentella

Ciao

il tuo problema principale è che delay() è una funzione bloccante... se si parla di tempi quali 2bit/s puoi tranquillamente utilizzare la funzione millis per capire quando sono passati 500ms e inviare il nuovo bit... egualmente per la seconda sequenza.

Qualcosa tipo:

loop {

  if(millis() - tempoUltimaSequenza1 > 500) {
    invioNuovoBit();
    tempoUltimaSequenza1 = millis();
  }
}
lucadentella.it

Go Up