Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

LMC555 per riparare luci natalizie

Elettronica lineare e digitale: didattica ed applicazioni

Moderatori: Foto Utentecarloc, Foto Utenteg.schgor, Foto UtenteBrunoValente, Foto UtenteIsidoroKZ

3
voti

[191] Re: LMC555 per riparare luci natalizie

Messaggioda Foto Utentefrankis » 18 gen 2025, 23:30

Buona sera ragazzi, funziona tutto alla grande e ho fatto qualche piccola modifica ai programmi di Stefano che ho iniziato a capire abbastanza cosa fanno. Grazie.
Il cavetto è diventato sospetto quando ho notato che il computer non emetteva il classico suono di quando si collega un dispositivo USB e dopo aver sostituito il cavetto ha funzionato tutto regolarmente.
Sono ore ormai che funziona e non perde un colpo. :ok:

Edit:
Dimenticavo di dire che ho già collegato la catena di led cinesi e funzionano regolarmente in base alle istruzioni di programma. :D
Avatar utente
Foto Utentefrankis
745 1 4 8
Stabilizzato
Stabilizzato
 
Messaggi: 427
Iscritto il: 5 set 2024, 15:42

1
voti

[192] Re: LMC555 per riparare luci natalizie

Messaggioda Foto UtenteThEnGi » 19 gen 2025, 9:38

frankis ha scritto:Dimenticavo di dire che ho già collegato la catena di led cinesi e funzionano regolarmente in base alle istruzioni di programma. :D


Con il potere del forum tutto è realizabile :ok:
Però a volte nasce la domanda: perché realizarlo ? :mrgreen:

Comunque ottimo, come ti dicevamo non era che servisse un tecnico della NASA.
Ha incontrato qualche ostacolo e lo si è risolto

O_/
Avatar utente
Foto UtenteThEnGi
2.230 3 6 9
Expert EY
Expert EY
 
Messaggi: 2228
Iscritto il: 6 ott 2022, 18:43

1
voti

[193] Re: LMC555 per riparare luci natalizie

Messaggioda Foto Utentestefanopc » 19 gen 2025, 10:15

frankis ha scritto:Sono ore ormai che funziona e non perde un colpo. :ok:
Edit:
Dimenticavo di dire che ho già collegato la catena di led cinesi e funzionano regolarmente in base alle istruzioni di programma. :D


Bene in tre giorni hai imparato ad utilizzare arduino. :ok:
Fai solo attenzione alla alimentazione e alla resistenza che utilizzi in serie alla catena di led.
Con la USB e durante la programmazione o a 5V 120ohm.
Con la batteria Li-ion 68 ohm.
Se la luminosità non è abbastanza si può provare o a diminuire la resistenza o meglio ad utilizzare i 4 transistor.
In questo caso va modificato anche il programma per utilizzare le quattro uscite che pilotano i quattro transistor.
In teoria arduino non dovrebbe avere problemi fino a 30mA ma normalmente non ci si spinge oltre ai 20mA.
Da valutare in base alle proprie preferenze.
Il. Manuale (300 pagine circa ) del chip Atmel 328P contiene molte informazioni interessanti ma anche molte che per questo progetto non serve conoscere.
https://ww1.microchip.com/downloads/en/ ... asheet.pdf

Riguardo al sw in settimana vedo se riesco a fare di meglio.
Come hai visto le cose più semplici sono alla portata di tutti.
Gradualmente e volendo si può fare anche molto altro.
Se guardi qualche tutorial o corso per principianti sicuramente ti può aiutare.
Ciao

P. S.
Praticamente l'unico modo per bruciare Arduino è alimentarlo al contrario.
Quindi o sei super preciso e meticoloso o ci metti un diodo e un micro fusibile come nel messaggio [64] .
Naturalmente o lo alimenti a batteria o lo alimenti con la USB.
Contemporaneamente con batteria e USB no.
Per non fare disastri sempre meglio una sola fonte di alimentazione.
Ciao
600 Elettra
Avatar utente
Foto Utentestefanopc
13,3k 5 9 13
Master EY
Master EY
 
Messaggi: 5567
Iscritto il: 4 ago 2020, 9:11

0
voti

[194] Re: LMC555 per riparare luci natalizie

Messaggioda Foto Utentefrankis » 19 gen 2025, 14:06

Buon giorno giovanotti!
Un passo dopo l’altro si arriva da qualche parte. Non ho pretese e non ho fatto questo passo per risparmiare sulle intermittenze cinesi, anche perché mia moglie le ha già riacquistate in offerta. ?% ?% ?%
Curiosità verso una tecnica da me poco conosciuta e il consiglio prezioso degli amici mi hanno convinto.
Adesso funziona tutto. Il Nano per ora è collegato ad una usb3 e la resistenza è da 100 ohm perché la luminosità mi sembrava scarsa. Il collegamento è precario per il poco spazio. Posso bruciare qualcosa ma non ho scelta. Poi vedremo come alimentare altrove e autonomamente i vari nanerottoli, per ora vanno con la usb3. Ho iniziato a studiare un po’ le regole, funzioni e sintassi [occhio perché sono un po’ rozzo ma imparo alla svelta].
Avrei già un’osservazione da fare a Stefano sui pin di uscita utilizzati, scusa Stefano se mi permetto :D .
Ho letto che i pin che hai scelto [pin 4 e pin 10] non sono entrambi pin PWM sulla maggior parte delle schede Arduino Nano [il pin 4 non è PWM, mentre il pin 10 lo è]. Quindi mi viene da dire che forse dovremmo utilizzare altri pin.
La soluzione [giusto per capire] potrebbe essere quella di cambiare pin 4 con un pin PWM, come il pin 9 o 6, che sono supportati da PWM. Volendo si potrebbe anche cambiare il pin 10 con un altro pin PWM [ad esempio, pin 11]. Sbaglio? Adesso funziona tutto bene ugualmente ma per le funzioni più sofisticate come il Fade o la sfumatura della luminosità in generale potrebbero funzionare male. Non faccio modifiche hardware di testa mia [a parte la resistenza e la catena led cinese] però segnalo quello che forse potrebbe essere migliorabile.
Il diodo lo metterò sicuramente, il microfusibile che non ho non so, forse costa meno il Mini. :D
Avatar utente
Foto Utentefrankis
745 1 4 8
Stabilizzato
Stabilizzato
 
Messaggi: 427
Iscritto il: 5 set 2024, 15:42

2
voti

[195] Re: LMC555 per riparare luci natalizie

Messaggioda Foto Utentedjnz » 19 gen 2025, 15:24

Usando due pin PWM è sicuramente più facile. Si potrebbe fare anche con uno PWM e uno no, ma è più complicato. Nel caso dei LED in questione (da alimentare con polatità opposta) mi sembra comunque che non si possa fare una dissolvenza incrociata (anche usando due pin PWM) ma solo una rampa con una polarità alla volta. Ecco un esempio da studiare, che come inizio può essere un po' tanta carne al fuoco:

Codice: Seleziona tutto
const byte         LedPinA = 3;
const byte         LedPinB = 10;
const unsigned int VEL_UP = 3000;
const unsigned int VEL_DN = 3000;

//----------------------------------

byte cube(byte n)
{
    return (uint32_t)n * n * n / 65025;
}

//----------------------------------

void fade(byte pin)
{
    //rampa 30..255
    for(int n=30; n<=255; n++)
    {
        analogWrite(pin, cube(n)); 
        delayMicroseconds(VEL_UP);
    }

    //rampa 255..30
    for(int n=255; n>=30; n--)
    {
        analogWrite(pin, cube(n)); 
        delayMicroseconds(VEL_DN);
    }
}

//----------------------------------

void setup()
{
    pinMode(LedPinA, OUTPUT);
    pinMode(LedPinB, OUTPUT);
}


void loop()
{
    digitalWrite(LedPinA, 0);
    fade(LedPinB);
    digitalWrite(LedPinB, 0);
    fade(LedPinA);
}


All'inizio si definiscono delle costanti per parametrizzare il funzionamento del codice. VEL_UP e DN rappresentano un ritardo in microseondi (da 1 a 65535) tra un passo e l'altro delle rampe fade in e fade out.

La funzione 'cube' serve a linearizzare la luminosità con la percezione dell'occhio umano (il valore minimo delle rampe è 30 perché al di sotto i LED risultano già spenti):

cube7863476345.png
Una domanda ben posta è già mezza risposta.
Avatar utente
Foto Utentedjnz
1.590 1 4 7
Master
Master
 
Messaggi: 709
Iscritto il: 26 lug 2020, 14:52

0
voti

[196] Re: LMC555 per riparare luci natalizie

Messaggioda Foto Utentefrankis » 19 gen 2025, 15:39

Grazie Foto Utentedjnz, lo provo subito. Ho visto che hai sostituito D4 con D3, e hai lasciato D10. Stavo cercando di fare qualcosa anch'io ma procedo lentamente e visto che il tuo PRG è già pronto lo provo e ti dico. :ok:
Avatar utente
Foto Utentefrankis
745 1 4 8
Stabilizzato
Stabilizzato
 
