Idée de projet pour débuter

Bonjour à tous !

Tout d'abord je me présente, Vincent, je suis étudiant en école d'ingénieur informatique et je souhaite débuter avec Arduino dans le domaine de l'électronique couplé avec la programmation.

J'avais une petite idée de projet que voici:

A partir de mon ordinateur, pouvoir allumer/éteindre la lumière d'une pièce de chez moi :slight_smile:

Pour cela, j'aurais aimé savoir si ça n'est pas trop difficile pour un premier projet, et auquel cas que vous puissiez m'aiguiller sur le matériel à acheter.

Je vous remercie beaucoup par avance pour vos réponses et à très bientôt !

Salut et bienvenue.

De quelle manière souhaites-tu allumer ta lumière ?
Par le port usb ou via le réseau ?

churchill

Salut Churchill et merci pour ta réponse rapide !

Et bien disons que dans l'idéal je voudrais allumer la lumière via le réseau.

Merci d'avance !

C'est un projet assez simple et idéal pour commencer.
Il pourra évoluer vers gestion automatique avec programmateur intégré pour faire de la simulation de présence.

Le plus simple est de démarrer avec une ArduinoEthernet pour avoir sur la même carte le processeur, l'Ethernet, la carte SD (utile pour stocker les pages Web consommatrices de mémoire).
Après pour commander des lampes, si tu n'est pas prêt à faire de l'électronique, surtout avec le 220V, mieux vaut prendre une carte toute faite telle qu'un Shield avec des relais (ici, , encore ici ou ). Les relais c'est ce qu'il y a de plus sur, ca marche avec tous les éclairages (incandescence, led, halogène, ... ce qui n'est pas le cas des triac).

Salut,

Tu devrais trouver ton bonheur dans cet article :wink:

Merci beaucoup pour vos réponses qui me sont très précieuses !

Je vais regarder cela de plus près et me lancer dans ce projet.

Merci encore pour votre aide !

A très bientôt !

Bonjour à tous !

Alors, j'ai regardé un petit peu les différents matériaux d'après ce que tu m'as proposé, barbudor.

Donc pour résumé, mon projet consiste à allumer (à partir de mon ordinateur), une ampoule à incandescence via le réseau en Wifi.

Je pense acheter ces pièces, dites moi surtout si je fais fausse route:

Que me conseillez-vous pour le relais ?

Merci beaucoup d'avance !

Celui de Seed est presque parfait, il a même un support pour module XBee si tu veux rajouter de la RF plus tard.
Tu as accès aux contacts normalement-ouverts et normalement-fermés des relais sur un bornier à vis.
Attention quand même si tu manipules ta carte sous tension, il va y avoir du 220V qui se balade sur le circuit imprimé.
Quand tout sera dans une boite OK, mais tant que tu bricoles sur table : Danger.
MAIS les relais sont donné pour 3A 125VAC.
Donc niet!

Celui de cute-digi ne me semble encore moins adapté pour passer du 220V, ou alors version Claude François.
En effet le schéma est un peu zarbi et demande de placer un cavalier pour choisir si sur le bornier on veut un contact normalement-ouvert ou un contact normalement-fermé.
Passer du 220V dans un cavalier : bouh ca ne me plais pas du tout

La solution la plus sûre serait plutôt chez Cute-digi :
Module relai : http://www.cutedigi.com/breakout-board/dc-5v-four-channels-relay-breakout-with-optoisolator.html
Mais associé à un sheild de borniers comme celui-là : http://www.cutedigi.com/arduino-shields/soliddigi-screw-shield-for-arduino.html

Ca c'est très sûr. Tu peux mettre la carte relais et toute la partie 220V bien isolé dans une boite et n'avoir que 3 ou 4 fils basse tension qui sortent de la boite à destination de la Nono.
Un peu plus cher mais çà te permet de tenir le 220V un peu a distance de ton arduino et de tes doigts en phase de développement.
Après pour tout mettre en boite, c'est vrai que çà prend un peu plus de place.

Pour des raisons de sécurité, s'il ne t'est pas possible d'identifier à 100% la phase et le neutre :
UTILISE 2 RELAIS, un pour chaque fil du 220V !

Ok très bien merci de ton aide.

Donc pour l'Arduino Ethernet pas de problème.
Ensuite il faudrait donc plutôt que j'opte pour le module relai que tu me propose associé à un shield de bornier (celui que tu me propose également), c'est bien ça ?

Sinon j'ai quelques questions, tu me pardonneras je suis absolument débutant dans la matière:

normalement-ouvert, et normalement-fermé, c'est ce qui joue le rôle de l'interrupteur ?
Aussi, qu'est-ce que la Nono ?

Merci !

