4 arduino via radio

bonjour tout le monde,
j'ai un petit projet en tête qui m'est arrivé cette nuit dans un moment de lucidité :slight_smile:
rassurez vous, je ne bois pas ni ne fume une substance comme la moquette.

le but est le suivant :
un arduino principal qui transmet à 3 ou plus arduino une info afin d'allumer des lumières de différentes couleurs.
un peu du style des feux tricolores mais en plus simple.

les autres que l'on va appeler esclaves, vont suivant les ordres donnés allumer dans le jardin des lampes afin de faire une animation en variant les couleurs.
si une personne passe devant le détecteur d'un des arduino, tous se mettront en blanc afin de signaler le parcours, puis au bout d'un moment revenir à des couleurs différentes.

jusque là, c'est assez simple sur le papier, en pratique, ca se corse.

mon problème est le suivant :
quel type de transmission utiliser afin que chaque arduino puisse recevoir, mais aussi émettre une info aux autres.
le tout sans fil bien sur :slight_smile:

j'ai regardé pour le nrf24l01,mais apparemment, c'est soit maitre, soit esclave, pas les deux en même temps.
en 433mhz, cela pourrait être possible, en tenant compte qu'une télécommande de garage pourrait mettre le bronx.
en BT, même pas la peine comme en wifi pur, puisque chez moi, c'est truffé de wifi pour mon boulot.

si vous avez une idée supplémentaire avec un lien exemple pour 4 arduino déjà, je prends de suite.

merci d'avance

quel type de transmission utiliser afin que chaque arduino puisse recevoir, mais aussi émettre une info aux autres

Le fait que tous puissent être maitre à tour de rôle semble restreindre tes choix. Pourquoi ne pas laisser cette tâche à la carte principale. Qui collecterait périodiquement l'état (et les infos) des esclaves et retournerait ensuite les changements à tous les esclaves.
En plus cette façon de faire simplifie les échanges car il n'y a pas d'émissions inattendues (un esclave qui signale un changement ) qui risquent de créer des carambolages (un autre esclave peut vouloir aussi émettre au même moment).

bien vue fdufnews à mon avis un seul maître reste le mieux, même si tu a beaucoup d'ésclave à mon avis il s'en sortira quand même apres le support radio me semble bien et cela m'étonnerai qu'une autre système radio puisse venir y mettre le bazar si tu fait les chose bien, l'idée est intéressante et sympa à voir en marche a mon avis, creuse toi encore un peut le cerveau mais l'idée est excellente je trouve, si tu fumai vraiment la moquette t’arrête pas xDD

Good Luck :slight_smile:

Skizo !

:grin:

le truc est que je ne vois pas comment récupérer les infos sur les autres esclaves via le maitre et surtout quel type de module de transmission utiliser.
évidemment, le prix intervient aussi.

Si la distance entre les uns et les autres n'est pas trop importante tu peux tenter l'infrarouge.
Il y a des exemples sur le net (il faudrait que je recherche) de systèmes collaboratifs basés sur des liaisons optiques.
Chaque élément est indépendant mais il reçoit des informations de son environnement immédiat et il les utilise pour modifier son comportement.
J'avais vu un exemple avec un réseau de LEDs qui utilisaient se principe.
J'essaierai de retrouver ça ce soir.

la distance serait entre 20-30m maxi je pense.
mais c'est une idée a creuser effectivement, si tous peuvent se parler, ca serait le top.

Top oui mais bon je pense que nivo prog ca va passer de 30 à 30 X 2 000 = 60 000 fois plus compliqué xDD

Skizo !

non je pense pas.
imagine un carré avec un arduino à chaque angle.

a-----------------b
| |
d------------------c

A envoi l'info a B qu'il est en couleur rouge
donc B doit passer en vert
B envoi l'info à C qu'il est en vert
donc C doit passer en rouge
C envoi l'info à D qu'il est en vert
donc D doit passer en vert
D envoi l'info à A qu'il est en vert

sachant que A a toutes les tempos, c'est lui le "maitre", les autres ne font que confirmer leur état pour revenir à A
si une détection de présence est faite sur un angle, la transmission se coupe, du coup, tout le monde passe en blanc pour baliser le chemin automatiquement.
si la transmission revient entre A et B et C et D, tout repart depuis A

le tout est donc de trouver un système de transmission pouvant le faire en wireless et à faible coup, comme dab :slight_smile:
direction Mr bitolage pour racheter de la moquette

Voilà les trucs doit je parlais

C'est pas tout à fait ce que tu cherches mais le comportement est intéressant car chaque élément est autonome.

Edit: Petit complément.
L'intérêt des systèmes collaboratifs, c'est qu'il n'y a pas besoin de maitre. Donc tous les éléments sont identiques. L'information circule de proche en proche et chaque élément est complètement autonome. Les échanges sont simplifiés souvent limité à : "je suis là", "je fais ceci", "je fais cela"

