Controllare LEDs da Arduino in base a file .txt su computer

Buongiorno a tutti!

Sono nuovo ne forum e chiedo qui perchè molto probabilmente avete la soluzione al mio problema! :slight_smile:

Premetto che sono alle prime armi con Arduino (Arduino UNO) e dopo aver letto numerose guide online ho capito più o meno come funziona.

Sto facendo un progetto per l’università e sono alle fasi conclusive.

Il sistema che ho realizzato implementa (in Java) un processo di Face Recognition tra una foto scattata ed un intero database di foto (che va a simulare il database di Instagram).

Le finalità del progetto sono quelle di verificare se una determinata persona alla quale viene scattata la foto è o meno presente nel database di Instagram.

Il software funziona egregiamente e come risultati del processo di Face Recognition ho fatto si che il programma mi generi un file .txt all’interno del quale vengono salvati i parametri del face recognition appena svolto.

I parametri significativi sono dei numeri (ad esempio 43.5) che rappresentano il valore di matching tra la persona alla quale è stata appena scattata la foto e tra quelle presenti nel database.

Ora sono arrivato all’output finale, ovvero quello di:

  • Accendere un LED verde se il matching da risultato positivo
  • Accendere un LED rosso se il matching da risultato negativo

Per inciso, il matching positivo è rappresentato da un valore numerico < 40
mentre il matching negativo da un valore > 40.

Il PC sul quale gira il programma di Face Recognition è un PC Ubuntu 14.04 al quale pensavo appunto di collegare Arduino UNO tramite porta USB.

Voi che siete esperti, mi sapete dare dei consigli su come procedere?

Grazie mille a tutti!! :smiley:

Buongiorno,
essendo il tuo primo post, ti chiederei 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 attenzione il REGOLAMENTO ... Grazie.

Guglielmo

ciao

Si tratta semplicemente di comandare l'accensione di 2 led da seriale.
Quindi lato PC il tuo programma deve inviare qualcosa (di solito un carattere) in base all'identificazione o meno mentre lato Arduino ci sarà uno sketch che in base al dato che arriva si comporta di conseguenza.

Per la parte PC l'onore (e onere) è tuo mentre per la parte Arduino puoi prendere spunto da QUI.

ciao
pippo72

pippo72:
ciao

Si tratta semplicemente di comandare l'accensione di 2 led da seriale.
Quindi lato PC il tuo programma deve inviare qualcosa (di solito un carattere) in base all'identificazione o meno mentre lato Arduino ci sarà uno sketch che in base al dato che arriva si comporta di conseguenza.

Per la parte PC l'onore (e onere) è tuo mentre per la parte Arduino puoi prendere spunto da QUI.

ciao
pippo72

Grazie mille per la celere risposta!
Mi sei stato molto d'aiuto :slight_smile:

Ti chiedo, c'è la possibilità di pilotare una LED Strip con Arduino?

Grazie

@tivi92: … hai letto il mio post? Provvedi per favore … Grazie. :slight_smile:

Guglielmo

P.S.: fare un po’ di ricerche con Google si fatica ? :smiling_imp: Ci sono centinaia di esempi per ciò che chiedi … prova con "Arduino LED strip" !

gpb01:
@tivi92: … hai letto il mio post? Provvedi per favore … Grazie. :slight_smile:

Guglielmo

P.S.: fare un po’ di ricerche con Google si fatica ? :smiling_imp: Ci sono centinaia di esempi per ciò che chiedi … prova con "Arduino LED strip" !

Ho provveduto alla presentazione (non capisco come mai bisogni attendere 5 minuti per postare nuovamente).

Detto questo, grazie per la risposta.

Certo che ho controllato su google prima di iscrivermi al forum.

Ma dato che Arduino mi è stato assegnato dal professore e che non ho accesso purtroppo a materiale elettronico (transistor, ecc…) mi chiedevo se era possibile collegare una strip led ad arduino e poterla controllare facilmente senza implementare un circuitino dedicato.

