Projet "domotique", faisabilité

Bonjour,

dans le but de remplacer l'automate industrielle qui pilote ma maison, j'envisage une solution PC fanless + carte d'E/S.
La solution arduino est séduisante car elle me permettrait d'avoir un mode dégradé en cas de problème avec le PC, en redonnant la main à la carte d'E/S pour assurer un service minimum (pas question que mon épouse reboote le pc dans le noir lol)

Mais mon besoin en E/s dépasse le nombre d'E/S disponible sur une seule carte.

Ma première question sera donc:

_peut-on facilement faire communiquer plusieurs cartes entre elle, afin d'avoir une seule carte "maitre" qui communiquerait avec le PC d'un coté, et les autres cartes de l'autre côté ?

Enfin, quelqu'un a-t-il déjà réalisé ce type de projet domotique basé totalement ou en partie sur des arduino ?

Précision: je suis automaticien à la base, pas expert en électronique, ni même en informatique, mais j'aime les défis et je préfère 1000 fois une solution "home made" à une solution 100% tout fait. Je suis touche à tout, comme tout le monde ici je pense.

Merci d'avance pour vos réponses :slight_smile:

Gromain59

il existe la platine wirring qui a plus d'entree et de sortie

Il existe des circuits qui permettent d'étendre le nombre d'entrées/sorties et qui se pilotent via I2C : comme c'est un bus adressable, on peut utiliser plusieurs de ces circuits pour multiplier les I/O.

Par contre, ce sera des I/O numériques simples : du fait de la liaison I2C, impossible de les utiliser en PWM ou avec un timer, mais pour de la domotique cela me semble l'idéal !

Exemple : le PCF8574 ou mieux (parait-il), le PCA9554.

Merci gearmat, mais quelle est cette carte ? une arduino ? as tu plus d'info ?

je pense qu'il doit etre possible d'utiliser plusieurs Diecimila ou Duemilanove ensemble pour étendre le nombre d'E/S disponible ?

Concernant l'I2C, je vais me renseigner, car je n'ai besoin que d'I/O numerique. Et si en plus cela me permet de répartir les besoins dans toute la maison au moyen d'un bus, c tout bon !

Gromain59

Wiring est le nom d'une carte similaire à l'Arduino mais avec plus de pattes (d'ailleurs le logiciel Arduino est issu d'une partie du logiciel Wiring il me semble). Avec un seul "r", tu trouveras des références (sur le site de Make:zine par exemple).

Ton besoin est exactement celui-là : un expander de GPIO numériques. Si tu veux câbler toute ta maison, il faudra des répéteurs pour allonger la liaison I2C à son maximum (mais le mieux reste plusieurs Arduino connectées sans fil via XBee, grâce au multipoint 802.15.4)

Encore mieux : 15 I/O en un seul circuit : http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1231672744

Je me suis un peu renseigné sur Wiring. Effectivement le nombre d'E/S est nettement plus important. Par contre, je ne suis pas sur de pouvoir bénéficier du même support technique en français qu'ici ?

Les solutions I2C et XBee me plaisent bien, mais les temps de réponses ne sont pas trop allongés ?

J'ai chez moi un réseau de capteurs de temperature 1-wire, et les temps de réponse sont assez long. Mais ce n'est peut etre pas comparable. D'ailleurs, j'ai été surpris de voir que l'arduino savait parfaitement gérer du1-wire ! c'est un plus.

Une idée de la portée max de l'I2C sans répéteur ?

Enfin, j'ai trouvé ceci:
http://www.arduino.cc/en/Tutorial/ShiftOut pour une extension de sortie
http://www.arduino.cc/en/Tutorial/ShiftIn pour une extension d'entrée

Pour les capteurs de températures ds1820 il y a un sujet.

Pour un bus I2C standard à 100 kHz, ne compte pas plus de 3 mètres, et encore ça dépend du câble utilisé (avec blindage, paires torsadées, etc..).

Jean-Francois,
je me servirai largement de ton travail pour implementer mes capteurs de température dans mon projet Arduino. Merci pour le lien.

Luj06,
effectivement, l'I2C sera ok pour étendre mes E/S mais en restant à proximité.

