Bonjour,
j'ai réalisé une maquette "récepteur" avec un transmetteur NRF24L01+ et un Attiny 85 (8 pins) chargé avec le code ci-dessous.
J'ai réalisé un récepteur avec un transmetteur NRF24L01+ et un Attiny 85 chargé avec le code ci-dessous.
L'ensemble fonctionne parfaitement.
Pour mon projet j'ai besoin de pins supplémentaires sur le récepteur, aussi je me suis retourné vers un Attiny84 (14 pins).
J'ai adapté le code en changeant les pins radio: CE_PIN 8, CSN_PIN 7 et led sur broche 12.
Le récepteur ne fonctionne pas, la LED ne s'allume pas.
Depuis 3 semaines je cherche pourquoi, mais je ne parviens pas à trouver le problème.
J'ai vu qu'il y avait des problèmes d'affectation avec MISO, MOSI et SCK, mais je pense que depuis, les librairies ont été mises à jour!!
Si quelqu'un peut m'aider, car je ne sais plus comment faire.
merci par avance,
michel
Code:/************************** RECEPTEUR ATtiny84-A-PU & NRF24L01+ **************************** ** Configuration du matériel ** Pour ATtiny84 PA2 avec CE_PIN3 et PA3 avec CSN_PIN4 +-\/-+ -----nRF24L01 VCC, pin2 --- VCC 1|o |14 GND --- nRF24L01 GND, pin1 -----[=R=]---+---- PB0 (D00) 2| |13 (D10)AREF | PB1 (D01) 3| |12 (D09)PA1 --- broche ATTINY n°12 ---- LED --+ PB3(Reset) 4| |11 (D08)PA2 --- nRF24L01 CE, pin3 INT0 PB2 (D02) 5| |10 (D07)PA3 --- nRF24L01 CSN, pin4 PA7 (D03) 6| |9 (D06)PA4 --- nRF24L01 SCK, pin5 nRF24L01 MOSI, pin7 --- PA6 (D04) 7| |8 (D05)PA5 --- nRF24L01 MISO, pin6 +----+ */ #include "RF24.h" #define CE_PIN 8 #define CSN_PIN 7 int buzzer = 9; // 3 pour ATtiny85 byte alarm; bool check=0; /************* Configuration *************/ RF24 radio(CE_PIN, CSN_PIN); // CE_PIN = 3, CSN_PIN = 4 pour ATtiny85 const byte rxAddr[6] = "01924"; /*****************************************/ void setup(void) { radio.begin(); radio.setChannel(1); radio.setPALevel(RF24_PA_MIN); radio.setDataRate(RF24_250KBPS); radio.setRetries(1,15); radio.setCRCLength(RF24_CRC_8); radio.openWritingPipe(rxAddr); radio.startListening(); delay(200); } void beep() { digitalWrite(buzzer, HIGH); delay(1000); digitalWrite(buzzer, LOW); delay(500); } void loop(void) { if(radio.available() || check) { radio.read(&alarm, 1); beep(); delay(200); check = 1; } } /*======================================================================================== // POUR INFO ==> code de l'emetteur: ************************* EMETTEUR ATtiny85-20PU & NRF24L01+ **************************** ATtiny85 Pins avec CE_PIN 3 and CSN_PIN 4 Pour contrôle, j'ai ajouté une LED + résistance entre CE et moins. +-\/-+ NC PB5 1|o |8 Vcc --- nRF24L01 VCC, pin2 nRF24L01 CE, pin3 --- PB3 2| |7 PB2 --- nRF24L01 SCK, pin5 nRF24L01 CSN, pin4 --- PB4 3| |6 PB1 --- nRF24L01 MOSI, pin7 nRF24L01 GND, pin1 --- GND 4| |5 PB0 --- nRF24L01 MISO, pin6 +----+ #include "RF24.h" #define CE_PIN 3 #define CSN_PIN 4 //************* Configuration ********************************** RF24 radio (CE_PIN , CSN_PIN ); const byte rxAddr[6] = "01924"; //*************************************************************** void setup(void) { radio.begin(); radio.setChannel(1); radio.setPALevel(RF24_PA_HIGH); radio.setDataRate(RF24_250KBPS); radio.setRetries(1,15); radio.setCRCLength(RF24_CRC_8); radio.openWritingPipe(rxAddr); radio.stopListening(); } void loop(void) { delay(300); radio.write("1", 1); }*/
-----