Ho provato diverse configurazioni spostando i collegamenti su collettore, base, ecc... ma niente.
Controllare presepe con Arduino
0
voti
Scusami, questo è lo schema del collegamento che ho fatto:
Ho provato diverse configurazioni spostando i collegamenti su collettore, base, ecc... ma niente.
Ho provato diverse configurazioni spostando i collegamenti su collettore, base, ecc... ma niente.
-

dadothebest
24 2 7 - Frequentatore

- Messaggi: 229
- Iscritto il: 25 nov 2013, 17:13
- Località: Ascoli Piceno
0
voti
Questo circuito è sbagliato, o meglio funziona come inseguitore di emettitore (collettore comune) e sui LED non potrai mai avere una tensione superiore alla tensione in uscita dal pin alla quale devi sottrarre la VBE0 del transistor.
In pratica 4,3V.
Per pilotarli correttamente devi usare una configurazione ad emettitore comune.
In pratica 4,3V.
Per pilotarli correttamente devi usare una configurazione ad emettitore comune.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
Questo circuito è un poco più giusto, il valore di 330 ohm penso vada bene, ma aspetta qualcuno di più esperto, se poi di led in serie ne utilizzi 3 la resistenza forse è meglio di 220 ohm.
Piuttosto che chiedere qualcosa a me, chiedila a Mara Maionchi. E' più competente.
-

paofanello
2.280 8 13 - Expert

- Messaggi: 532
- Iscritto il: 7 lug 2015, 21:01
0
voti
Invece era catastroficamente identica
Vabbè, ora dovrebbe funzionare tutto
Vabbè, ora dovrebbe funzionare tutto

Piuttosto che chiedere qualcosa a me, chiedila a Mara Maionchi. E' più competente.
-

paofanello
2.280 8 13 - Expert

- Messaggi: 532
- Iscritto il: 7 lug 2015, 21:01
0
voti
Ho collegato il tutto e funziona!! Ho collegato una striscia led da 1,50m ad un 2n2222, è un tipo di striscia che non dovrebbe consumare molto, non mi ricordo di presiso quanto ma per non risciare posso mettere due 2n2222 in parallelo collegati alla stessa striscia e stesso ingresso arduino in modo da raddoppiare la corrente?
-

dadothebest
24 2 7 - Frequentatore

