Artouste:
ET la question est 8) : c'est quoi ton ensemble émetteur/recepteur qui passe mieux que le WIFI ?Liens ?, photos ?
La "comm" sous marine "wireless" , ça ne s'improvise pas ... vraiment passé qq ... mètres
433hz classique en fait ^^, mais t'inquiète c'est en piscine, et surtout... ben le signal radio est imposé, donc pas le choix ![]()
Concernant la photo, disons que c'est ceci, mais version miniature et sous marine : http://masss.fr/
(vus le machin, tu comprends donc que le code risque d'être trèèèèèèès long).
lesept:
VirtualWire envoie et reçoit des chaînes d'octets, ou de char (c'est un peu pareil, à une constante près).
Il y a des infos un peu partout, par exemple iciSi tu envoies un message du genre "M2_123" où le 2 et le 123 viennent de variables byte, il faut que tu construises ce message :
char msg[6] = {'M','*','_','*','*','*'};
msg[1] = numero_du_moteur;
msg[3] = angle/100;
msg[4] = (angle%100)/10;
msg[5] = angle%10;
vw_send((uint8_t *)msg, 6);
vw_wait_tx();
Pour vérifier, tu peux faire afficher le msg sur le console. Il est possible qu'il faille faire (et pareil pour les autres lignes) si ça n'affiche pas comme il fautmsg[1] = numero_du_moteur+'0';
A la réception, tu dois décoder de la même manière :uint8_t buf[VW_MAX_MESSAGE_LEN];
uint8_t buflen = VW_MAX_MESSAGE_LEN;
if (vw_get_message(buf, &buflen)) // Non-blocking
{
numero_du_moteur = buf[1];
angle = buf[5] + 10buf[4] + 100buf[3];
}
et éventuellementnumero_du_moteur = buf[1]-'0';
angle = buf[5]-'0' + 10*(buf[4]-'0') + 100*(buf[3]-'0');A tester...
Je teste ça des ce weekend (le M2 est juste un nom, pas une variable haha), en tout cas c'est beaucoup plus clair, merciiiii !!!!!