dare stessi comandi a due pin

salve vorrei capire come impostare su due porte digitali gli stessi comandi... sul pin 6 e pin 3
questi sono quelli che ho nel pde, vorrei dare le stesse caratteristiche del pin 6 al pin 3

int ledPinBlue = 6; // pin per led blue
int ledPinWhite = 5; // pin per led bianco

posso scrivere cosi?

int ledPinBlue = 6; // pin per led blue
int ledPinWhite = 5; // pin per led bianco
int ledPinBlue2 = 3; // pin per led blue2

oppure
int ledPinBlue = 6, 3; // pin per led bleu
int ledPinWhite = 5; // pin per led bianco

Da profano di arduino (c'ho smanettato poco, per ora) posso consigliarti di scrivere una function che agisca su entrambi gli output.
L'ultima cosa che hai scritto non funziona, perché stai cercando di dire al compilatore che un numero costante è sia tre che sei, una definizione un po' fuzzy... XD

di fatto ciò pensato subito dopo aver scritto il post

micos_1972:
salve vorrei capire come impostare su due porte digitali gli stessi comandi... sul pin 6 e pin 3
questi sono quelli che ho nel pde, vorrei dare le stesse caratteristiche del pin 6 al pin 3

int ledPinBlue = 6; // pin per led blue
int ledPinWhite = 5; // pin per led bianco

posso scrivere cosi?

int ledPinBlue = 6; // pin per led blue
int ledPinWhite = 5; // pin per led bianco
int ledPinBlue2 = 3; // pin per led blue2

si, così è ok

micos_1972:
oppure
int ledPinBlue = 6, 3; // pin per led bleu
int ledPinWhite = 5; // pin per led bianco

no, ma sì. Nel senso, è sbagliato quello che hai scritto ma la tua logica è quella di usare un array. quindi:
#define NUMERO_LED_UGUALI 2
int ledStessoComando[] = {3, 6};

a questo punto, se vuoi accenenderli entrambi:
for (int i=0; i<NUMERO_LED_UGUALI; i++){
digitalWrite(HIGH, ledStessoComando*;*
}
spero tu abbia capito la logica, altrimenti dai un'occhiata quì:
Arduino Playground - HomePage

diciamo di si
io sto cercando di modificare un progetto gia fatto
devo solo utilizzare un terzo pwm collegato tutto da un clock
logicamente
nt ledPinBlue = 6; // pin per led blue
int ledPinWhite = 5; // pin per led bianco
int ledPinBlue2 = 3; // pin per led blue2
ho fatto questo e sono andato poi in void LED_levels_output()
dove ho questo

int sector, sstep, t1, t2 ;
byte b_out, w_out;
aggiungendo
int sector, sstep, t1, t2 ;
byte b_out, w_out, b2_out;

inoltre ho aggiunto sempre in void LED_levels_output()

analogWrite(ledPinBlue, b_out);
analogWrite(ledPinWhite, w_out);

ed ho aggiunto
analogWrite(ledPinBlue, b_out);
analogWrite(ledPinWhite, w_out);
analogWrite(ledPinBlue2, b2_out);

ma il risultato non cabia nessun errore di compilazione ma alla fine sul pin 6 ho i volt in uscita mentre sul pin 3 nulla

inoltre io ho questo
//LED Levels output
//
void LED_levels_output()
{
int sector, sstep, t1, t2 ;
byte b_out, w_out, b2_out;

if (min_cnt>=1440) {min_cnt=1;} // 24 hours of minutes
sector = min_cnt/SS; // divided by gives sector -- 15 minute
sstep = min_cnt%SS; // remainder gives add on to sector value

t1 =sector;
if (t1==95) {t2=0;}
else {t2 = t1+1;}
if (debugon) {Serial.print(t1);
Serial.print("__");
Serial.print(sstep);}
if (sstep==0)
{ bled_out = bled[t1];
wled_out = wled[t1];
bled2_out = bled[t1];
//Serial.println("********>border");
}
else { bled_out = check(&bled[t1], &bled[t2], sstep);
wled_out = check(&wled[t1], &wled[t2], sstep);
}

if (BUCKPUCK) {b_out = bled_out;
w_out = wled_out;
b2_out = bled2_out;}

else {b_out = 255 - bled_out;
w_out = 255 - wled_out;
b2_out = 255 - bled2_out;}

analogWrite(ledPinBlue, b_out);
analogWrite(ledPinWhite, w_out);
analogWrite(ledPinBlue2, b2_out);

}
in rosso le mie aggiunte

uhmm sicuro che il codice non usi già il pin 3?

in oltre se devi copiare il comportamento non servono tutte quelle aggiunte, ma solo: analogWrite(ledPinBlue2, b_out);

edit: da quanto sono le resistenze sui led? e da quanto è l'alimentazione? non vorrei che arduino non regga tutti i led contemporaneamente

scommetto che mi sto incasinando la vita?
il pin 3 è libero, i led sono da 3W ma uso un alimentatore dimmerabile con uscita pwm
scusami ancora e comunque grazie per le dritte
provato senza errore di verifica
ma come uscita nulla

posta tutto il codice nei tag [ code] e [ /code], e sicuro che stai misurando il pin3 e magari non l'analog pin 3? http://arduino.cc/en/Hacking/PinMapping168

mi dice superiore a 9600 caratteri
comunque è scaricabile da qui
versione r14
http://code.google.com/p/dangerduino/downloads/list
logicamente io ho modificato hw presente sul manuale ed ho provato cambiando il pin 6 con il 3, notando che hw è funzionante

uhmm la libreria è un poco complicata, comunque...
prova a staccare i led e a misurare i pin a vuoto... in oltre il fatto che se scambi 3 con 6 funziona.. direi che il problema deriva da un problema di alimentazione.
Tra l'altro hai notatoi che analogWrite viene usata anche nella funzione void LCDSetupLEDTest()?? prova a modificare anche lì, altrimenti la soluzione potrebbe essere di mettere delle resistenze più grandi ai LED (che resistenze usi?)

3W a 5V per 3 led sono 1.8A, valore che sicuramente arduino NON riescie a fornire. Ora non ricordo i limiti di corrente per pin ma son molto bassi, nell'ordine delle mA per pin.

le resistenze non ci sono, perche io uso l'uscita pwm di arduino che va a finire nel pwn in dell'alimentatore
anche io ho notato analogWrite nella funzione void LCDSetupLEDTest(), ma se non erro quella unzione serve per il test dei led tramite lcd.
i pin 5 e 6 a vuoto mi danno 3,71 V, mentre sul pin 3 ho 0 V mentre dovrebbe essere 3.71V

ah, la libreria gioca con i timer, che a loro volta giocano con il PWM...
prova ad usare altri pin, sul datasheet trovio quali son gestiti dai vari timer

intendi il datasheet del atmega 382?

si :smiley:

ok ma poi le porte pwm non rimangono le solite? o posso poi giostrare il tutto sui pin digitali liberi avendo lo stesso effetto
guardando il data le porte dovrebbero essere
db0
db1
db2
db3
dp3
dp4
dp5
dp6
giusto?

?? non ho capito bene comunque i pin che offrono PWM sono 3-5-6-9-10-11

in alcuni messaggi sopra mi hai detto di vedere quali pin hanno il timer ho guardato sul data è sonorisultati i 3-2-5-6-8-9-10-11 di essi i pin con pwm sono il 3-5-6-9-10-11
nel progetto i pin liberi sono solo il 3(pwm)

ho fatto una prova invece di int = 3; ho messo 9 senza usare lcd ed ho notato che funziona....
ho rimesso 3 nulla
poi con il tester ho controllato se c'era passaggio di corrente sup pin 3 e c'è

allora, hai sbagliato a guardare infatti da quì (e quindi anche dal datasheet) risulta che: Arduino Playground - TimerPWMCheatsheet
Pins 5 and 6: controlled by Timer 0
Pins 9 and 10: controlled by timer 1
Pins 11 and 3: controlled by timer 2

questo ci dice che se modifichi il timer2, il PWM sui pin 11 e 3 NON funziona... ora osserviamo il codice, nel setup ci sono un pò di operazioni "strane", ma così commentate: // Setup timer2 -- Prescaler/256
quindi il timer2 viene modificato!! tutto torna! 8)

l'unica a questo punto è usare il PWM sul pin 9 o 10.. se sono occupati dall'LCD no problema! basta modificare la libreria LCD per usare un altro pin libero!
Che libreria usi per l'LCD?