Skip to content

Instantly share code, notes, and snippets.

@ypelletier
Last active February 16, 2017 17:41
Sketch pour réception d'un message avec un module nRF24L01 branché à un MSP430 Launchpad. L'état de deux LEDs (branchées respectivement aux pins P1_0 et P1_4) dépend du contenu du message reçu.
/***********************************************************************
Récepteur - LEDs
Sketch pour réception d'un message avec un module nRF24L01 branché à
un MSP430 Launchpad.
L'état de deux LEDs (branchées respectivement aux pins P1_0 et P1_4)
dépend du contenu du message reçu.
http://electroniqueamateur.blogspot.ca/2017/02/communication-par-nrf24l01-entre-deux_6.html
**************************************************************************/
#include <SPI.h>
#include <Enrf24.h>
#include <nRF24L01.h>
#include <string.h>
Enrf24 radio(P2_0, P2_1, P2_2);
const uint8_t rxaddr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0x01 };
void setup() {
Serial.begin(9600);
SPI.begin();
SPI.setDataMode(SPI_MODE0);
SPI.setBitOrder(MSBFIRST);
radio.begin();
radio.setRXaddress((void*)rxaddr);
pinMode(P1_0, OUTPUT); // LED 1
pinMode(P1_4, OUTPUT); // LED 2
radio.enableRX();
Serial.println("Pret a recevoir les messages");
}
void loop() {
char message[33];
int valeur;
while (!radio.available(true))
;
if (radio.read(message)) {
Serial.print("Message recu: ");
Serial.println(message);
// conversion de la chaîne de caractères en nombre entier:
valeur = atoi(message);
// l'état des 2 LEDs dépend du message reçu:
if (valeur == 1) {
digitalWrite(P1_0, HIGH);
digitalWrite(P1_4, LOW);
}
if (valeur == 2) {
digitalWrite(P1_0, LOW);
digitalWrite(P1_4, HIGH);
}
if (valeur == 3) {
digitalWrite(P1_0, HIGH);
digitalWrite(P1_4, HIGH);
}
if (valeur == 4) {
digitalWrite(P1_0, LOW);
digitalWrite(P1_4, LOW);
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment