Bonjour
Je suis tombé sur ce fil en cherchant par le terme "aquarium". Je veux réaliser une rampe LED automatisée par Arduino moi-aussi. Je suis novice en électronique et en Arduino, mais je crois savoir coder (je code en Java).
Pour le PWM, j'ai trouvé des exemples sur la page de PWM
http://arduino.cc/en/Tutorial/PWM et de la page qui explique la fonction
analogWrite()
http://arduino.cc/en/Reference/AnalogWriteSinon, le voltage qui sort du PWM d'Arduino est de 5V, bien inférieur à ce que prennent tes rampes. Il faut une alimentation pour les rampes à part, 12V+2A qui sera "interrompu" très fréquemment et au pourcentage de charge réglable à la PWM.
J'ai cogité moi-même il y a quelques semaines. Je lisais le chapitre 3 d'un bouquin d'intro d'électronique (Make: Electronics) et compris qu'il me fallait c'est un transistor. Le transistor est conçu pour servir d'interrupteur de haute fréquence. Et son actionnement est cadencé par PWM d'Arduino, mais à un voltage cette fois-ci bien inférieur à 5 (en fait 0,6V) à tel point qu'il faut une résistance entre Arduino et le transistor (comme ça Arduino ne souffrira pas de sur-courant non plus).
Au début j'ai utilisé un transistor très classique (2N2219, NPN, bipolaire) dont le courant autorisé était presque ce que je faisais passer en vrai dans le circuit. Mais j'ai vite appris qu'il ne faut pas utiliser un composant qui supporte à peine la condition réelle, mais ce qui est capable de gérer de loin plus grande valeur. Par exemple, si un transistor est garanti pour supporter jusqu'à 2A, il vaut mieux l'utiliser qu'à 1A maxi dans le circuit réel. Et en effet, 2N2219 chauffait trop, devenait brûlant.
Quand j'en ai parlé à un vendeur d'un grand magasin d'électronique de Paris, il m'a conseillé un transistor MOS-FET (BUZ10, canal N). Je l'ai mis en place le soir même. Et ça marche !, sans du tout chauffer !

MAIS, j'ai observé également une chute de tension à cause du transistor (quel qu'il soit) dans le circuit de LED. Donc je suis en train de penser que, pour pleinement bénéficier de la pleine luminosité des rampes, il faudrait sauter (ne plus utiliser) le PWM d'Arduino via le transistor qui fait chuter le voltage quand on veut la luminosité 100%, après avoir progressivement intensifié la luminosité durant des minutes, en fermant "un circuit du soleil" parallèle au transistor.
Fermer (ou au contraire couper) un circuit est un truc que peut faire un relai. Alors, le relai marche avec des bobines (électro-magnétiques) afin de faire bouger le contact physiquement dans l'espace, et ça consomme ce que ça consomme.
Dans le même bouquin, chapitre 4, l'auteur nous montre l'utilisation d'un relais bistable (en anglais "latching relay", dans ce livre la référence est Panasonic DS2E-SL2-DC5V ; sur farnell ou selectronic, on peut trouver par "relais bistable" et "5v"). Bi-stable désigne le fait que les deux états On-Off sont tous les deux stables = ne nécessitent pas d'énergie. On -> Off ou Off -> On, dans les deux sens, ce genre de relai ne nécessite qu'un petit moment sous tension et hop le contact se déplace et se stabilise, maintenant on peut couper le courant. Donc, je vais certainement chercher à l'installer en parallèle avec le transistor.
Mon programme sera comme suit pour le matin :
- l'heure est venue ?
- si oui, on commence à bosser
* allumer les RGB comme je veux
* à chaque lapse du temps DUREE / 256, j'allume plus fort d'un
(par exemple, si la transition de la levée du jour est 128 minutes, chaque 30 secondes je fais
analogWrite(PWMPIN1, ++luminosite);
- est-ce que la luminosité est à 100% ?
- si oui, on actionne le relai bistable pour qu'il ferme le circuit du soleil ! En même temps, le PWM peut s'arrêter.
- si non, on continue
- si non, je retourne au lit
Amicalement, j'espère avoir été clair et utile,
Masarut