Il n'est pas possible d'utiliser une Nano-RF car D9 et D10 sont utilisés par le module RF.
A tester: Modifier le fichier ==> userConfig.h afin de configurer le HP sur d'autres broches que D9 et D10
Sig NANO UNO MEGA VCC 3V3 3V3 3V3 CNS (CS) D8 D8 D8 MOSI (MO) D11 D11 D51 IRQ D2 D2 D2 GND GND GND GND CF (CE) D7 D7 D7 SCK D13 D13 D52 MISO (MI) D12 D12 D50
Très important : Les modules nRF24 ont tendance à faire « chuter » la tension d’alimentation des Arduino, lorsque branchés directement dessus. Il faudra donc toujours rajouter un condensateur, entre les fils VCC et GND des NRF24L01, afin de stabiliser leur tension d’alimentation. Sinon, vous risquez fort vous retrouver avec des bugs de communication inexpliqués, ou des fonctionnements erratiques. C’est pourquoi on trouve couramment sur internet des petites cartes « intermédiaires » pour NRF24, permettant de mieux « gérer » leur alimentation.
https://www.youtube.com/watch?v=1HmDgEDWV2A
/* RF24 Audio Library TMRh20 2014
Default Pin Selections:
Speaker: pins 9,10 on UNO, Nano, pins 11,12 on Mega 2560
Input/Microphone: Analog pin A0 on all boards
*/
#include <RF24.h>
#include <SPI.h>
#include <RF24Audio.h>
#include "printf.h" // General includes for radio and audio lib
RF24 radio(7,8); // Set radio up using pins 7 (CE) 8 (CS)
RF24Audio rfAudio(radio,1); // Set up the audio using the radio, and set to radio number 1
int talkButton = 3;
void setup() {
Serial.begin(115200);
printf_begin();
radio.begin();
radio.printDetails();
rfAudio.begin();
rfAudio.setVolume(4);
pinMode(talkButton, INPUT_PULLUP);
//sets interrupt to check for button talk abutton press
attachInterrupt(digitalPinToInterrupt(talkButton), talk, CHANGE);
//sets the default state for each module to recevie
rfAudio.receive();
}
//void talk()
//Called in response to interrupt. Checks the state of the button.
//If the button is pressed (and held) enters transmit mode to send
//audio. If button is release, enters receive mode to listen.
void talk() {
if (!digitalRead(talkButton)) {
rfAudio.transmit();
} else {
rfAudio.receive();
}
}
void loop()
{
}
// RF24L01 configuration
SPI Speedz = 10 Mhz
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=7 TX_FULL=0
RX_ADDR_P0-1 = 0xabcdabcd71 0x544d52687c
RX_ADDR_P2-5 = 0x3c 0xc4 0xc5 0xc6
TX_ADDR = 0xabcdabcd71
RX_PW_P0-6 = 0x20 0x20 0x20 0x20 0x20 0x20
EN_AA = 0x3f
EN_RXADDR = 0x03
RF_CH = 0x4c
RF_SETUP = 0x07
CONFIG = 0x0e
DYNPD/FEATURE = 0x00 0x00
Data Rate = 1 MBPS
Model = nRF24L01+
CRC Length = 16 bits
PA Power = PA_MAX
ARC = 0
// RF24L01 configuration
SPI Speedz = 10 Mhz
STATUS = 0x0e RX_DR=0 TX_DS=0 MAX_RT=0 RX_P_NO=0 TX_FULL=0
RX_ADDR_P0-1 = 0x0000000000 0x0000000000
RX_ADDR_P2-5 = 0x00 0x00 0x00 0x00
TX_ADDR = 0x0000000000
RX_PW_P0-6 = 0x00 0x00 0x00 0x00 0x00 0x00
EN_AA = 0x00
EN_RXADDR = 0x00
RF_CH = 0x00
RF_SETUP = 0x00
CONFIG = 0x00
DYNPD/FEATURE = 0x00 0x00
Data Rate = 0 MBPS
Model = nRF24L01+
CRC Length = 00 bits
PA Power = PA_MAX
ARC = 0
Intervertir les fils MOSI et MISO.
L'émission et/ou la réception est hachurée.
Le module RF24L01+PA+LNA de passe pas en mode émission.
Ajouter un condensateur de 100µF directement sur l'alimentation du module. C'est magic !!!
La bibliothèque RFaudio ne fonctionne pas sur les carte Nano-RF.
Les ports D9 et D10 sont utilisés pour les signaux CE/CS. Il faut modifier la librairie dans ce cas (Non testé).