La Nono ?
C'est l'ArduiNoNo XD
Nono pour les intimes.

Voir Relais électromécanique — Wikipédia
Un relai à :

  • Un bobine -> 2 broches
  • Un certains nombre de circuits RT (Repos/Travail)
  • Chaque circuit RT à 3 broches :
  • C = Commun
  • R = repos ou NF = normalement fermé (NC normally closed en brichton)
  • T = travail ou NO = normalement ouvert
    Quand la bobine n'est pas alimenté, le contact est établi entre la broche C et la broche R/NF/NC, c'est à dire le circuit normalement fermé.
    Quand la bobine est alimenté, le contact est établi entre la broche C et la broche T/NO, c'est à dire le circuit normalement-ouvert qui devient fermé à ce moment là :wink:

http://arduino-info.wikispaces.com/ArduinoPower
:expressionless:

Effectivement cet article met le doigt sur un détail de la carte relai de Cute-Digi :

IMPORTANT NOTE: There is a issue with start-up of Arduino programs that control these relays. These relays input controls are Active LOW, meaning that setting a pin LOW turns them ON. To assure that no relays activate at Reset or Power-On until you want them to, the initialization sequence in SETUP should be:

digitalWrite(Relay, HIGH);

pinMode(Relay, OUTPUT);

Si on regarde le schéma :

On s’aperçoit qu'il faut effectivement un signal LOW (0V) pour activer l'opto coupleur qui à son tour va activer le transitor Q1 qui active le relai.

Les broches de l'Arduino ont une double logique :

  • contrôle de l'état
  • contrôle du sens
    Au reset, les broches de l'Arduino l'état par défaut en interne est LOW. Mais le sens n'est pas activé. En gros pour l'extérieur, elle sont "en l'air". Donc la LED de l'optocoupleur ne s'active pas.

Si on commence par faire un pinMode( x, OUTPUT ); la broche passe en mode de sortie et va sortir un niveau LOW ce qui va activer le relai.
Si on enchaîne par un digitalWrite( x, HIGH ); on ré-éteint le relai.
Cette impulsion n'est pas souhaitable.

Le code proposé va d'abord changer l'état interne de la broche à HIGH et ensuite autoriser cet état à sortir.
Donc on passe de l'état "en l'air" à l'état HIGH sans déclenchement parasite du relai.

Ceci n'est pas le cas quand on utilise un schéma de controle de relai plus simple sans l'optocoupleur car dans ce cas c'est le niveau HIGH qui provoque l'activation du relai.

Waouh !

Super intéressant mais assez complexe tout ça !

Bon si je comprends, j'ai besoin d'une Nono ethernet qui sera reliée en... Ethernet ( :grin:) à mon ordinateur.
J'ai aussi besoin d'un USB 2 serial qui va me permettre d'envoyer le programme Arduino sur ma Nono (obligatoire, j'imagine ??)

Si je résume bien, ça c'est toute la partie serveur ?

J'ai un peu plus de mal à comprendre le rôle du shield et des relais.
Pour mettre du côté de la lampe, il va me falloir un shield avec des relais, qui va en fait convertir les ordres que je vais donner de manière "informatique", en puissance pour la lumière (allumer ou éteindre).
Les relais quand à eux, permettent en fait d'isoler en quelques sortes non ?

Ce shield là (http://www.seeedstudio.com/depot/relay-shield-p-693.html) n'est donc pas compatible avec du 220V à moins de vouloir imiter Claude François ?
Sinon, le bornier à vis, on va y brancher les fils qui vont à l'interrupteur de la lumière c'est bien ça ? Par les ports COM1, NC1, etc...

barbudor:
La solution la plus sûre serait plutôt chez Cute-digi :
Module relai : http://www.cutedigi.com/breakout-board/dc-5v-four-channels-relay-breakout-with-optoisolator.html
Mais associé à un sheild de borniers comme celui-là : http://www.cutedigi.com/arduino-shields/soliddigi-screw-shield-for-arduino.html

Avec cette solution je me retrouve en fait avec deux borniers à vis branchés sur ma Nono, et ensuite, les petits connecteurs qu'on voit sur l'image permettent de brancher le module relai par dessus, qui lui même possède des borniers à vis c'est bien ça ? Et donc cette solution permet de bien isolé la carte Arduino du shield ?

Enfin, comment vais-je faire communiquer ma Nono avec le shield à travers le réseau en Wifi ? Il y a des protocoles de communication entre la Nono et le shield ?

Merci encore !

Vinestro:
Bon si je comprends, j'ai besoin d'une Nono ethernet qui sera reliée en... Ethernet ( :grin:) à mon ordinateur.
J'ai aussi besoin d'un USB 2 serial qui va me permettre d'envoyer le programme Arduino sur ma Nono (obligatoire, j'imagine ??)
Si je résume bien, ça c'est toute la partie serveur ?

