Pages: 1 [2]   Go Down
Author Topic: cherche tuto debutant 433Mhz  (Read 2582 times)
0 Members and 1 Guest are viewing this topic.
la Reunion
Offline Offline
Jr. Member
**
Karma: 0
Posts: 74
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Oui, je partage ton avis sur ce magnifique pays qu'est Madagascar. Le paradoxe de l'ocean Indien... (mais je vais arrêter la le hors sujet  smiley-yell)
Question subsidiare: Connais tu la Reunion ?


Pour ce qui est du code sans le serial, je ne sais pas faire tous simplement ! pfffff  smiley-roll-sweat d'ou le titre du topic > tuto 433mhz  smiley-kiss
je me suis basé sur le tuto de Skywodd, que j'ai essayé de bidouiller, et je m'y suis mal pris parceque sa fonctionne "presque"... (je deteste le "presque" !!!!  smiley-twist)
Donc retour à la case depart. Mais oui, effectivement à terme mon but est de me passer de l'ordi pour rendre ce montage "autonome".
En fait ce que je veu est tous simple: une action sur la carte émettrice engendre une reaction sur la carte réceptrice.
Y'a bien quelqu'un ici qui a déjà recrée un module du style portail électrique, ou quelque chose du genre ?
merci d'avance.


Logged

Merci !!!!!

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4978
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...

Pour ce qui est du code sans le serial, je ne sais pas faire tous simplement !
...

Tu a testé "mon" code au dessus ?

Logged

la Reunion
Offline Offline
Jr. Member
**
Karma: 0
Posts: 74
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

...

Pour ce qui est du code sans le serial, je ne sais pas faire tous simplement !
...

Tu a testé "mon" code au dessus ?



Non, pas encore, mais j'ai hate, j'espere que sa marche.La je suis chez moi , j'ai pas les cartes pour essayer. Demain matin je teste ça arrivé au bureau et je te tiens au courant.Merci !!!! smiley-grin
Logged

Merci !!!!!

la Reunion
Offline Offline
Jr. Member
**
Karma: 0
Posts: 74
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, j'ai fais le test, c'est idem au code avec serial.
C'est à dire qu'il faut que je coupe l'alimentation et remette l'alimentation de la carte réceptrice pour que le nouveau code soit pris en compte, et donc que la led réagisse.
Logged

Merci !!!!!

Offline Offline
Faraday Member
**
Karma: 33
Posts: 4978
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, j'ai fais le test, c'est idem au code avec serial.
C'est à dire qu'il faut que je coupe l'alimentation et remette l'alimentation de la carte réceptrice pour que le nouveau code soit pris en compte, et donc que la led réagisse.

bonjour
pour etre sur que l'on se comprenne bien :

tu charge un code recepteur avec (exemple) la chaine pour la led = "LED1"
ON OFF de la carte  receptrice
tu envoie "LED1" = action led OK

tu charge un nouveau code recepteur avec "LED2"
sans ON/OFF
tu envoi "LED2" = pas d'action sur la led , c'est ça ?
si tu envoi "LED1" , il y a encore action sur la led ?
Logged

la Reunion
Offline Offline
Jr. Member
**
Karma: 0
Posts: 74
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ok, j'ai fais le test, c'est idem au code avec serial.
C'est à dire qu'il faut que je coupe l'alimentation et remette l'alimentation de la carte réceptrice pour que le nouveau code soit pris en compte, et donc que la led réagisse.

bonjour
pour etre sur que l'on se comprenne bien :

tu charge un code recepteur avec (exemple) la chaine pour la led = "LED1"
ON OFF de la carte  receptrice
tu envoie "LED1" = action led OK

tu charge un nouveau code recepteur avec "LED2"
sans ON/OFF
tu envoi "LED2" = pas d'action sur la led , c'est ça ?
si tu envoi "LED1" , il y a encore action sur la led ?