Avez-vous une idée de solution autre que sans fil pour déporter des E/S ? (et or I2C, vu la portée). Il doit bien exister un bus longue distance que la carte saurait gérer. (exemple RS485 ici: http://gdallaire.net/blog/?tag=network

Quand je parlais de répéteur, c'est pas la seule solution. On peut placer une puce au début de la ligne pour réduire l'impédance et permettre une plus longue distance.

Et pour allonger la distance simplement, utilise une paire de fils torsadés avec un blindage.

Sur la page I2C de notre site (I2C - PoBot), tu trouveras la datasheet du P82B715 de Philips.

Pour avoir une carte mère qui pilote les autres, c'est faisable:
http://www.liquidware.com/shop/show/QCT/QuadCore+Tower+Kit
pour avoir plus d'E/S d'origine, il y a la sanguino : Contact Support Elle n'est pas 100% compatible mais tres proche.
Sinon la wiring doit être est bien mais un peu chère a mon gout .

Merci pour ces liens.

avec toutes ces infos, difficile de faire un choix...
sanguino me tente bien, mais je pense qu'il est plus raisonnable que je me fasse la main sur arduino d'abord. Surtout qu'en electronique je suis un peu beaucoup limite.

Pouvez vous me conseiller sur ce qu'il me faudrait comme type de composants et accessoires courant pour commencer, genre la boite à outil du parfait petit électronicien ? je pense notamment à ces plaques d'essais (breadboard) qui ont l'air bien pratique.
L'idée est de pouvoir interfacer les entrées/sorties en 12 ou 24V, donc résistances, optocoupleur ou transistor...

Merci...

en 12 et 24 volts c'est carrément des relais !

Oui, il te faut une breadboard (plaque d'essai) et des ponts déjà tout fait à différentes longueurs.

Avec l'Arduino, il existe des "shield" qui se branchent sur le dessus. J'ai utilisé un shield "protoshield" et mis une mini breadboard dessus, c'est vraiment chouette car compact et pratique à la fois.

Les transistors Tip120 (NPN) et Tip125 (PNP) supportent 60 volts et 5 Ampères, les Tip122 et Tip127, 100 volts et 5 Ampères également, 8 Ampères en pointe pour les deux séries, suivant l'utilisation en 12/24 volts cela peut suffire sans relais.

Pour le bread-board c'est effectivement indispensable.

Merci pour l'info Jean-François, je ne savais pas car mon réflexe est de passer aux relais. Toutes mes excuses !

La commande de ma maison est actuellement en 24 volts (automate industriel oblige).
L'automate commande l'éclairage 220V~ via des relais 24VDC. Je peux les remplacer par des 12VDC à terme.
Il me faudra donc concevoir une interface entre les sorties de l'arduino et ces relais. Il me semble avoir vu un exemple de montage sur le site.
Je vais voir pour ces transistors (des exemples ?)

Merci pour vos réponses. Je vais bientôt passer commande (probablement nkcelectronics.com ?)

plus je me renseigne, plus les possibilités offertes par cette carte m'épate...

Aucun soucis LUJ06... pour le peu que je connais en électronique, je pense que tu m'en apprendra bien plus.

Par contre Gromain il ne faut pas hésiter à rechercher des datasheets et à les consulter :slight_smile:

J'achète pas mal de chose sur Ebay, les vendeurs chinois en plus de faire des prix dérisoire souvent offre le port, c'est assez intéressant.

Autrement un Ebayer italien m'a vendu 300 optocoupleurs pour quelques Euros...

Vous achetez où vos arduino et accessoires, directement sur ebay ? j'ai un peu de mal avec... je n'ai jamais osé y acheté, qui plus est chez les chinois.

Mais c'est vrai que pour des composants électronique, ils sont imbattables.

J'ai acheté des Arduino chez un fournisseur italien, mais j'ai été un peu déçu, maintenant j'ai trouvé un fournisseur en Suisse qui me convient très bien, en France je ne sais pas.

Regarde également sur le site de Maxim.

J'achète essentiellement sur Sparkfun pour les composants "modernes" (Arduino, cartes, capteurs) et Gotronic pour les composants électroniques de base et les produits de chez Devantech.