Je suis en terminale et je dois m'occuper d'une télécommande pour mon projet mais je n'arrive pas à faire fonctionner les modules RF. Voici mon code:
En espérant que quelqu'un puisse m'aider, merci d'avanceCode:const int SW_pin = 2; const int X_pin = 0; const int Y_pin = 1; int onoff = 0; #define BLUE 3 #define GREEN 5 #define RED 6 #define buzzerPin 4 #include <VirtualWire.h> int Nnombre; char Message[VW_MAX_MESSAGE_LEN]; void setup() { vw_setup(2000); pinMode(SW_pin, INPUT); digitalWrite(SW_pin, HIGH); Serial.begin(9600); pinMode(4, OUTPUT); pinMode(RED, OUTPUT); pinMode(GREEN, OUTPUT); pinMode(BLUE, OUTPUT); digitalWrite(RED, HIGH); digitalWrite(GREEN, LOW); digitalWrite(BLUE, LOW); vw_rx_start(); } int redValue; int greenValue; int blueValue; void loop() { int nombre=0; Serial.print("Avant envoi : "); if(digitalRead(SW_pin) == 0 ) { digitalWrite(BLUE,25); digitalWrite(GREEN,25); digitalWrite(RED,25); if(onoff==0) { while(digitalRead(SW_pin)==0) { digitalWrite(4,HIGH); delay(350); digitalWrite(4,LOW); delay(400); } onoff=1; } else { digitalWrite(4,LOW); onoff=0; } } else { digitalWrite(BLUE,LOW); digitalWrite(GREEN,LOW); digitalWrite(RED,LOW); } if ((analogRead(X_pin)>340)&&(analogRead(X_pin)<840)) { if (analogRead(Y_pin)<490) { digitalWrite(BLUE,HIGH); digitalWrite(GREEN,LOW); digitalWrite(RED,LOW); nombre=4; } else if (analogRead(Y_pin)>520){ digitalWrite(BLUE,LOW); digitalWrite(GREEN,HIGH); digitalWrite(RED,LOW); nombre=2; } } if ((analogRead(Y_pin)>340)&&(analogRead(Y_pin)<840)) { if (analogRead(X_pin)<490) { digitalWrite(BLUE,LOW); digitalWrite(GREEN,LOW); digitalWrite(RED,HIGH); nombre=1; } else if (analogRead(X_pin)>520){ digitalWrite(BLUE,1); digitalWrite(GREEN,1); digitalWrite(RED,1); nombre=3; } } delay(100); // convertion de l'int en tableau de char itoa(nombre,Message,10); // 10 car décimal vw_send((uint8_t *)Message, strlen(Message)); vw_wait_tx(); // Wait until the whole message is gone delay(100); Serial.println(nombre); Serial.print("Apres envoi : "); uint8_t buf[VW_MAX_MESSAGE_LEN]; uint8_t buflen = VW_MAX_MESSAGE_LEN; if (vw_get_message(buf, &buflen)) { int i; for (i = 0; i < buflen; i++) { Message[i] = char(buf[i]); } Message[buflen] = '\0'; // Conversion du tableau de chars en int: nombre = atoi(Message); Serial.println(nombre); } Serial.println(" "); }
-----