Messaggi: 427
Iscritto il: 5 set 2024, 15:42

0
voti

[197] Re: LMC555 per riparare luci natalizie

Messaggioda Foto Utentefrankis » 19 gen 2025, 16:05

Perfetto Foto Utentedjnz, grazie, ha funzionato subito. :ok: Adesso cercherò di capire analizzando la tua funzione dove sbagliavo nella mia che stavo testando e che funzionava ma con poca dissolvenza.
La dissolvenza incrociata penso sia pretendere troppo, credo di ricordare che non lo facesse neanche l'originale benché fosse possibile selezionare con un solo pulsante ben 8 giochi di luce.
Avatar utente
Foto Utentefrankis
745 1 4 8
Stabilizzato
Stabilizzato
 
Messaggi: 427
Iscritto il: 5 set 2024, 15:42

1
voti

[198] Re: LMC555 per riparare luci natalizie

Messaggioda Foto Utentestefanopc » 19 gen 2025, 18:03

Ho fatto una ulteriore modifica random piu fade.
Ciao
Codice: Seleziona tutto
/*
  Blink con Fade a due uscite con tempo random

*/
const byte         LedPinA = 3;
const byte         LedPinB = 10;
unsigned int
              delayTime = 0;

//----------------------------------

byte cube(byte n)
{
    return (uint32_t)n * n * n / 65025;
}

//----------------------------------

void fade(byte pin)
{
    //rampa 30..255 Up
    for(int n=30; n<=255; n++)
    {
        analogWrite(pin, cube(n));
        delayMicroseconds(delayTime);
    }

    //rampa 255..30 Down
    for(int n=255; n>=30; n--)
    {
        analogWrite(pin, cube(n));
        delayMicroseconds(delayTime+30);
    }
}

//----------------------------------

void setup()
{
    pinMode(LedPinA, OUTPUT);
    pinMode(LedPinB, OUTPUT);
}


void loop()
{
    digitalWrite(LedPinA, 0);
    fade(LedPinB);
    digitalWrite(LedPinB, 0);
    fade(LedPinA);
    delayTime = random(80, 1400);  // genera un intervallo di tempo casuale tra 80 ms e 2000 ms
}
600 Elettra
Avatar utente
Foto Utentestefanopc
13,3k 5 9 13
Master EY
Master EY
 
Messaggi: 5567
Iscritto il: 4 ago 2020, 9:11

1
voti

[199] Re: LMC555 per riparare luci natalizie

Messaggioda Foto Utentefrankis » 19 gen 2025, 18:20

Grazie Stefano, originale, fa un po' quello che vuole :D . Ho dovuto modificare i pin perché ora sono sui pin 3 e 9.
Avatar utente
Foto Utentefrankis
745 1 4 8
Stabilizzato
Stabilizzato
 
Messaggi: 427
Iscritto il: 5 set 2024, 15:42

0
voti

[200] Re: LMC555 per riparare luci natalizie

Messaggioda Foto Utentefrankis » 22 gen 2025, 0:44

Sono tornato, buona sera, meglio buona notte vista l’ora. :D
Ho studiato un po’ e ho fatto un po’ di esperimenti con la programmazione, niente di speciale, soltanto un po’ di confidenza con i nanerottoli.
Adesso ho programmato sia il nano sia il mini con lo stesso programma e hanno funzionato tutti e due regolarmente con la catena di led cinese ma sempre con l’alimentazione proveniente dal computer.
Ora, poiché vorrei collegare la batteria al litio al Mini ed utilizzare solo quello con l’alimentazione a batteria, anche per valutare il consumo e la durata, mi sorge il dubbio a quale pin collegare la litio.
Se non ho letto male sembra che i pin per i 3,3V e 5V richiedano una tensione precisa e che in teoria dovrei collegare la litio al pin RAW. Non ho ancora collegato la litio ma avrei bisogno di sapere se la mia esposizione è corretta o è troppo rigida. Faccio questa domanda perché penso che se il pin RAW accetta le tensioni più alte è perché è collegato ad un regolatore interno di tensione che dovrebbe garantire il valore giusto di alimentazione. Probabilmente non è un male che sia così ma chiedo: non è che quel regolatore consuma più corrente lui per regolare la tensione che tutto l’impianto? :mrgreen:
Avatar utente
Foto Utentefrankis
745 1 4 8
Stabilizzato
Stabilizzato
 
Messaggi: 427
Iscritto il: 5 set 2024, 15:42

PrecedenteProssimo

Torna a Elettronica generale

Chi c’è in linea

Visitano il forum: Nessuno e 71 ospiti