Bonjour,
Je dispose d'une télécommande RF Chacon qui commande mes lumières et volets roulants (récepteurs homemade à base d'Atmega328 et de modules 433MHz)
Tout ceci fonctionne très bien, mais je souhaite passer vers des récepteurs à base de ATTiny85.
Cependant, je ne trouve aucune documentation sur l'utilisation de la librairie RC-Switch avec les ATTiny.
J'arrive à commander mon récepteur ATTiny85 avec des ordres simples non codés en utilisant la librairie Manchester mais pas moyen avec la télécommande Chacon : le module 433MHZ détecte bien le signal, mais les sorties du ATTiny restent muettes, forcément puisque le signal Chacon n'est pas décodé. Je ne vois pas comment utiliser la librairie RC-Switch avec cette puce.
Auriez-vous une idée ? Est-ce possible ?
Dans l'en-tête du header de la lib on trouve :
// At least for the ATTiny X4/X5, receiving has to be disabled due to
// missing libm depencies (udivmodhi4)
#if defined( __AVR_ATtinyX5__ ) or defined ( __AVR_ATtinyX4__ )
#define RCSwitchDisableReceiving
#endif
Et les fonctions de réception ne sont pas compilées si RCSwitchDisableReceiving est defined donc visiblement pas de réception possible sur Attiny
Merci B@tto pour ta réponse. Pour le coup, je comprends pourquoi il y a si peu de littérature sur le sujet. Me reste plus qu'à fabriquer une télécommande homemade.
Regarde du côté du CC1101. C'est un modem 433 mhz (ou 868 mhz). Il gère plusieurs modulations et se pilote en SPI ce qui est possible avec un Attiny. Mais ça risque de pas être de la tarte
Merci pour le tuyau, je garde ça sous le coude au cas où j'ai rien de concluant avec mes modules 433 et un peu de code
essaie ça pour le code du recepteur au lieu de RC-switch (jamais réussi à faire marcher RC-switch!) ![]()
const unsigned int RECEPT_PIN = 2; //Pin de votre recepteur 433
Void setup(){
pinMode(RECEPT_PIN, INPUT);
Serial.begin(9600);
}
void loop()
{
unsigned long sender = 0;
if((sender = listenSignalDIO()) != 0){
Serial.println(sender);
//debounce avec delay() possible
}
}
//listenSignalDIO() by bapt1080
unsigned long listenSignalDIO(){
int i = 0; //compteur boucle
unsigned long t = 0; //recepteur du delai entre 2 front descendant
byte prevBit = 0; //avant dernière "bit" 433 reçue
byte bit = 0; //dernière "bit" 433 reçue
unsigned long sender = 0; //code DIO au format unsigned long - ne gère pas le bit on-off, donne 2 codes différents
t = pulseIn(RECEPT_PIN, LOW, 1000000);
if(t > 2550 && t < 2800) //on lance le déchiffrage quand on reçoit un bit correspondant au dieuxieme cadenas du signal DIO
while(i < 64)
{
t = pulseIn(RECEPT_PIN, LOW, 1000000); //reception des bits
if(t > 280 && t < 340) //si environ 310 + ou - 30 c'est un bit à 0
{ bit = 0;
}else if(t > 1300 && t < 1400) //si environ 1350 + ou moins 50 c'est un bit à 1
{ bit = 1;
}else //sinon la série est érronnée, on sort de la fonction
break;
if(i % 2 == 1) // on ne traite que les deuxièmes bits (codage manchester)
{
if((prevBit ^ bit) == 0) //si faux = codage manchester KO, on sort
break;
//on stock chaque bit dans l'unsigned long
sender <<= 1;
sender |= prevBit;
}
//on enregistre le bit précédent
prevBit = bit;
++i;
}
// si on a 64 bit (i=64) on a un code DIO détecté
if(i == 64)
return sender;
return 0; //sinon pas de code DIO
}
Bonjour,
Lorsque je fais copier/coller et lance la compilation, j'ai ce message:
'Void' does not name a type
sketch_apr18a:2: error: 'Void' does not name a type
sketch_apr18a:3: error: 'Void' does not name a type
Sauriez-vous d'où vient le problème svp?
Je n'arrive pas à faire fonctionner RDSwitch, rien n’apparaît sur le moniteur série, et je cherche désespéramment à lire le code de mes télécommande de stores ![]()
Merci de votre retour!
Void c'est pas void
regarde ton setup()
Petit truc au passage : dans les erreur , 2 et 3 ce sont les lignes concernées
Merci bapt1080 pour le code mais je n'obtiens aucune réponse ni sous Attiny85 ni sous Arduino (rien ne s'affiche dans le moniteur série). Les mêmes télécommande Chacon, récepteur 433Mhz et câblage utilisés fonctionnent parfaitement avec RCSwitch sous Arduino.
Merci B@tto pour ta correction.
Topic un peu vieux mais si ca peut aider:
Je récupère bien les info d'une télécommande Chacon via des ATtiny85 !
PM si besoin !