Exact.
L'ArduinoEthernet n'a pas d'inteface USB intégrée donc il te faut un petit module externe.
Au final c'est moins cher qu'UNO qui à l'interface USB mais sur laquelle il faut ajouter un shield Ethernet.

J'ai un peu plus de mal à comprendre le rôle du shield et des relais.
Pour mettre du côté de la lampe, il va me falloir un shield avec des relais, qui va en fait convertir les ordres que je vais donner de manière "informatique", en puissance pour la lumière (allumer ou éteindre).
Les relais quand à eux, permettent en fait d'isoler en quelques sortes non ?

Tu ne peux pas balader du 220V directement sur la carte Arduino. Elle fonction en basse tension 0..5V.
Le relai c'est un interrupteur commandé.
Il y a un coté interrupteur (le coté C/NC/NO) qui va supporter le 220V
Et un coté basse tension que l'Arduino va piloter pour faire Jour .. Nuit ... Jour ... Nuit :wink:

Ton code va vers le lien entre l'utilisateur (page Web) et les signaux numériques pour piloter le relai (digitalWrite())

Ce shield là (http://www.seeedstudio.com/depot/relay-shield-p-693.html) n'est donc pas compatible avec du 220V à moins de vouloir imiter Claude François ?

Les relais sont monté sur la carte du shield et il y a des pistes du circuit imprimé qui vont entre les borniers et le relai.
Si tu regarde le dessous de la carte tu vois qu'il y a des soudures sur le relai et le bornier.
Si un doigt passe par là alors que la carte est reliée au 220V, c'est toi qui t'illumine au lieu de la lampe ! C'est généralement pas drôle.

En plus si tu regardes la photo en gros, tu vois que sur les relais il est écrit 3A 120VAC.
Donc relai suffisamment costaud ou isolé pour du 220V.
Risque d'arc électrique quand le relai commute.
Qui dit arc électrique dit risque de feux.

Sinon, le bornier à vis, on va y brancher les fils qui vont à l'interrupteur de la lumière c'est bien ça ? Par les ports COM1, NC1, etc...

Sur le shield bornier à vis tu va prendre de la carte Arduino :

  • le +5V
  • le GND (la masse)
  • le signal de commande, par exemple D13 (celui correspond aussi à la led, comme cela tu vois sur ta carte l'action allumer/éteindre mais à l'envers )
    Que tu vas relier au module relai respectivement à :
  • le +5V => VCC
  • le GND => GND
  • D13 => IN1 + IN2
    Et de l'autre coté du module relai :
  • COM1 : arrivée 220V n°1 (appelons phase)
  • COM2 : arrivée 220V n°2 (appelons neutre)
  • NO1 et NO2 : ton ampoule (normally open)

Par défaut, quand le tout n'est pas sous tension, la lampe étant branchée sur NO, elle ne s'allume pas.
Quand tu feras un digitalWrite( 13, LOW ) elle s'allumera (mais la LED sur l'Arduino va s'éteindre)
Quand tu feras un digitalWrite( 13, HIGH ) elle s'éteindra (mais la LED sur l'Arduino va s'allumer)

Que faire de V+ et V- sur le module relai ?

Cette entrée est l'alimentation des relais (pour la bobine).
Cette section est normalement isolée de l'arduino via l'optocoupleur.
Si tu veux conserver cette isolation totale (peut être judicieux au début pendant le developpement), tu mets une autre alimentation (~5-6V) indépendante.
Comme cela il ne peut y avoir aucun retour de courant entre la partie relay et la partie Arduino.

Au final, quand tu mettras tout dans une boite, tu alimenteras probablement tout par la même alimentation. Si ton système est propre, pas de risque.
Dans ce cas ton alimentation ~6V ira sur le connecteur d'alim de l'Arduino et sur V+/V- (en fait tu pourra reprendre GND pour V- et sur le bornier prendre VIN pour V+).

Avec cette solution je me retrouve en fait avec deux borniers à vis branchés sur ma Nono, et ensuite, les petits connecteurs qu'on voit sur l'image permettent de brancher le module relai par dessus, qui lui même possède des borniers à vis c'est bien ça ? Et donc cette solution permet de bien isolé la carte Arduino du shield ?

Oui. Je te donne un truc : les entrées analogiques peuvent aussi être utiliser pour des sorties numériques (digitalWrite()).
Donc tu peux te contenter de ne monter sur la Nono que la moitié du bornier, le coté où il y a les alimentations (+5V, VIN, GND) et les Analogiques.
Tu ne sera que completement isolé que si tu fournit une alim différente sur V+/V- pour piloter les relais.

Enfin, comment vais-je faire communiquer ma Nono avec le shield à travers le réseau en Wifi ? Il y a des protocoles de communication entre la Nono et le shield ?

Ah Wifi ?
J'avais compris Ethernet.

2 solutions :

  • Tu restes la dessus et tu rajoutes un petit routeur Wifi comme celui-ci. Il peut se connecter comme client à ton réseau wifi et servir de pont entre l'Ethernet de l'Arduino et le réseau Wifi.
  • Tu oublies l'ArduinoEthernet et tu reparts sur une Arduino UNO (avec interface USB intégrée donc tu oublies aussi l'adapteur USB/série) mais tu ajoute un shield Wifi tel que celui-ci. En général çà sera plus cher. Plus compact mais plus cher.