- Messaggi: 229
- Iscritto il: 25 nov 2013, 17:13
- Località: Ascoli Piceno
0
voti
Ho collegato il tutto e funziona, fortunatamente il secondo transistor in parallelo non serviva perché la corrente assorbita dalla striscia led è bassa.
Sto cercando di fare lo sketch ma non riesco a farlo funzionare. Ho provato con questo ma si accende il giorno poi impazzisce e si spegne tutto, dopo un ciclo, il tempo prestabilito sul programma, si riaccende il fade il giorno e rincomincia il ciclo.
Come posso fare?
Vi ringrazio ancora una volta, siete il miglio forum del genere presente su internet
Sto cercando di fare lo sketch ma non riesco a farlo funzionare. Ho provato con questo ma si accende il giorno poi impazzisce e si spegne tutto, dopo un ciclo, il tempo prestabilito sul programma, si riaccende il fade il giorno e rincomincia il ciclo.
- Codice: Seleziona tutto
#define pin_luciint 2
#define pin_stelleB 3
#define pin_luciest 4
#define pin_stelleA 5
#define pin_stellacometa 6
#define pin_tramonto 9
#define pin_alba 10
#define pin_giorno 11
int oneminrome[4] = { 4194, 22958, 4195, 28651 };
int oneminbtlm[4] = { 3668,25189,3668,27474 };
int timeStepOld = 0;
int timeStep = 0;
long timeCurr = 0;
byte fade[] = {255, 250, 245, 240, 235, 230, 225, 220, 215, 210, 205, 200, 195, 190, 185, 180, 175, 170, 165, 160, 155, 150, 145, 140, 135, 130, 125, 120, 115, 110, 105, 100, 95, 90, 85, 80, 75, 70, 65, 60, 55, 50, 45, 40, 35, 30, 25, 20, 15, 10, 5, 0}; // 52 step
byte curr = 0;
void setup() {
Serial.begin( 9600 );
pinMode( pin_luciA , OUTPUT );
pinMode( pin_stelleB , OUTPUT );
pinMode( pin_luciB , OUTPUT );
pinMode( pin_stelleA , OUTPUT );
pinMode( pin_stellacometa , OUTPUT );
pinMode( pin_tramonto , OUTPUT );
pinMode( pin_alba , OUTPUT );
pinMode( pin_giorno , OUTPUT );
analogWrite( pin_luciA , LOW );
analogWrite( pin_stelleB , LOW );
analogWrite( pin_luciB , LOW );
analogWrite( pin_stelleA , LOW );
analogWrite( pin_stellacometa , LOW );
analogWrite( pin_tramonto , LOW );
analogWrite( pin_alba , LOW );
analogWrite( pin_giorno , LOW );
Serial.println("-- START --");
}
void loop() {
timeCurr = oneminrome[curr];
timeStep = (timeCurr / 52);
Serial.print("Current: "); Serial.println(curr);
Serial.print("Time current: "); Serial.println(timeCurr);
Serial.print("Time single step: "); Serial.println(timeStep);
// alba
if ( curr == 0 ) {
Serial.print("Fase: "); Serial.println("ALBA");
for ( int i = 0; i < 52; i++) {
analogWrite( pin_luciA, 0 );
analogWrite( pin_stelleB, fade[(i - 51)]);
analogWrite( pin_luciB, 0 );
analogWrite( pin_stelleA, fade[(i - 51)]);
analogWrite( pin_stellacometa, fade[(i - 51)]);
analogWrite( pin_tramonto, 0 );
analogWrite( pin_alba, fade[(51 - i)]);
analogWrite( pin_giorno, 0 );
}
timeStepOld = timeStep;
}
// giorno
if ( curr == 1 ) {
Serial.print("Fase: "); Serial.println("GIORNO");
for ( int i=0; i<52; i++) {
analogWrite( pin_luciA, 0 );
analogWrite( pin_stelleB, 0 );
analogWrite( pin_luciB, 0 );
analogWrite( pin_stelleA, 0 );
analogWrite( pin_stellacometa, 0 );
analogWrite( pin_tramonto, 0 );
analogWrite( pin_alba, 0 );
analogWrite( pin_giorno, fade[(51 - i)]);
delay( timeStepOld );
}
timeStepOld = (timeStepOld*52); // elapsed time
timeCurr = (timeCurr - timeStepOld);
delay( timeCurr );
}
// tramonto
if ( curr == 2 ) {
Serial.print("Fase: "); Serial.println("TRAMONTO");
for ( int i=0; i<52; i++) {
analogWrite( pin_luciA, 0 );
analogWrite( pin_stelleB, fade[(51 - i)]);
analogWrite( pin_luciB, 0 );
analogWrite( pin_stelleA, fade[(51 - i)]);
analogWrite( pin_stellacometa, fade[(51 - i)]);
analogWrite( pin_tramonto, fade[(51 - i)]);
analogWrite( pin_alba, fade[(51 - i)]);
analogWrite( pin_giorno, fade[(i - 51)]);
delay( timeStep );
}
timeStepOld = timeStep;
}
// notte
if ( curr == 3 ) {
Serial.print("Fase: "); Serial.println("NOTTE");
for ( int i=0; i<52; i++) {
analogWrite( pin_luciA, 1 );
analogWrite( pin_stelleB, 1 );
analogWrite( pin_luciB, 1 );
analogWrite( pin_stelleA, 1 );
analogWrite( pin_stellacometa, 1 );
analogWrite( pin_tramonto, 0 );
analogWrite( pin_alba, 0 );
analogWrite( pin_giorno, 0 );
delay( timeStepOld );
}
timeStepOld = (timeStepOld*52); // elapsed time
timeCurr = (timeCurr - timeStepOld);
delay( timeCurr );
}
curr++;
if ( curr >= 4 ) { curr = 0; }
}
Come posso fare?
Vi ringrazio ancora una volta, siete il miglio forum del genere presente su internet
-

dadothebest
24 2 7 - Frequentatore

- Messaggi: 229
- Iscritto il: 25 nov 2013, 17:13
- Località: Ascoli Piceno
1
voti
dadothebest ha scritto:Ho provato con questo ma si accende il giorno poi impazzisce e si spegne tutto, dopo un ciclo, il tempo prestabilito sul programma, si riaccende il fade il giorno e rincomincia il ciclo.
Non si capisce bene cosa accada, ma senza sperimentare con mano il tuo codice/harware difficilmente potremmo aiutarti concretamente.
Di solito conviene suddividere il problema in blocchi piu' elementari, analizzandone uno alla volta: ad esempio ti conviene controllare meglio il flusso del programma, lasciando perdere per un attimo il discorso dei LED.
Ci sono tante variabili per il controllo del ciclo: timeCurr, timeStep, curr, timeStepOld, ...
Forse potevi sintetizzarle, forse no, comunque tutte insieme rischiano di crearti confusione.
Poi incrementi dei contatori, invochi dei delay, fai alcuni calcoli, tutti dentro il loop principale.
Nulla di apparentemente sbagliato, ma se non stai attento è facile commettere qualche errore.
Quindi ti suggerisco di aggiungere al codice numerose altre linee di commento supplementari del tipo Serial.print("bla bla bla") per controllare che tutto avvenga nell'ordine che hai prestabilito.
Chi c’è in linea
Visitano il forum: Nessuno e 2 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


