Go Down

Topic: Neofita chiede aiuto per progetto Arduino-acquario!! (Read 5911 times) previous topic - next topic

millennium-bug

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?

PaoloP

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.  :smiley-mr-green:

millennium-bug

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

millennium-bug

Eccoci qua!!
Mi è appena arrivato

- Arduino ( alla fine ho deciso di prendere l' uno così da tenermi al passo coi tempi :D )
- 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?!?

PaoloP

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?

millennium-bug

#35
Apr 26, 2013, 04:02 pm Last Edit: Apr 26, 2013, 04:10 pm by millennium-bug Reason: 1
Perdona l'ignoranza, quale sarebbe il chip?




PaoloP

Era U1... ma non serve più.  XD
La resistenza c'è già..  :smiley-roll-blue:

E' Rpwm

:smiley-mr-green: :smiley-mr-green: :smiley-mr-green:

millennium-bug

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

millennium-bug

#38
Apr 26, 2013, 07:24 pm Last Edit: Apr 27, 2013, 12:59 pm by millennium-bug Reason: 1
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:
Code: [Select]
*/
/*
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...

millennium-bug

#39
Apr 27, 2013, 10:53 am Last Edit: Apr 27, 2013, 12:56 pm by millennium-bug Reason: 1
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):

Code: [Select]
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
}


millennium-bug

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...

PaoloP

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.

millennium-bug

#42
Apr 27, 2013, 12:50 pm Last Edit: Apr 27, 2013, 12:57 pm by millennium-bug Reason: 1
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 ;)

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?


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.


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... :(

PaoloP

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.

millennium-bug

#44
Apr 27, 2013, 01:33 pm Last Edit: Apr 27, 2013, 01:37 pm by millennium-bug Reason: 1
Doh ok!!
Spero di non aver bruciato niente...

3 domande:

1) Che resistenze devo comprare?

2) Agli attacchi PWM dei driver deve arrivare solo il cavo elettrico del pin dell'arduino, o deve arrivarci anche quello del GND?

3) Che trasformatore devo attaccare all'arduino? Io ne ho uno che ho messo a 5v  basta questo, o devo accertarmi di qualche altro valore?

Go Up