Leggere impulsi

Scusate se aggiorno un vecchio post, ma prima di postare la mai richiesta ho pensato di fare qualche ricerca, (correggetemi se sbaglio!) volevo fare un progetto che leggesse degli impulsi e che al relativo Nx (numero dell'impulso) esegua un istruzione. di tutte le pagine del forum penso che questa sia la più vicina al mio problema ma non riesco ad avvinarmi alla soluzione. Potete aiutarmi?

Buongiorno e benvenuta sul forum,
essendo il tuo primo post, nel rispetto del regolamento, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: ... e per capire perché ho separato questo tuo post dal thread dove lo avevi messo, leggiti bene il punto 16.9 del regolamento.

Grazie mille, e scusami, provvedo subito

Ciao elena7777,

per essere sicura di leggere tutti gli impulsi devi usare gli interrupt con relativa funzione; l'interrupt sarà riferito ad uno specifico pin del tuo arduino (differente modello differente pin con questa caratteristica disponibile...vedi le reference). Quando il pin riceve il segnale il programma viene messo "in pausa" ed eseguita con precedenza la funzione legata l'interrupt...eseguita la funzione il programma riprende da dove era stato messo in pausa.

Quindi con l'interrupt puoi gestire il conteggio dei tuoi impulsi ed includere l'if che a Nx==valoreDesiderato esegua altre cose.

beh.. dire impulsi è un po poco se dai più dettagli è meglio

da dove arrivano gli impulsi da un encoder con manopola girata a mano?

da qualche dispositivo?

Grazie a tutti per le risposte! Orso, saresti così gentile da linkarmi qualche guida ? come arduino uso il Mega perchè me lo hanno regalato,ma volendo potrei pure comprarne uno. Il dispositivo è un lettore che in base alla tessera che gli passo mi da un numero di impulsi diverso (ho 3 tessere)

:confused: sul pianeta terra ci sono solo 2 tipi di tessera, che mandano solo 2 tipi di impulsi

appena mi arriva la sfera di cristallo posso vedere quella che hai,

un po di pazienza e risolviamo la faccenda .

ciao elena7777,

eh eh …elrospo ha ragione…non metto nemmeno un numero di quante possibili “tessere” e “lettori tessere” ci sono a sto mondo perché ce ne sarà sicuramente almeno una in più.

Detto questo se parli di “lettore tessere e tessere”…non sono convinto che a te serva “leggere” un impulso ma piuttosto che stiamo parlando di trasmissione dati …e qua si apre un mondo.

se postassi il tipo di lettore che hai e magari foto aiuterebbe…

link lettore
il lettore è questo, pensavo di sfruttare la sua capacità di creare impulsi per potermi muovermi

ciao elena7777,

quello che vedo, dal tuo link, sembra una "centralina" che riconosce tramite RFID (Radio Frequency IDentification) delle "tessere" configurate per avere un codice identificativo...e magari qualche altro dato.
Se la tessera è riconosciuta dalla centralina, a seconda di come configuri quest'ultima, farà n cose.

Sinceramente non capisco esattamente cosa faccia questa centralina...ma sicuramente non ti ritorna "impulsi"...forse abilita delle valvole dell'acqua (visto che si parla di gestione doccia).

diciamo che se vuoi con arduino puoi fare una cosa del genere...cioè gestendo un modulo RFID (reader/writer) ti configuri le tue tessere...e le gestisci...al riconoscimento della tessera con codice X esegue delle azioni.

scusate se rispondo ora, ma ho avuto un problema di salute.

cambiando parte del progetto attualmente uso un oscilloscopio per inviare degli impulsi a 100ms.

ho trovato un codice che penso faccia a caso mio

void loop(){
if (statosensore1==LOW){
count++;
// inserire controllo relè
statosensore1=HIGH;
}
}

void sensore1() {
statosensore1=LOW;
}

dovrebbe leggermi il numero di impulsi ed eseguire la mia azione giusto ?

Ciao Elena7777,

dal mio punto di vista la porzione di codice che hai inserito non ha senso e ti spiego perchè:

scrivi "if (statosensore1==LOW)" ...ma cos'è la variabile statosensore1? ... da dove ricava il suo valore che poi verifichi se LOW? che poi alla fine dell'if porti HIGH!?

"count++" ...cos'è?...a cosa ti serve?

alla fine aggiungi una funzione di tipo void sensore1, con la quale assegni a statosensore1 il valore LOW, che non usi.

Che impulsi ti serve verificare e con che frequenza?

attenzione che all'inizio di questa discussione eravamo rimasti che dovevi "scansionare" degli aggeggi tramite RFID...che, passami la definizione, si gestiscono tramite interpretazioni di sequenze di byte trasmesse, appunto, in radio frequenze.

Cortesemente prova a chiarire qual'è, ora, la tua esigenza e capiremo se continuare questa discussione od aprirne una nuova con nuovo argomento.

ORSO2001:
Ciao Elena7777,

dal mio punto di vista la porzione di codice che hai inserito non ha senso e ti spiego perchè:

scrivi "if (statosensore1==LOW)" ...ma cos'è la variabile statosensore1? ... da dove ricava il suo valore che poi verifichi se LOW? che poi alla fine dell'if porti HIGH!?

"count++" ...cos'è?...a cosa ti serve?

alla fine aggiungi una funzione di tipo void sensore1, con la quale assegni a statosensore1 il valore LOW, che non usi.

Che impulsi ti serve verificare e con che frequenza?

attenzione che all'inizio di questa discussione eravamo rimasti che dovevi "scansionare" degli aggeggi tramite RFID...che, passami la definizione, si gestiscono tramite interpretazioni di sequenze di byte trasmesse, appunto, in radio frequenze.

Cortesemente prova a chiarire qual'è, ora, la tua esigenza e capiremo se continuare questa discussione od aprirne una nuova con nuovo argomento.

grazie. vedo di organizzarmi le idee, ed apro un nuovo post con tutti i dettagli!