Neofita chiede aiuto per progetto Arduino-acquario!!

millennium-bug:
Ora vorrei che si accendessero per primi i led blu (possibilmente lentamente e non all' improvviso),diciamo alle ore 14,00 e rimanessero accesi per 10 ore.
Nel frattempo alle ore 15,00 si devono accendere lentamente i led bianchi delle file 1 e 2 (possibilmente non alla loro massima potenza ma a metà),
dopo 30 min si devono accendere i led bianchi delle file 3 e 4 (sempre a metà potenza), dopo 15 min quelli della fila 5 (sempre a metà potenza).
e poi dopo 8 ore devono spegnersi i led in sequenza ( prima la fila 5, poi le file 1 e 2 e poi le file 3 e 4). Infine i led blu dopo 1 ora.

Per fare questo hai bisogno di 4 piedini PWM e di conseguenza di 4 Driver.
1 per i led BLU
1 per i bianchi fila 1 e 2
1 per i bianchi fila 3 e 4
1 per i bianchi della fila 5

La UNO dispone di 6 pin PWM quindi ci stai dentro comodo.
Inoltre avresti ancora la possibilità di collegare display LCD (meglio se I2C), termometri (meglio digitale) e relè.

Per la parte software ci sono altri topic su questo stesso forum che stanno trattando l'argomento e nella sezione Megatopic, mi pare, ci sia anche un progetto quasi completo (quello di RiciWeb).

Perfetto.
Grazie infinite!!

Ragazzi vi chiedo scusa se per tutto questo tempo non ho postato, ma ho dovuto temporaneamente accantonare il progetto per cause di forza maggiore.
Ma ora eccomi qua, sono di nuovo pronto a riprendere la situazione in mano.
Vediamo di concretizzare.
Cosa mi serve per realizzare questo progetto?

Guardando un pò online ho torvato questo:

(non so se si possono postare link di online shop, se non si può chiedo scusa, avvisatemi che cancello)
http://www.miniinthebox.com/it/nuova-versione-uno-rev3-con-free-cavo-usb-arduino-compatibile-201211270080077_p478912.html

Mi serve solo questo?

O anche questi:
http://www.miniinthebox.com/it/dupont-maschio-a-femmina-cavo-cavo-della-linea-40p-40p-test-linee-di-connessione-20cm-201211270080011_p480339.html

Vi ringrazio in anticipo.

I cavetti in quel modo non sono stabili, si potrebbero sfilare.
Se vuoi usare l'Arduino, senza crearti un PCB tu, potresti pensare ad una soluzione del genere --> http://www.robot-italy.com/it/screw-shield.html
Questa permette di collegare i normali cavi elettrici con un morsetto a vite.
Inoltre se vuoi risparmiare potresti optare per Arduino 2009 --> http://www.robot-italy.com/it/arduino-duemilanove-usb-atmega328.html però devo sommare agli acquisti le spese di spedizione.

Altro negozi per gli acquisti li trovi qui --> Distributors — Arduino Official Store

P.S. Ti ricordo che la 2009 non ha il layout R3, quindi dovrai collegare l'I2C ai pin A4 e A5. :wink:
Ha il FTDI al posto del U16 e monta un cristallo al posto del risonatore ceramico.

PaoloP: prima di tutto ti ringrazio. Poi ti chiedo scusa perchè non so assolutamente come decifrare il post scriptum che mi hai postato, visto che sono totalmente a digiuno dell'argomento.

Questo:
P.S. Ti ricordo che la 2009 non ha il layout R3, quindi dovrai collegare l'I2C ai pin A4 e A5.
Ha il FTDI al posto del U16 e monta un cristallo al posto del risonatore ceramico.

Ritieni sia più facile per me prendere Arduino UNO SMD Rev3?
Tra l' altro ti informo che ho cambiato un pò la disposizione dei led e ora ho bisogno di collegarci 6 swithcing che stanno attaccati a 2 trasformatori (2 switching ad 1 trasformatore e 4 ad un altro) ma credo non cambi niente, solo che ho bisogno di 6 porte pin, giusto?

Il post scriptum era per evidenziare le differenze tra le due schede, che per il tuo progetto ritengo ininfluenti.
Non consiglio mai le versioni smd, almeno nel caso della UNO (la Mega è solo così) perché in caso di guasti non è possibile cambiare facilmente il chip.

Per i sei switching hai bisogno di 6 pin PWM, devi usare quindi i pin: 3, 5, 6, 9, 10 e 11.
Non ce ne sono altri a disposizione quindi se dovrei ampliare il progetto con altri switching dovrai passare alla MEGA che supporta 13 pin PWM.

Quindi non mi interessa collegare l'I2C ai pin A4 e A5?
Siccome ho visto solo video didattici inerenti al software di arduino uno, non cambia niente col 2009?

Scusa Millennium, ma sto seguendo 4000 discussioni e non mi ricordo le specifiche del tuo progetto.
Se hai ad esempio un RTC hardware certo che lo collegherai ai pin A4 e A5, così come un LCD i2c. Nella UNO R3 invece puoi collegarli indifferentemente ai pin SDA e SCD o A4 e A5 perché sono collegati tra di loro tramite le piste del PCB.
Riguardo all'altra differenza, il convertitore seriale-USB della 2009 monto il chip FTDI, quindi l'unica cosa da fare e installare il driver apposito che è diverso da quello della UNO che monta un'altro chip come convertitore.
Il chip montato è identico, cambiano solo le impostazioni dell'IDE per la verifica e l'upload: dovrai selezionare "Arduino Duemilanove /w AtMega 328".
Comunque puoi sempre prendere una UNO R3 e toglierti il pensiero. :grin:

Ok PaoloP, ti ringrazio infinitamente. Oggi effettuo l'acquisto e vediamo cosa ne esce :slight_smile:

Eccoci qua!!
Mi è appena arrivato

  • Arduino ( alla fine ho deciso di prendere l' uno così da tenermi al passo coi tempi :smiley: )
  • Bread board
  • Cavetti
  • Screw Shield

Sto vedendo un pò di programmarlo come voglio io e inizio con una domanda ultra ultra neofita:

Ma tra i pin pwm dell'arduino e quelli del driver, mica ci vogliono resistori o altro?!?

Si. Per limitare la corrente in uscita.
Almeno che tu non sappia se nell'integrato del driver è già presente.
Riesci a leggere la sigla su chip?

Perdona l'ignoranza, quale sarebbe il chip?

Era U1... ma non serve più. XD
La resistenza c'è già.. :roll_eyes:

E' Rpwm

:grin: :grin: :grin:

Yeaaah ti ringrazio.
...quante brutte figure sto facendo su questo forum...come sono ignorante mammamia :smiley:

Ok Adesso avrei bisogno della vostra pazienza.
Sto cercando di programmare l'arduino per fargli accendere e spegnere i led, attraverso i driver) come abbiamo detto.
Mi aiutereste?

Prima di tutto: basta che collego i pin ai driver, o devo portare anche un cavo collegato al pin GND?

Guardando tra gli esempi che si trovano nel software dell'arduino ho trovato questo:

*/
/*
 Fade
 
 This example shows how to fade an LED on pin 9
 using the analogWrite() function.
 
 This example code is in the public domain.

int led = 9;           // the pin that the LED is attached to
int brightness = 0;    // how bright the LED is
int fadeAmount = 5;    // how many points to fade the LED by

// the setup routine runs once when you press reset:
void setup()  { 
  // declare pin 9 to be an output:
  pinMode(led, OUTPUT);
} 

// the loop routine runs over and over again forever:
void loop()  { 
  // set the brightness of pin 9:
  analogWrite(led, brightness);    

  // change the brightness for next time through the loop:
  brightness = brightness + fadeAmount;

  // reverse the direction of the fading at the ends of the fade: 
  if (brightness == 0 || brightness == 255) {
    fadeAmount = -fadeAmount ; 
  }     
  // wait for 30 milliseconds to see the dimming effect    
  delay(30);                            
}

Devo solo capire come aggiungere le altre porte e come far sì che il fade sia più lento e che dopo che i led collegati ad un driver sono alla massima intensità, passino 8 ore dopo che riprendano a spegnersi...

Allora per il momento sono riuscito a fare questo ( le luci si spengono di botto ma almeno alternate, perchè non ho capito come funziona il FADE):

void setup() {                
  // initialize the digital pin as an output.
  pinMode(3, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(9, OUTPUT);
  pinMode(10, OUTPUT);
  pinMode(11, OUTPUT);
}


void loop() {
  digitalWrite(3, HIGH);      //   blu 1               13,00
  delay(300000);               // Wait for 5 min
  digitalWrite(5, HIGH);     / /   blu 2               13,05
  delay(3300000);            // Wait for 55 min
  digitalWrite(6, HIGH);     //   white 1             14,00
  delay(300000);               // wait for 5 min
  digitalWrite(9, HIGH);     //   white 2             14,05
  delay(300000);              // wait for 5 min
  digitalWrite(10, HIGH);   //   white 3             14,10
  delay(300000);           // wait for 5 min
  digitalWrite(11, HIGH);   //   white 4             14,15
  delay(27900000);         // Wait for 7h - 45 min
  digitalWrite(6, LOW);      //     OFF               22,00
  delay(300000);           // wait for 5 min
  digitalWrite(9, LOW);        //                       22,05
  delay(300000);           // wait for 5 min
  digitalWrite(10, LOW);      //                       22,10
  delay(300000);           // wait for 5 min
  digitalWrite(11, LOW);      //                       22,15
  delay(3600000);          // Wait for 1 hour
  digitalWrite(3, LOW);    //    Blue OFF           23,15
  delay(300000);           // Wait for 5 min        
  digitalWrite(5, LOW);       //                        23,20
  delay(900000);           // Wait for 15 min       23,35
}

Ho collegato l'arduino alla bread board e sembra che così come ho impostato vada bene.
Ho solo un problema:

Il primo led si accende, e rimane acceso, ma ogni tanto si spegne assieme al piccolo led (giallo, ma che nei video che ho visto è verde) che sta sulla scheda, tra il pin 13 e il GND...cosa c'è che non va?
...e questa cosa sembra faccia ripartire il loop che ho creato, da zero...

Ricorda di scrivere il codice con gli appositi tag CODE: pulsante # nell'editor, sopra le faccine.

Se stai provando con singoli led e non con i driver, ricordati la resistenza per ciascuno.

Ad esempio:

Per fare le prove usa dei delay molto più piccoli.
Sul forum trovi molti esempi di codice per alba e tramonto tra cui quello di RiciWeb: Ardu Aquarium Controller nella sezione Megatopic.

PaoloP ti ringrazio perchè mi rispondi sempre e perchè hai pazienza con me che purtroppo sono nuovo in questo mondo ma anche in quello dell'elettrotecnica più elementare.
Ho inserito come mi hai detto il codice nel tag CODE :wink:

Detto questo, delle prove con delay più piccoli (di qualche secondo) le ho fatte e funzionava, rimane però sempre questo piccolo led giallo acceso, è normale? Non deve essere verde?

PaoloP:
Se stai provando con singoli led e non con i driver, ricordati la resistenza per ciascuno.

In effetti non sto usando resistenze, perchè non ne ho, però uso led potenti che sembrano reggere...fa lo stesso? Appena posso oviamente vado a comprarle.

PaoloP:
Sul forum trovi molti esempi di codice per alba e tramonto tra cui quello di RiciWeb: Ardu Aquarium Controller nella sezione Megatopic.

Sto cercando di "decifrarlo" ma siccome lui ha controllato molte più cose, mi perdo nei progetti... :frowning:

Il led regge, il pin di Arduino no.
Se eroga una corrente maggiore di 40mA si brucia.
La resistenza non è utile, è necessaria.

Credo che il colore del led dipenda dalla scheda.
Non mi pare ci siano in giro schede con led bicolore.