Grazie! :slight_smile:

NO, ogni pin di Arduino può dare al massimo, a Vcc, 40 mA (... ma quello è veramente un limite, nel normale funzionamento occorre stare al 60-70% di detto valore) ed inoltre la somma di tutti i pin e dell'assorbimento del chip, non deve superare al massimo i 200 mA (... e anche qui massimo va considerato come valore limite, ma nel normale funzionamento occorre stare al 60-70% di detto valore). Assorbimenti oltre detti limiti possono danneggiare irrimediabilmente il chip.

Guglielmo

Per collegamenti di LED Strip RGB guarda QUI ... e mi raccomando, i MOSFET IRL (come indicato) e non IRF (che ha volte vengono proposti al posto degli IRL) dato che devono essere logic level.

Guglielmo

Davvero molto gentile e preparato.
Grazie! :wink:

Quindi l'unica via per controllare una striscia led da arduino è quella di implementare un piccolo circuito dedicato (del quale ho già trovato molti schematici).

Penso che la mia applicazione siano più che sufficienti due singoli LED, uno verde e uno rosso.

Servono anche un paio di resistori ed un breadboard? o ne posso fare a meno e collegare direttamente i LED ai pin di arduino?

grazie

Se devi collegare SOLO due LED, usi due pin ed una resistenza in serie ad ogni ogni LED (150 Ω per il LED rosso, 100 Ω per il verde) … :wink:

Se, oltre ad accenderli e spegnerli, vuoi anche regolare l’intensità … usa pin che possano lavorare in PWM, sono quelli che sulla board sono marcati con il simbolo ~ (3, 5, 6, 9, 10, 11).

Guglielmo

tivi92:
Davvero molto gentile e preparato.
Grazie! :wink:

Quindi l'unica via per controllare una striscia led da arduino è quella di implementare un piccolo circuito dedicato (del quale ho già trovato molti schematici).

Penso che la mia applicazione siano più che sufficienti due singoli LED, uno verde e uno rosso.

Servono anche un paio di resistori ed un breadboard? o ne posso fare a meno e collegare direttamente i LED ai pin di arduino?

grazie

Ti consiglio di usare una breadboard ,su ebay se ne trovano molte e a poco prezzo ! Però se vuoi risparmiare spazio puoi collegare i led ai Pin di Arduino...Ho visto molta gente che lo fa ma non è affidabile! Io per i led uso resistori da 220 ohm ma quello dipende da te!
Spero esserti stato utile :wink: Danix!

Ok, molte grazie davvero! :slight_smile:

Mi basta accendere un LED verde se il processo di face recognition ha dato esito positivo, mentre un LED rosso in caso contrario.

Quindi vedo di procurarmi questi due LED con le relative resistenze e dovrei esser apposto :slight_smile:

Il resto è lato software da implementare su PC per "passare" ad Arduino i dati utili per la lettura.

Grazie :smiley:

Danix16:
Io per i led uso resistori da 220 ohm ma quello dipende da te!

NO, non dipende né da te, né da lui ... dipende dal "Forward Voltage" e lo devi andare a vedere sul datasheet del LED che usi !

Cortesemente quindi, se non si sanno esattamente come stanno le cose, evitiamo di dare informazioni sbagliate !

Guglielmo

Giusto per la cronaca, esistono anche led bicolore, o addirittura RGB, se vuoi usarne uno solo.

PS: Per la resistenza del led è vero quello che dice gpb, ma meglio una resistenza più grande che una più piccola, nel dubbio ;).

SukkoPera:
PS: Per la resistenza del led è vero quello che dice gpb, ma meglio una resistenza più grande che una più piccola, nel dubbio ;).

Certamente ...
... fatto il calcolo matematico, ad esempio limitando la corrente a 20 mA ... se non si ha la resistenza esatta (... a volte vengono valori che non esistono), è sicuramente meglio scegliere il valore disponibile superiore che quello inferiore ... onde evitare danni :smiley:

Guglielmo