Idée de projet pour débuter

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.

Merci à toi bluemax2001, je vais effectivement regarder ton tuto.

barbudor, j'ai repéré 2 shield wifi, à ton avis lequel est le mieux ?

http://www.cutedigi.com/wireless/wifi/wifi-shield-wishield-v2-0-for-arduino.html

Je n'ai pas d'expérience ni dans l'un ni dans l'autre.

Je constate toutefois que le RedFly chez Waterott utilise la liaison série ce qui rendra probablement impossible l'utilisation de la liaison série pour debugger en même temps que tu utilise le Wifi.
Alors que celui de Cute-Digi est sur le bus SPI ce qui me semble plus sur.
En plus il est moins cher ...

Chez Sparkfun ils y a aussi : SparkFun WiFly Shield - WRL-09954 - SparkFun Electronics qui estplus cher :frowning: Mais je crois que AlienArea51 le connais et pourras te donner des infos s'il est à l'écoute :wink:

Ok merci pour l'info !

Oui j'avais vu aussi celui ci aussi tu me l'avais proposé un peu plus haut dans le topic, c'est vrai que c'est assez cher le shield wifi !

Bonjour à tous !

Après plusieurs mois de "gestation", je reviens vers vous pour avancer sur mon projet qui reste sur la même idée (c'est pour cela que j'ai décidé de ne pas créer un nouveau topic).

Mon projet à quelques peu évolué depuis la dernière fois. En effet, j'ai de nouvelles questions à vous poser et qui j'espère, pourront aider d'autres personnes qui sont dans mon cas.

J'ai récemment acheté un Raspberry Pi et je souhaite non plus passer par mon ordinateur personnel mais par mon Raspberry.
Est-ce que le Raspberry Pi remplace l'Arduino ? Car l'Arduino sert en fait à consommer les page web pour communiquer avec l'interrupteur non ?

Je vous remercie beaucoup d'avance !

Pour commander une lampe, le Raspberry Pi peut effectivement se substituer à l'arduino. Par contre comme il ne dispose que de très peu d'entrées/sorties ses possibilités d'extensions sont limitées. Ce projet pourrait intéresser http://arduino.cc/blog/2012/12/27/paper-duino-pi/ ou alors celui-là http://wyolum.com/raspberry-pi-a-la-mode/

Merci pour ta réponse !

Effectivement j'étais au courant que le Raspberry était beaucoup plus limité en terme d'extension. Mais comme c'est un premier projet je me suis dit que ça valait le coup. Il sera toujours tant d'acheter quelque chose de plus extensible par la suite :slight_smile:

Donc finalement, j'ai juste à intégrer un shield sur mon Raspberry, et du côté de l'interrupteur, relais et micro-controller pour communiquer avec le shield du Raspberry ?

Bonjour à tous !

Alors, j'ai profité du week-end pour relire un peu tout ce topic et essayer de mieux comprendre ce dont j'ai besoin.
Voici une checklist de ce qu'il me faut, indiquez moi si je suis sur la bonne route :stuck_out_tongue:

Côté "serveur":

  • Raspberry Pi
  • Arduino shield

Côté interrupteur de ma lampe:

  • Relais pour gérer le 220V
  • Un controller de type XBee pour communiquer avec le shield Arduino qui se situe sur le Raspberry.

Est-ce que j'ai bon professeur ?

Enfin, si je suis sur la bonne voie, j'ai un peu plus de mal à comprendre comment mon shield Arduino et mon module Xbee vont pouvoir communiquer entre eux ? Par du Wifi ?

Merci beaucoup d'avance pour votre aide ! C'est pas évident de se plonger dans ce genre de projet alors que je n'ai jamais fait d'électronique :~ Mais ce projet me tient à coeur et je souhaiterais vraiment parvenir à le réaliser.

Hello :slight_smile:

As-tu concrétisé ton projet ? Cela m'intéresse beaucoup :slight_smile:

Merci ^^