FM 433 Mhz

Ok merci je test sa demain ! : )

Sinon les branchements sont bon tu penses ?

Et juste, je trouve où la version 1.15 avec le .h, .cpp + les exemples ?..

nathan30:
Et juste, je trouve où la version 1.15 avec le .h, .cpp + les exemples ?..

http://www.airspayce.com/mikem/arduino/VirtualWire/VirtualWire-1.15.zip

Merci ! :slight_smile:

Bon, tout marche nickel désormais !

Le problème venait du récepteur. Toutes les pins n'étaient pas branchées..

Merci de ton aide Skywodd et aussi merci pour tes tutos

Skywodd, est il possible d'envoyer une variable plutôt qu'un texte ?

Merci d'avance

Et bien, un texte est une variable :o

après si tu parle de nombres, il suffit de les convertir à l'arrivé

Ha je vois ce que tu dois penser, avec un compilateur, "du texte" n'est pas juste du texte mais une variable de type char[], va voir le tutoriel des chaines de caractères en langage C du site du zero, c'est bien expliqué :slight_smile:

nathan30:
Skywodd, est il possible d'envoyer une variable plutôt qu'un texte ?

Exemple :

int val = 42;

// Envoi
vw_send((uint8_t *) &val, sizeof(int));

// Réception
uint8_t buflen = sizeof(int);
vw_get_message((uint8_t *) &val, &buflen)

Merci beaucoup !

Help :cry:

J'ai remplacer les lignes que tu m'as dit, mais je recois deux carrés a chaque fois :cry:

Pourquoi ?..

-> ton code complet d'envoi et de réception :wink:

Recepteur :

#include <VirtualWire.h>
int val = 42;

void setup()
{
    Serial.begin(9600);	// Debugging only
   
    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);	 // Bits per sec

    vw_rx_start();       // Start the receiver PLL running
}

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

    if (vw_get_message((uint8_t *) &val, &buflen)) // Non-blocking
    {
	int i;

        digitalWrite(13, true); // Flash a light to show received good message
	// Message with a good checksum received, dump it.
		
	for (i = 0; i < buflen; i++)
	{
	    Serial.print(char(buf[i]));
	   // Serial.print(" ");
	}
	Serial.println("");
        digitalWrite(13, false);
    }
}

Emetteur :

#include <VirtualWire.h>
int val = 42;

void setup()
{
    Serial.begin(9600);	  // Debugging only
    Serial.println("setup");

    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);	 // Bits per sec
}

void loop()
{
//    const char *msg = "hello";

    digitalWrite(13, true); // Flash a light to show transmitting
    vw_send((uint8_t *) &val, sizeof(int));
    vw_wait_tx(); // Wait until the whole message is gone
    digitalWrite(13, false);
    delay(200);
}

Merci d'avance..

HEEEEEEEEEEEEELP :cry:

J'dois rendre mon dossier demain, aidez moi s'il vous plait :'(..

Serial.print(char(buf*));[/quote]*
réfléchi..

J'avouerai que je suis pas très doué en codage.. J'ai réussi à bidouiller un code pour mon projet, mais là je bloque, et demain je dois tout rendre..

Merci d'vance..

Fait appel à ton cerveau ... c'est pas du code là, c'est de la réflexion pure et dure.

for (i = 0; i < buflen; i++)
{
  Serial.print(char(buf[i]));
}

Pose toi la question suivante : quelle variable souhaites tu afficher, buf[] ou val ?
A méditer :wink:

Il suffit donc de mettre :

#include <VirtualWire.h>
int val = 42;

void setup()
{
    Serial.begin(9600);	// Debugging only
   
    // Initialise the IO and ISR
    vw_set_ptt_inverted(true); // Required for DR3100
    vw_setup(2000);	 // Bits per sec

    vw_rx_start();       // Start the receiver PLL running
}

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

    if (vw_get_message((uint8_t *) &val, &buflen)) // Non-blocking
    {
	int i;

        digitalWrite(13, true); // Flash a light to show received good message
	// Message with a good checksum received, dump it.
		
	for (i = 0; i < buflen; i++)
	{
	    Serial.print(char(val[i]));
	   // Serial.print(" ");
	}
	Serial.println("");
        digitalWrite(13, false);
    }
}

Et c'est bon ?
Un énorme merci en tout cas, tu me sauve !

J'avouerai que je suis pas très doué en codage.. J'ai réussi à bidouiller un code pour mon projet, mais là je bloque

Comme tu t'avoue pas très doué en programmation du coup tout ton esprit se crispe aux moindre problèmes parce que tu te rabaisse intellectuellement sa t’empêche de trouver des solutions pour résoudre le problème voila pourquoi tu bloque, crois moi que je ne suis pas plus fort que toi en programmation j'ai a peine commencé en décembre sans notion.

Le but n'est pas de te fournir un code tout cuit, mais de fournir les outils pour que tu le cuisent a ta sauce afin que tu puissent dominer le système et comprendre son fonctionnement, la partie la plus importante ce n'est pas le résultat finale mais celle ci !

Prend de la motivex et de la moraline dans ce genre de moment.

http://arduino.cc/fr/Main/SyntheseTypesDonnees

D'habitude j'essaie de penser comme ça. Mais étant donné que je n'avais qu'une soirée pour le faire..