si j'envoie un nouveau code il n'est pas pris en compte (que se soit LED1 ou LED2).
La carte réceptrice conserve son état. Sauf si je coupe l'alimentation de l'émetteur: a ce moment la la led ne clignote plus. Et si je remet l'alimentation de l'émetteur elle ne se rallume pas.
pour resumer :
Si je reset la carte réceptrice , elle "rafraichira" avec le code reçu au moment de son allumage, après elle ne change plus d'état selon les différents codes qu'elle peu recevoir.
j'ai pensé que c'est le buffer qui reste en mémoire et qui ne serait pas écrasé par le nouveau code qui arrive. Alors dans Void Loop, j'ai mis toutess les variables a "0" en fin de programme (après le clignotement) mais sa n'a pas fonctionné. La je ne sais vraiment plus quoi faire. Je commence a perdre espoir, surtout pour une operation aussi basique (j'ai honte.... lol)
Logged

Merci !!!!!

la Reunion
Offline Offline
Jr. Member
**
Karma: 0
Posts: 74
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

ok, j'ai trouvé un maniere de contourner le problème, bien plus longue mais qui fonctionne.
Par contre c'est pas tres propre.
Code:
#include <VirtualWire.h> // Vous devez télécharger et installer la librairie VirtualWire.h dans votre dossier "/libraries" !
int led = 5;  //vert
int led2 = 6;  //rouge



void setup()
{
    Serial.begin(9600);    // On initialise "le serial monitor", j'ai laissé 9600 bauds ici car c'est la valeur par défaut mais vous pouvez la modifier. Attention à bien mettre la même valeur dans votre Serial Monitor et dans votre programme.
    vw_setup(2000);                 // Bits par seconde (vous pouvez le modifier mais cela modifiera la portée). Voir la documentation de la librairie VirtualWire.
    vw_set_rx_pin(11);             // C'est sur cette broche que l'on reliera les broches DATA du récepteur, vous pouvez changez de broche si vous le désirez.
    vw_rx_start();                    // On démarre le récepteur.
    pinMode(led, OUTPUT);     
    pinMode(led2, OUTPUT); 
 
}

void loop()
{
    uint8_t buf[VW_MAX_MESSAGE_LEN];
    uint8_t buflen = VW_MAX_MESSAGE_LEN;

    if (vw_get_message(buf, &buflen)) // On test afin de savoir si un message est reçu.
    {
    int i;
     // Un message est reçu.

    for (i = 0; i < buflen; i++) // on recoit le msg lettre par lettre
    {
        Serial.write(buf[i]);  // On affiche le message lettre par lettre. Par exemple buf[4] sera égale à la 5ème lettre du mot envoyé (Snootlab donc "t") car on compte le zéro ici.
       
      }
    Serial.println(""); // On saute une ligne afin d'avoir plus de clarté.
   
    }
 
   {
   
    if (buf[0] == 'V')
    if (buf[1] == 'a')
    if (buf[2] == 's')
    if (buf[3] == 's')
    if (buf[4] == 'i')
     {
  digitalWrite(led, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);               // wait for a second
  digitalWrite(led, LOW);    // turn the LED off by making the voltage LOW
  delay(500);               // wait for a second
     }

    if (buf[0] == 'r')
    if (buf[1] == 'i')
    if (buf[2] == 'e')
    if (buf[3] == 'n')
   // if (buf[4] == 'i')
{
   digitalWrite(led2, HIGH);   // turn the LED on (HIGH is the voltage level)
  delay(500);               // wait for a second
  digitalWrite(led2, LOW);    // turn the LED off by making the voltage LOW
  delay(500);               // wait for a second
}

}}

je suis sur que sa va arrcher les rétines des pros du forum qui vont maintenant me dire "mais pourquoi ta pas plutot fais comme ça...?!!! "  smiley-lol
Logged

Merci !!!!!

Pages: 1 [2]   Go Up
Jump to: