Allumer une LED par RF avec une seul Arduino

Hello,
Je voudrais domotiser un peu ma chambre et j'ai donc penser à controler les prises avec un relais controler par un module RF qui reçois les informations par une arduino equipé d'un autre module RF.

Je me demandais juste si il étais possible de piloter un relais avec un module RF sans passer par arduino entre les deux... Si ce n'est pas clair ( ce qui est surement le cas

ça dépend du module RF.

Avec un bête émetteur/récepteur 433MHz et un Serial Encoder/Decoder (HT12E pour l'Encodeur et HT12D pour le Décodeur) vous pouvez vous fabriquer une télécommande. comme ils sont susceptible de gérer plusieurs adresses et data, vous pouvez contrôler plusieurs appareils

Si vous lisez l'anglais, voici un bon article qui vous montre comment faire et explique le principe.

Bonjour,
Désolé pour cette réponse tardive, il y a des tonnes de devoirs que je devais faire ;D
J'ai pigé le système mais il explique que le signal arrive sous forme de data.
je me donc juste comment convertir le signal data en boélien ( je sais plus le terme exacte xD )

en clair :

si j'ai bien compris ça fait ça : encoder----transmiter))))) Receiver------decoder----data----(?)

mais Je sais pas quoi en faire du data moi... je suis un noob !

du coup j'aimerais bien que ça fasse ça : arduino---transmiter)))))receiver-----decoder----relais 5V---- LED

Je c'est pas si c'est possible ou si il faut rajouter d'autres composants mais, comme je suis une chèvre en électronique, je demande !!! =D

Merci

Bonsoir,

Sinon, tu peux utiliser des prises radiocommandé que tu peux piloter avec ton Arduino grâce à un module RF

Vous avez deux composants. Un encodeur E qui ressemble à cela

Et un décodeur D qui ressemble à cela

(En simplifiant un peu) Ils ont tous les 2 des pins A0...A7 sur la gauche. C'est la partie adresse. Vous choisissez de mettre par exemple toutes ces pins à GND et l'adresse du module est 0000 0000 = 0. si A0 est à 5V et Le reste à GND alors l'adresse du module est 0000 0001 = 1, si A0 et A1 sont à 5V et le reste à Gnd alors l'adresse du module est 0000 0011 = 3 --> un codage binaire de l'adresse vous donnant 256 possibilités.

De l'autre vous avez 4 pins de données D0-D3. vous reliez ces pins à GND ou 5V, par exemple;e si D0 et D1 sont à 5V et D2 Et D3 à GND votre valeur de data est 0011 = 3

Quand vous ajoutez les modules RF et les quelques autres composants, en gros l'adresse et les données sont envoyées sur les ondes dans un message. le récepteur écoute sur cette fréquence et passe le message au décodeur. si le décodeur reconnaît son adresse dans le message alors il active ses sorties data en les mettant aux même niveau que dans le message

Donc si vous mettez A0-A7 à GND des 2 côtés - les 2 modules ont l'adresse à 0 (donc peuvent se parler puisque même adresse) - et des boutons sur les lignes D0-D3 reliant soit à 0V soit 5V, vous aurez en permanence de l'autre côté sur le décodeur les broches D0-D3 qui seront mise au même niveau que l'état des boutons. Si vous passez D0 à 5V sur l'encodeur alors D0 du décodeur passe à 5V.

Maintenant si la sortie D0 du décodeur est connectée à votre relai alors en basculant le bouton D0 de l'encodeur vous avez envoyé une commande sans fil depuis l'necodeur à votre relai ==> vous avez ainsi fabriqué une télécommande sans arduino

Par le jeu des adresses l'émetteur choisit à quel récepteur il s'adresse et par le jeu des data il choisi la valeur des pins de données. pour reprendre votre expression ça fait (si l'adresse du décodeur est bien réglée sur Adresse)

Adresse + 4 pins de data --> encoder --> transmiter ))) Receiver --> decoder --> 4 pins de data

Ensuite chaque pin peut être une commande numérique donc 4 relais par exemple.

ou alors ces pins peuvent être connectées à un arduino à la réception pour lire leur valeurs et décider quoi faire, ou reliées à un arduino côté émission pour piloter des sorties distantes.

Enfin Vous pouvez avoir un arduino des 2 côtés mais dans ce cas pas besoin de l'encodeur et du décodeur, la librairie arduino fait Le boulot de ces composants.

J'espère que c'est plus clair?

Il existe un sur le marcher un relais comme celui ci http://www.robotshop.com/eu/fr/relais-sans-fil-433mhz.html avec un récepteur HF et qui inclue déjà l'électronique de décodage du signal RF. Côté arduino tu mets un émetteur 433 et tu utilises la bibliothèque RCSwitch avec une commande du style mySwitch.send(5393, 24) par exemple.( il y a des fichiers exemples avec la bibliothèque qui sont tout à fait explicites ).
Le relai cité contient un bouton apprentissage. Donc dans un premier temps il faudra appuyer sur ce bouton pour qu'il enregistre le code envoyé par ton émetteur ( ici 5393 codé sur 24 bit)
Bien sur il s'agit d'un relais. Donc d'un côté du dois l'alimenter en 10-12 v (pour alimenter toute l'électronique basse tension du relai) et de l'autre tu branches la phase de ton appareil à commander ( avec toutes les précautions qui s'imposent bien sur ...)
Il y a trois bornes côté sortie sur le relai. COM NO NC. Tu branches la phase de ton secteur sur COM et un des fils d'alimentation de ton appareil sur la borne NC ( NC=normaly close).
Ensuite il te reste plus qu'à faire un petit programme sur ton arduino pour commander le relai selon ton besoin. Personnellement je l'ai fait pour allumer une chaudière. J'ai rajouter un Shields ethernet qui envoie un page html qui permet ensuite de commander l'allumage avec n'importe quel ordinateur ou téléphone connecté à internet. Le défaut de ce système bien sur c'est qu'il ne donne pas d'information sur la réception ou non du signal. Dans ton cas c'est pas très grave vu que tu verras directement les Lumières s'allumer ou pas. Bien entendu tu n'es pas obligé d'avoir une arduino pour envoyer le signal de commande vers ton relais (un émetteur simple genre portail de garage fait l'affaire) mais vu qu'on est sur un forum arduino, inutile d'en parler

Bonjour,
Merci pour ces réponses très instructives....
Au niveau des prises controlé par RF deja faites, je suis pas fan car il y a pas vraiment le DIY dedans =P
Le relais RF, le prix n'est pas très atractif !

Je pense donc partir sur l'émetteur avec un encoder et un decoder... En plus j'ai bien pigé l'explication ! Spcécial UP À @J-M-L pour cette explication très bien faite :slight_smile:

Mais il est bien possible de changer les adresses de l'encoder via une arduino, car une seul prise c'est pas top !

Et petite question bonus =
Quelle est la portée du systeme avec une petite antenne ?

Car il y a beaucoup de mur chez moi et ça risque d'être embétant !

Merci encore !

Content quel'explication vous ait plu :slight_smile:

Mais il est bien possible de changer les adresses de l'encoder via une arduino, car une seul prise c'est pas top

Oui c'est tout l'intérêt vous connectez les pins A0-A7 de l'encodeur à des pins de votre uno ainsi que les pins D0-D3 et votre uno peut décider une adresse parmi les 255 et de la valeur des 4 broches en sortie. ça laisse des possibilités !

La portée, oui c'est variable... faudra tester

Bonjour,
au niveau des murs, il sont en plâtre, mais il ne sont pas très épais... Je capte le wi-fi de ma box alors qu'il y à 7 murs qui nous séparent ! J’espère donc que ça devrai passé. Au pire il y a toujours moyen d'amélioré le système, non ?

Pour le code Arduino, il y a même pas besoin de librairie si je comprend bien ?

deux autre petites questions ( je sais je suis bavard =P ) :

  1. quelle est l'ampérage des prises secteurs et un relais "basique" 5V-250V 10A peut il supporter cette ampérage ?

  2. Je me suis rendu compte qu'il y avait un pin GPIO sur un relais, et qu'il fallait l'utiliser pour changer l'état du relais... existe t'il des relais qui change de Normaly open à Normaly closed si on leur applique du courant ?

Merci encore et bonne journée !

au niveau des murs, il sont en plâtre, mais il ne sont pas très épais... Je capte le wi-fi de ma box alors qu'il y à 7 murs qui nous séparent ! J'espère donc que ça devrait passer. Au pire il y a toujours moyen d'améliorer le système, non ?

Une basse fréquence traverse beaucoup mieux les bâtiments que les fréquences élevées donc avec du 433MHz vous passez mieux les obstacles qu'avec du 2.4Ghz "en théorie"... Mais bien sûr tout dépend aussi de la puissance émise, de l'encombrement de cette fréquence, de la gestion des rebonds etc... bref de votre environnement d'usage.

La Puissance Apparente Rayonnée (PAR) admise en france pour le 433MHz (Systèmes radio sans licence) de mémoire est limitée à 10 mW (alors qu'on peut monter à 500 mW dans la bande 868 MHz). Aucune garantie de non-brouillage n'est accordée aux utilisateurs dans la bande de 433 MHz: elle est ouverte à d'autres catégories d'utilisateurs autorisés à employer des puissances très élevées (100 W et plus). Donc si vous êtes près d'un de ces émetteurs oubliez cette idée...

--> faut tester :slight_smile:

Pour le code Arduino, il y a même pas besoin de librairie si je comprend bien ?

Non, pas si c'est juste pour gérer les pins d'adresse et de data. Les puces externes d'encodage et de décodage font le boulot. (lisez bien le tuto que j'avais référencé ci dessus, il faut quelques composants discrets supplémentaires)

  1. Je me suis rendu compte qu'il y avait un pin GPIO sur un relais, et qu'il fallait l'utiliser pour changer l'état du relais... existe t'il des relais qui change de Normaly open à Normaly closed si on leur applique du courant ?

La majorité des relais que je connais offrent les 2 types de sortie, soit NO soit NC. il faut brancher les 2 fils aux bonnes bornes.

au niveau des murs, ça devrai passer...

Pour ce qui est des composants en plus, si on alimente directement le tout en 5 V et qu'on met pas les LED, il y a besoin de rien en plus non ? Juste je comprend pas pourquoi il y a un capaciteur au niveau dans le circuit du décodeur !

Pour le relais, il est possible de changer d'état juste avec du 5V si j'ai bien compris... mais alors pourquoi il y a 3 pins d'entrée ? ( un Vcc, Gnd et in1 )

Merci =D

L'amperage qui sort des prises est déterminée par ce que tu branches dessus. Donc si ton relais peut prendre du 10A tu pourras commander un appareil qui consomme 10A soit 2200watt (P=UI)
Mais prévois quand même une marge, car en cas de surtension sur le secteur tu peux tout cramer
Par contre ta prise est protégée par un disjoncteur. C'est lui qui limite l'intensité du courant admissible.
Fais attention quand tu câbles le relais. Il s'agit d'un interrupteur. Donc tu branches soit la phase soit le neutre mais surtout pas les deux. Si tu branches les deux, tu vas te retrouver dans le noir..... Ça va sans dire mais c'est quand même mieux en le disant...
Ensuite tu choisis NO ou NC en fonction de ce que tu désires si ton relais n'est plus allimenté. Si tu commandes une lampe il vaut mieux le mettre sur NO pour pas que ta lampe reste éclairée si ton dispositif tombe en panne. Par contre si tu prévois d'allumer ta lampe pour te réveiller le matin parce que tu as un RDV super important il vaut mieux le mettre sur NC. Au pire tu seras réveillé bien avant l'heure :slight_smile:

j'avais posté un petit tuto en utilisant un relai - pas la même config mais ça vous donnera des idées sur la partie relai

Dans tous les case faire super attention à la qualité des composants et à la sécurité quand on joue avec du 220V

carlitototo:
Pour le relais, il est possible de changer d'état juste avec du 5V si j'ai bien compris... mais alors pourquoi il y a 3 pins d'entrée ? ( un Vcc, Gnd et in1 )

Merci =D

çà depend du modele de circuit qui commande le relais
les modeles les plus répandus ont un optocoupleur+transistor+relais

le relais est activé "normally closed NC" lorsque la pin IN0 est au gnd, une led sur le module s'allume par la meme occasion
pin 1 2 3 sur le schema : gnd vcc jd-vcc
gnd de l'arduino
vcc 5 volts de l'arduino
jd-vcc : tension d'alim du relais : si c'est un modele 5 volts on peut prendre le 5 volts de l'arduino, pour un nombre limité de relais : 2 ou 3 peut etre 4 mais c'est limite, tout dépend de ce que le 5 volts de l'arduino alimente d'autre !!!!
alim séparée 12 volts si le relais a une bobine 12 volts
pourquoi un optocoupleur et une commande "ON" par gnd :

  1. pour proteger les pins I/O du microprocesseur
  2. les etages de sortie d'un µP peuvent fournir plus de courant à l'état bas qu'à l'état haut
  3. au moment de l'initialisation donc de l'application de l'alim, les états des étages I/O sont à 1 pendant quelques millisecondes (µsecondes?), les relais risquent de se déclencher au moment de la mise en route

note perso : j'ai fait des tas de maquettes à pic +relais simplement avec une résistance +transistor +relais commandé ON par état haut sur les pins sorties du µicro, jamais remarqué déclenchement intempestif ni sortie µP cramé

carlitototo:
Pour ce qui est des composants en plus, si on alimente directement le tout en 5 V et qu'on met pas les LED, il y a besoin de rien en plus non ? Juste je comprend pas pourquoi il y a un capaciteur au niveau dans le circuit du décodeur !

il y a besoin de la résistance entre OSC1 et OSC2 car c'est elle qui définit la fréquence de communication.

vous pouvez lire la spécification de l'encodeur et du décodeur --> il y a une tableau qui détaille le cablage et l'influence de la résistance ROSC page 9 pour l'encodeur, page 5 pour le décodeur)

le câblage de base est celui ci:

encodeur

décodeur

comme ils disent il faut essayer de choisir des résistances pour que la fréquence d'oscillation pour le décodeur fOSC D soit environ (pas besoin d'une super précision) 50 fois la fréquence d'oscillation fOSC E de l'encodeur HT12E (fonction de la tension d'alimentation aussi)

J'ai trouvé que la résistance est assez approximative et même si c'est pas pile dans la spec ça fonctionne, mais vaut mieux essayer de rester dans la recommendation. J'ai utilisé dans des montages 1MΩ et 51kΩ (en fait 47kΩ + 3.3kΩ) et ça marche bien parce que ça donne un rapport 50 à peu près correct pour une alimentation de 5V

des résistances à précision de 5% suffisent.

Ensuite les condensateurs sont là juste pour éviter les parasites. c'est mieux mais pas 100% indispensable.

Bonjour,
au niveau du relais, je pense que je vais d'abords tester sur une lampe de bureau en 12V... Vous avez réussi à me faire peur avec le 220V :art: :fearful: :astonished:
Surtout j'ai pas encore compris ce schéma :

Et que les cours d'électricité au collège se résume à comment appuyé sur un interrupteur =P

Si j'ai bien compris, il suffit juste de relié sOSC1 et OSC2 par une résistance de 50k ?

Je pense que je vais commander les composants et voir un peu comment ça se passe en tentant de pas tout péter et de pas être retrouvé mort électrocuté par une Arduino xD

Merci !

le va et vient vous verrez ça plus tard :slight_smile:

un truc comme ça pour commencer à jouer

la pin 10 commande le relai (ouvre ou ferme l'interrupteur qui est sur le fil et donc allume ou éteint la lampe, c'est un peu comme votre interrupteur physique, mais là c'est l'arduino qui appuie sur le bouton :slight_smile: )

C'est un montage en va et vient. Ça veut dire que quelque soient les positions de ton interrupteur ou de ton relai tu peux commander ta lampes avec le relais ou l'interrupteur.
Imagine juste que tu as un fil qui peut se mettre soit entre B et C soit entre A et C et que ce fil est commandé par ton arduino.

Oki, je pe'se avoir compris... Je vais deja commander les composants et faire deux trois tests avec avant de faire des chose serieuses...

Merci !

Bonjour,
J'ai tester le montage avec le relais, ça marche nickel... Et comme je suis doué, j'ai réussis à me prendre du 220V =P
Sinon au niveau des autres composants, j'ai reçu les emeteurs/récepteur et les encoder/decoder... petit problème avec ces derniers car il étaient sous forme de puce à mettre sur un circuit imprimé... Si quelqu'un à une idée pour les adapter à une arduino !

Je vous tiens au courant des avançé sur le projet !

Merci