AlienArea51:
Bonjour @tous
Juste une petite question (par curiosité) :wink:
est-ce que les autres arduinos sont elles vraiment utilent ?

car l'autre idée (peut-etre idiote) serai de prendre 4 xbee's en mode remote , chaque xbee possèdent des E/S ainsi que Ana , donc autonomes .
l'arduino maitre envoie un ordre (numerique par une entrée xbee) l'esclave (xbee) execute cet ordre qui peut également envoyer un ordre( capteur de présence ) au maitre .

J'sais pas si c'est clair ??? :smiley: :smiley: :blush:
@+
Will

c'est une idée oui, mais en admettant qu'il y ait rupture d'émission, les autres modules font quoi?
peut on leur mettre une mini programmation pour qu'ils puissent allumer tout seul une lumière le temps que la transmission se refasse?
après le xbee, on lui met quoi comme transmission?
on en revient au même problème qui est quel type et/ou fréquence d'émssion.

Bonjour,
Je suis sur un projet de gestion de la maison avec 3 arduinos avec pour chacun un module Bluetooth et un programme python sur PC.
Cela fonctionne bien pour les premiers tests effectué.
La distance entre chaque module est d'environ 10 mètres.

Bon courage

le coup des xbee est intéressants, j'avais lu ca quelque part sur le forum.
mais je ne vois pas trop comment leur dire de faire une action s'ils ne recoivent plus d'infos.

Salut,

infobarquee:
j'ai regardé pour le nrf24l01,mais apparemment, c'est soit maitre, soit esclave, pas les deux en même temps.

Heu ... ou t'as vu ça !?
Les nRF24L01 ne sont ni maitre ni esclave, il sont les deux à la fois.

Chaque nRF24L01 a son adresse propre pour recevoir un paquet. Si un nRF envoi un paquet vers le nRF en question il reçoit le paquet qui lui est destiné (logique) mais rien ne lui interdit d'envoyer un paquet à son tour.

Les nRF24L01 sont des émetteur / récepteur, du reste le protocole ShockBurst de Nordic émet un paquet d'acquittement au moment ou il reçoit un paquet pour dire au nRF d'origine que le paquet a été reçu correctement.

Comme en plus tu peut changer l'adresse d'émission et de réception à la volé pendant l'exécution je vois pas ce qui te poserai probléme ?
http://arduino.cc/playground/InterfacingWithHardware/Nrf24L01

nul par effectivement, mais vu ce que j'ai trouvé comme exemple et solutions sur le nrf24l01, c'était soit maitre esclave, soit maitre et repeater.
ca m'étonnerait quand même que personne n'ait fait une chose ressemblante à ce que je veux faire ou expliquant comment à partir d'un maitre, envoyer des données sur un esclave, qui lui meme passe en maitre pour envoyer sur un esclave, etc...
et c'est pas faute d'avoir chercher quelques heures sur le net pourtant.

voici un petit projet qui pourrais t’intéresser..

http://www.kickstarter.com/projects/1608192864/open-source-wireless-inventors-shield-for-arduino?ref=category

oui cela pourrait être intéressant effectivement, reste a voir si le projet se concrétise.

Voir là:
http://jeelabs.net/projects/hardware/wiki/JeeNode

que de bonnes solutions :slight_smile:

infobarquee:
nul par effectivement, mais vu ce que j'ai trouvé comme exemple et solutions sur le nrf24l01, c'était soit maitre esclave, soit maitre et repeater.
ca m'étonnerait quand même que personne n'ait fait une chose ressemblante à ce que je veux faire ou expliquant comment à partir d'un maitre, envoyer des données sur un esclave, qui lui meme passe en maitre pour envoyer sur un esclave, etc...
et c'est pas faute d'avoir chercher quelques heures sur le net pourtant.

C'est juste que ce genre de projet est quand même bien casse tête :wink:

Regarde tout simplement l'exemple ping de la librairie Mirf, il montre comment émettre et recevoir depuis le même nRF.
Ensuite rien ne t'interdit de te lancer et d'être le premier à plancher sur le sujet :wink:

j'adore les projets à prise de tête :slight_smile:

c'est sur que si je trouvai un moyen automatique comme avec mes bornes wifi pour que ca se mette en mesh tout seul, ca serait nickel, mais faut pas trop réver je crois.

ca impliquerait plusieurs choses :
récupérer l'identité de la carte qui est unique pour chaque carte
récupérer les infos sur un server ou un module dans les parages
chercher si des copains sont autour sur le même canal
et tout ca avec le même "firmware" sans avoir a modifier pour chaque module quoi que ce soit.

c'est dans combien de temps noël déjà? :grin: