Consigli su arduino

Buonasera a tutti, sono nuovo del forum. Sono un elettrotecnico e non ho molta dimestichezza con l'elettronica, meglio chiarire , Valutavo un progetto per abbellire un presepe (per il prossimo anno) stavo progettando con l'ausilio di trasformatori e temporizzatori un sistema che mi rendesse carino il sistema elettrico del presepe, Secondo voi acquistare un "Arduino" per il controllo di luci led con sistema giorno e notte e al variare di questi controllare le luci delle casette, dei forni e dei caminetti e controllare la cascata di un presepe è eccessivo? . Ho dato un occhiata alla programmazione e potrei riuscire a ricavare qualcosa. Chiedo quale modello potrei acquistare?

Buonasera,
prima di tutto, nella sezione in lingua Inglese si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione in quale sezione metti i tuoi post ...

... poi, essendo il tuo primo post, nel rispetto del regolamento della sezione Italiana del forum (… punto 13, primo capoverso), ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto) e di leggere con MOLTA attenzione il su citato REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Il tuo post è già stato spostato nell'opportuna sezione del forum "Italiano”dove puoi proseguire la discussione.
P.P.S.: Ti ricordo che, fino a quando non sarà fatta la presentazione, nessuno ti potrà rispondere, quindi ti consiglio di farla al più presto. :wink:

Cioz:
Valutavo un progetto per abbellire un presepe (per il prossimo anno)

Ok, purché si parli solo di bassissima tensione di sicurezza come richiesto dal regolamento di questo forum.

Secondo voi acquistare un "Arduino" per il controllo di luci led con sistema giorno e notte e al variare di questi controllare le luci delle casette, dei forni e dei caminetti e controllare la cascata di un presepe è eccessivo?

Eccessivo in che senso? Nel senso che è inutile "sprecare" un Arduino per eseguire operazioni così "semplici", oppure vuoi sapere se Arduino ce la fa? Per la seconda si, ce la fa, potrebbe gestirne anche dieci in contemporanea di presepi (espandendo le uscite). Per la prima ormai usare un microcontroller anche per compiti semplici è la norma visti i bassi costi e la flessibilità nelle modifiche (per non parlare delle conoscenze che si acquisiscono).

Ho dato un occhiata alla programmazione e potrei riuscire a ricavare qualcosa. Chiedo quale modello potrei acquistare?

Per la programmazione, se sai mettere assieme relé e temporizzatori li puoi tranquillamente simulare con un sottoinsieme del linguaggio anche senza studiare tutto il linguaggio e tutta le teoria della programmazione e degli algoritmi, ad esempio come in questo thread sulle tapparelle.

Per compiti più complessi di semplici relé e temporizzatori tocca comunque scrivere un po' di codice specifico. Ad esempio il seguente è un fader con due pulsanti per accendere e spegnere (con tempi di accensione e spegnimento diversi). In fondo è riportato il corrispondente diagramma ladder.

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

#define  PIN_START ...     // pin usati per ingressi e uscite
#define  PIN_STOP  ...
#define  PIN_LUCE  ...     // deve essere uno dei 6 PWM
#define  PRESS     ...     // livello HIGH o LOW letto a pulsanti
                           // premuti, a seconda dei collegamenti

#define TSTEPFADEON  8     // 8*255  = 2.04 sec tempo accensione
#define TSTEPFADEOF  22    // 22*255 = 5.61 sec tempo spegnimento

uint8_t  start = 0;        // lettura ingresso start 1=premuto
uint8_t  stopp = 0;        // lettura ingresso stop  1=premuto
uint8_t  cmd = 0;          // comando fader  1=accende 0=spegne
uint32_t now = 0;          // tempo di sistema in millisecondi

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

uint8_t cube(uint8_t n) { return (uint8_t)((uint16_t)n * n / 255); }

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

void fader(uint8_t in)
{
    uint32_t static t = 0;
    uint8_t  static val = 0;
    if (in && (now-t >= TSTEPFADEON))
    {
        t += TSTEPFADEON;        
        if (val < 255) { val++;  analogWrite(PIN_LUCE, cube(val)); }
    }
    else if (!in && (now-t >= TSTEPFADEOF))
    {
        t += TSTEPFADEOF;
        if (val > 0)   { val--;  analogWrite(PIN_LUCE, cube(val)); }
    }
    else
    {
        // nothing
    }
}

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

void setup()
{
    pinMode(PIN_START, INPUT);
    pinMode(PIN_STOP,  INPUT);
    pinMode(LUCE, OUTPUT);
    analogWrite(LUCE, 0);        // luce inizialmente spenta
}

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

void loop()
{
    // legge e salva tempo sistema

    now = millis();

    // legge ingressi determinando se sono premuti

    start = (digitalRead(PIN_START) == PRESS);
    stopp = (digitalRead(PIN_STOP)  == PRESS);

    // logica di gestione start/stop, stop prioritario 
    
    if (start) { cmd = 1; }
    if (stopp) { cmd = 0; }

    // aggiornamento uscite, chiama blocco funzionale fader

    fader(cmd);
}

/*
      start      cmd
-------| |-------(L)------

       stop      cmd
-------| |-------(U)------

       cmd      .---. 
-------| |------|fad|-----
                '---'
*/

Per quanto riguarda il modello la scelta direi che cade tra Arduino UNO e Arduino Nano (entrambi con USB). Per entrambi ci sono degli screw-shield per collegarsi tramite morsetti a vite. Se si usa una breadboard per le prove allora ArduinoUNO si collega tramite ponticelli di filo rigido (es: cavetto telefonico o connettori dupont), invece ArduinoNano si può innestare direttamente sulla breadboard. Entrambi hanno almeno 18 uscite, di cui 6 PWM con cui creare fading o effetti fuoco tremolanti.

Per pilotare relé o carichi 12V fino a 300..400mA si possono usare gli integrati ULN2003 o ULN2803.

Claudio_FF:
Ok, purché si parli solo di bassissima tensione di sicurezza come richiesto dal regolamento di questo forum.
Eccessivo in che senso? Nel senso che è inutile "sprecare" un Arduino per eseguire operazioni così "semplici .....

Grazie per aver risposto.
Tutto si deve basare su bassa tensione, giusto un lavoro con led tremolanti e led normali che dovranno creare fading. Quindi mi consigli di prendere uno dei due da te descritti. Mi sono convinto e appena pronto vi terrò informati e speriamo bene per i codici...

--- Cioz, quando quoti bastano poche righe per capire di cosa parli, non serve tutto il post (ho modificato io il tuo quote) ... chi legge da "device mobile" ti ringrazierà :wink: - gpb01

Se devi gestire molti LED, potresti anche ricorrere ai NeoPixel, che puoi trovare sia in striscia che anche ad uno ad uno con le stesse dimensioni dei LED "normali" e poi li colleghi l'uno all'altro creando una striscia con il vantaggio di poter decidere tu la distanza fra un LED ed il successivo.
Ogni striscia di NeoPixel la puoi collegare ad una singola porta I/O.
Ti suggerisco di iniziare a cercare qualcosa su questi LED, vedi sul sito di Adafruit.

Se devi gestire molti LED, potresti anche ricorrere ai NeoPixel,

Grazie, Sono preferibili per la forma piccola che hanno. Questi devono essere bicolore (bianco e blu) per avere il ciclo del giorno/notte.

Sono led RGB, quindi li piloti tu e fanno tutti i colori che vuoi

"Per quanto riguarda il modello la scelta direi che cade tra Arduino UNO e Arduino Nano (entrambi con USB).

Confrontando il costo, che ne pensate del modello "Mega 2560"?
Scusate se pongo domande banali, ma cerco di chiarire ogni dubbio