Merci encore !

De rien

Récupère les photos des différents modules et essaye de faire un montage photo de tout çà sans oublier les alimentations.

Autant pour moi, je me suis un peu mélangé les pinceaux et j'ai pas été très clair concernant le wifi/ethernet.

Donc au final je vais bien brancher ma Nono en ethernet sur mon ordinateur dans un premier temps (je peux toujours l'améliorer par la suite en y mettant un routeur)
Par contre le shield lui communiquera avec la Nono sans faire quelque chose de particulier ?

En tout cas je tiens à te dire que tes explications sont très claires et qu'en peu de temps je pense avoir compris pas mal de choses pour pouvoir débuter sans me griller les cheveux avec du 220V :stuck_out_tongue:

Je vais aussi faire comme tu m'as dis et essayer de faire un montage photo et je te le présenterai si ça ne te dérange pas :slight_smile:

Le shield à bornier se branche sur les connecteurs shield de l'Arduino.
Il sert juste de translation entre les connecteurs shield et les borniers pour faire du prototypage facile.
Sur les connecteurs shield il y a :

  • Un coté avec
    un connecteur d'alimentation (GND, +3.3V, +5V, +VIN
    un connecteur entrées analogiques An0 à An5 (mais elles peuvent aussi marcher en entrées/sorties numériques)
  • Un coté avec 14 entrées/sorties numériques (Di0 à Di13)

Ok super ! Je crois que j'ai compris.

Je vais avoir un seul bloc en fait, En premier la Nono, puis le shield :slight_smile:

Merci beaucoup !

EDIT: par contre, si je passe en wifi, je n'ai plus besoin de connecter ma Nono en ethernet à l'ordinateur (vu que ça passe par le nano routeur), mais du coup comment je fais pour compiler et envoyer le programme dans l'Arduino ? Je n'ai pu de liaison USB pour envoyer les ordres de mon programme vers l'Arduino ?

Est-ce que c'est la qu'intervient la consommation de pages web stockées dans la micro SD de l'Arduino ?

Merci d'avance !

Le nano routeur est connecté à Nono par l'Ethernet. :frowning:
Sinon il te faut un shield Wifi directement sur une Nono (Dans l'ordre : Nono + Shield Wify + shield bornier)
C'est plus compact, plus élégant mais un un peu plus cher car le shield Wifi coute dans les 80 Euros.
La ArduinoEthernet coute ~25€ de plus que la UNO et le routeur ~25 Euros et l'adaptateur USB/Serie environ 15€. Donc finalement 15€ de difference entre les 2 solutions.
(vérifie quand même les prix que j'annonce de mémoire).

C'est ton budget, a toi de voir, mais finalement si le Wifi t’intéresse plus que l'Ethernet, UNO + Wifi c'est peux être plus intéressant.

Pour l'USB : soit tu reste sur une ArduinoEthernet et tu as besoin de l'adaptateur USB/Serie pour programmer ta carte, soit tu prend une UNO et l'USB est dessus.
l'USB sert a programmer et debugger la carte.
Ensuite tu passes par l'Ethernet ou le Wifi pour accéder au serveur Web embarqué, ou tout autre mécanisme réseau de ton choix pour les ordres de commande de la lumière. Tu n'as plus besoin de l'USB une fois que tout est dans la boite.

Ah oui d'accord c'est ce que je voulais savoir, l'USB c'est juste pour programmer et debugger la carte une fois que tout marche je peux débrancher l'USB c'est pu utilisé.

Effectivement c'est peut-être plus intéressant avec le UNO et le rajout d'un Shield wifi.
Je vais voir ça, je calcule tout ça, j'essaye de faire un montage et je viendrai te montrer ça :slight_smile:

Merci beaucoup pour ton aide précieuse !!

À bientôt !

Cela te semblera plus simple pour débuter sans le 220v

Si tu veux aller plus loin dans le futur, je passerai par un mega à ta place.