Collegare arduino leonardo e modulo LDR

ciao Scusami se rispondo solo ora, ma ho dovuto metter ein piedi una soluzione prima di poter sistemare ancora meglio lo script. Allora se non ho capito il discorso del PORT, i pin che attualmente io non utilizzo sono 13 12 11 10 (parliamo ovviamente di digital pin. quale è il passo successivo?

byte x = (PINB >> 2) & 0x0F;

Con questo leggi tutti i 4 pin in una volta e ti trovi il loro stato nei 4 bit meno significativi di x.

Tuttavia reputo che non sia assolutamente necessario, come fai adesso va già benissimo e non c'è niente di male. Se non hai dimestichezza con assembler, registri e bit manipulation ti vai solo a complicare la vita.

all'università ho usato assembler e basta, però diciamo non è un problema, il discorso mio è questo, ho impostato nel mio ciclo ad arduino un deley di 10 millisecondi "delay(10);".

Quindi ovviamente arduino ogni 10 millisecondi fa una scansione e quindi lettura. La pista è luna circa 18 metri, considera che le macchine fanno un giro in circa 5 secondi, quindi la velocità con cui le macchine passano ed interrompono la luce è davvero immediato, e volevo ottimizzare il più possibile il codice, in modo tale da evitare di perdere eventuali passaggi.

cmq anche se priam non l ho scirtto, grazie per i preziosi consigli

E perché hai messo un delay? Non ne vedo l'utilità, puoi tranquillamente continuare a leggere senza alcun delay.

SukkoPera: Tuttavia reputo che non sia assolutamente necessario, come fai adesso va già benissimo e non c'è niente di male. Se non hai dimestichezza con assembler, registri e bit manipulation ti vai solo a complicare la vita.

Difatti ... "era stata la mia esca ad attirare all'amo" bircastri (...in QUESTO post) :D , e lui, giustamente incuriosito, voleva sapere quale era il metodo più rapido di cui gli avevo accennato ...

... ma ovviamente, come gli era stato segnalato, era solo un metodo alternativo e ... una "scusa" per fargli imparare qualche cosa di nuovo ;)

Guglielmo

in realtà hai ragione lo avevo messo il deley perchè all'inizio che non avevo tarato i sensori ldr, sparava di continuo sul pc valori. Cmq grazie.

Gugliemo grazie cmq del supporto, ad ogni modo navigo in diversi forum veramente tanti, ma è davvero raro che qualcuno vuole farti imparare qualcosa di nuovo, di solito la contro domanda che mi torna è "perchè lo vuoi fare?" invece qui oltre a trovare la soluzione, mi aprite anche altre strade... :D :D :D grazie

bircastri: ... ma è davvero raro che qualcuno vuole farti imparare qualcosa di nuovo, di solito la contro domanda che mi torna è "perchè lo vuoi fare?" invece qui oltre a trovare la soluzione, mi aprite anche altre strade... :D :D :D grazie

E' naturalmente solo un mio punto di vista (... e tanti possono non concordare), ma ritengo che lo scopo del forum e della comunità debba essere quello di "far crescere" le persone, [u]stimolandole a studiare ed ad imparare[/u] così che possano poi da soli realizzare cose sempre più complesse ;)

Guglielmo

Il problema non è quello di stimolare l’apprendimento di cose nuove che, anzi, è ciò a cui tutti dovremmo puntare, nonché ciò che anche io cerco sempre di fare con gli “apprendisti”. La vera difficoltà è proporre cose commisurate al livello attuale di una persona, perché se l’obiettivo è troppo complesso il tutto finisce unicamente per sfociare in una serie di domande interminabili campate un po’ per aria e in una confusione totale. Questo non accade per particolare stupidità o ignoranza dell’allievo, ma perché prima di assumere la padronanza di certi argomenti bisogna avere buona dimestichezza con tutto quel che c’è sotto. Bisogna quindi riuscire a proporre il prossimo gradino, non l’ultimo, cosa che mi sembra sia stata fatta qua e in qualche altro thread. Infatti, se vuoi arrivare a capire la riga che ti ho scritto sopra devi:

  • Sapere che l’AVR gestisce i pin tramite registri
  • Sapere cos’è un registro
  • Sapere quali registri possiede un AVR, almeno relativamente al controllo dei pin
  • Conoscere la corrispondenza tra pin di Arduino e pin dell’AVR
  • Avere dimestichezza con la rappresentazione binaria
  • Conoscere gli operatori bitwise
  • Conoscere gli operatori di shift

Non offenderti, ma mi sembrano troppe cose per uno che è appena impazzito per leggere un LDR. Sono però tutti argomenti che, se procedi con costanza ed in maniera graduale, pian piano incontrerai naturalmente, e quando li avrai assimilati, allora il passo successivo potrà essere quello di preoccuparti di leggere tanti pin insieme.

In sostanza non voglio certo dire che non devi o che non puoi imparare cose nuove, ma che il passo deve essere proporzionato alla gamba, senza offesa.

Spero di essere stato chiaro :).