J'ai essayé de faire un titre court avec plein de mot-clé. Je souhaite faire des véhicules radiocommandés pour des collégiens. Pour cela, j'ai créé des cartes électroniques (émetteur et récepteur) qui utilisent des modules de communication en 433 MHz.
Mon problème est que la distance maximale entre les modules est de seulement 5 mètres, si je vais plus loin, la communication ne fonctionne plus. Je sais que mon problème est très particulier mais si des personnes veulent réaliser des engins radiocommandés, la solution pourrait être très utile pour tous ! N'hésitez pas à me donner des conseils, je suis preneur (et avec plaisir en plus !!)
Je vous donne les photos des cartes :
-------------- Emetteur ----------------
DSC_0035.JPG 31,1 Ko
60 téléchargement(s)
DSC_0036.JPG 32,33 Ko
70 téléchargement(s)
DSC_0037.JPG 45,65 Ko
61 téléchargement(s)
--------------------------------------------
-------------- Récepteur ---------------
DSC_0038.JPG 25,65 Ko
73 téléchargement(s)
DSC_0039.JPG 36,23 Ko
70 téléchargement(s)
DSC_0040.JPG 36,34 Ko
61 téléchargement(s)
---------------------------------------------
J'ai suivi le tutoriel disponible sur le site skyduino (je ne sais pas si j'ai le droit de donner un lien vers un autre site .?.). Apparemment, la portée dépend de la vitesse de communication. Avec mes réglages, elle devrait être supérieure à 100 mètres. Je vous poste le code arduino que j'utilise :
-------------------------------------------------------------------------------------
//Bibliotheque : #include <VirtualWire.h> //variables : boolean avance, recule; boolean gauche, droite; boolean klaxon; boolean mode; boolean monter, descendre; int score; char msg[1]; void setup() { //Communication serie : Serial.begin(9600); //Ensemble des touches : pinMode(5, INPUT); //avance pinMode(6, INPUT); //recule pinMode(7, INPUT); //klaxon pinMode(8, INPUT); //mode pinMode(9, INPUT); //monter pinMode(11, INPUT); //descendre pinMode(10, INPUT); //droite pinMode(13, INPUT); //gauche //Communication sans fil : vw_set_ptt_inverted(true); vw_setup(2000); //vitesse de communication } void loop() { avance = digitalRead(5); recule = digitalRead(6); gauche = digitalRead(13); droite = digitalRead(10); klaxon = digitalRead(7); mode = digitalRead(8); monter = digitalRead(9); descendre = digitalRead(11); //Sans fil : score = avance; score += recule*2; score += gauche*4; score += droite*8; score += klaxon*16; score += mode*32; score += monter*64; score += descendre*128; //Envoi de la donnee : msg[0] = score; vw_send((uint8_t *)msg, strlen(msg)); vw_wait_tx(); Serial.println(score); //Securite : delay(200); }
--------------------------------------------------------------------------------------