Volevo utilizzare su arduino uno il telecomando sfruttando #include <IRremote.h> ma il pin 3, che utilizzo per accendere il rosso di una plafoniera non funziona, solo col valore massimo 255 si accende ! Come posso utilizzare la libreria ir con un altro pin ?
Credo che la libreria IRremote usi il pin 3 per la trasmissione IR perché usa il PWM e l'int usato è agganciato a quel pin. Devi usare un altro pin con PWM, magari 9/10/11
leo72:
Credo che la libreria IRremote usi il pin 3 per la trasmissione IR perché usa il PWM e l'int usato è agganciato a quel pin. Devi usare un altro pin con PWM, magari 9/10/11
Giusto per la cronaca :
ho comprato la nuova arduino uno, sempre un po' di casini con la shield RGB, questo giro i contatti piccoli, quelli dei pin, si sono bruciacchiati ... risolto con un byapass. Comunque ho risolto e provato sull'acquario per 2 giorni. Fantastico ! Ho aggiunto una barra di led per un totale di circa 290 smd 5050. Per 100 litri va bene.
Riguardo il pin 3, purtroppo è attacato alla shield RGB e dovrei fare un intervento hardware (ma mi tocco ...) e se si potesse nelle librerie iremote mettere magari il pin 10 eviterei eventuali probabili fastidi (sto diventando superstizioso). Inizialmente avevo messo alla buona 2 interruttori normali ... ma mi sono ricordato che avevo un sensore IR e ...
Ciao e Grazie.
I segnali PWM sono in uscita solo su determinati pin, quelli segnati col simbolo "~" sull'Arduino, e sono appunto 3/5/6/0/10/11. Quindi a priori si scarta il pin 13.
Detto questo, dovresti "vivisezionare" la libreria e verificare se puoi cambiare il pin 3 senza alterarne il funzionamento. Io non conosco la libreria perché non l'ho mai usata, quindi non so se usa il pin 3 per qualche motivo o solo perché è il primo pin PWM dell'Arduino.
Non ho mai parlato di pin 13, comunque ho dato un'occhiata alle librerie ir, ma non ho trovato nessun riferimento al pin 3 e oltretutto non conosco bene il C , così anche se non mi fidavo più di tanto ( ogni volta che tocco qualcosa ... succede un incoveniente !) ho attaccato il pin della shiled al pin 10. Ora è tutto OK ! Non mi rimane altro che guardarmi i pesci nell'acquario e aspettare il 50 giorno per vedere in che modo e a che ora si resetta il campo millis().
Scusa, avevi scritto "10" ed io, chissà perché, pensavo al 13...
Cmq certo che funziona, dato che quel pin è un pin PWM e, come ti avevo detto, va più che bene.
Riguardo al pin 3, la libreria usa l'int0, che è agganciato anche al PWM dei pin 3/4 per cui non puoi usare il PWM su quei pin quando usi l'int per qualche altra cosa.
leo72:
Scusa, avevi scritto "10" ed io, chissà perché, pensavo al 13...
Cmq certo che funziona, dato che quel pin è un pin PWM e, come ti avevo detto, va più che bene.
Riguardo al pin 3, la libreria usa l'int0, che è agganciato anche al PWM dei pin 3/4 per cui non puoi usare il PWM su quei pin quando usi l'int per qualche altra cosa.
Avevo dato un'occhiata veloce al codice della lib. ir, ma non ho approfondito ... avevo letto da qualche parte che quei pin erano solitamente usati per l'interrupt, però in questo caso, pensavo ad interrupt esterna sul pin 11 , e che serviva solo il pin 11 per il sensore IR.
Ora sono al completo : pin 10,5,6 --> RGB shield 1; pin 9 --> white shield 2; pin 11 --> sensore IR; pin 3 --> interrupt.
Ciao