Émettre des valeurs avec un CC1101 et un Arduino Pro Mini
Description :
Ce projet démontre la mise en œuvre d’une liaison radiofréquence basse consommation entre un microcontrôleur Arduino Pro Mini (ATmega328P) et un module Texas Instruments CC1101.
- Objectif : Émission de données structurées sur la bande de fréquence 433 MHz.
Prérequis :
- 1 x Module de port série USB 2.0 vers TTL FT232BL
- 1 x Carte Pro mini 3.3V 8MHz
- 1 × Module sans fil CC1101
- 1 x Breadboard
- Fils de connexion
Version IDE :
- Arduino IDE 2.3.5
Bibliothèque :
- RadioLib.h (version: 7.5.0 par Jan Gromes)
Vidéo de démonstration :
NA
Schéma de câblage :


Code :
#include <RadioLib.h>
CC1101 radio = new Module(10, 2, RADIOLIB_NC, 3);
// 1. Définir le paquet de données
struct MonPaquet {
int id; // 2 octets
float temperature; // 4 octets
float humidite; // 4 octets
};
void setup() {
Serial.begin(9600);
int state = radio.begin(433.0);
if (state == RADIOLIB_ERR_NONE) {
Serial.println(F("Initialisation réussie !"));
} else {
while (true);
}
}
void loop() {
// 2. Remplir les données
MonPaquet monMessage;
monMessage.id = 1;
monMessage.temperature = 24.55;
monMessage.humidite = 60.2;
Serial.print(F("Envoi du paquet... "));
// 3. Envoyer la structure entière
// sizeof(monMessage) calcule automatiquement la taille totale (10 octets ici)
int state = radio.transmit((uint8_t*)&monMessage, sizeof(monMessage));
if (state == RADIOLIB_ERR_NONE) {
Serial.println(F("Succès !"));
} else {
Serial.print(F("Erreur : "));
Serial.println(state);
}
delay(2000);
}
