Bonjour,
J'ai une souris A, bluetooth RN-42.
J'ai une souris B, gyroscospique, mais seulement USB (pas bluetooth).
Comment rendre la souris B bluetooth ?
Suffit-il d'ajourter le code spécifique bluetooth de la souris A, dans la souris B ?
C'est à dire en l'occurence le code spécifique bluetooth de la souris A est : "mousesend" ?
Je rajoute le "mousesend" de la souris A, au code de la souris B, juste après ?
mySerial.print(abs(aaWorld.x))
mySerial.print(abs(aaWorld.y))
mySerial.print(abs(aaWorld.z))
SOURIS A
int led = 13;
int bt1 = 4;
int bt2 = 5;
int bt3 = 6;
int bt4 = 7;
int bt5 = 8;
int bt6 = 9;
int bt7 = 10;
int bt8 = 11;
void readData(void);
void mouseSend(void);
void mouseClear(void);
void setup() {
pinMode(led, OUTPUT);
pinMode(bt1, INPUT);
pinMode(bt2, INPUT);
pinMode(bt3, INPUT);
pinMode(bt4, INPUT);
pinMode(bt5, INPUT);
pinMode(bt6, INPUT);
pinMode(bt7, INPUT);
pinMode(bt8, INPUT);
digitalWrite(led, HIGH);
Serial.begin(115200);//tem que ser a velocidade certa
delay(500);
Serial.print("$$");//<<<<<<<<<< command mode
readData();
Serial.println("C");//<<<<<<<<<<< Connect immediate to stored remote address
readData();
digitalWrite(led, LOW);
}
void loop() {
if(digitalRead(bt1)==0)
{
digitalWrite(led, HIGH);
mouseClear();//necessary for button activation
mouseSend(1,0,0,0);
delay(200);
mouseClear();
}
if(digitalRead(bt2)==0)
{
digitalWrite(led, LOW);
mouseClear();//necessary for button activation
mouseSend(2,0,0,0);
delay(200);
mouseClear();
}
if(digitalRead(bt3)==0)
{
digitalWrite(led, HIGH);
mouseSend(0,0,0,-1);
}
if(digitalRead(bt4)==0)
{
digitalWrite(led, LOW);
mouseSend(0,0,0,1);
}
if(digitalRead(bt5)==0)
{
digitalWrite(led, HIGH);
mouseSend(0,0,-10,0);
}
if(digitalRead(bt6)==0)
{
digitalWrite(led, LOW);
mouseSend(0,0,10,0);
}
if(digitalRead(bt7)==0)
{
digitalWrite(led, HIGH);
mouseSend(0,-10,0,0);
}
if(digitalRead(bt8)==0)
{
digitalWrite(led, LOW);
mouseSend(0,10,0,0);
}
}
void readData(void)
{
while(!Serial.available());
delay(200);
while(Serial.available()) Serial.read();
delay(200);
}
void mouseSend(int button,int x, int y,int wheel)
{
int value=0x00;
Serial.write(0xFD);
Serial.write(0x05);
Serial.write(0x02);
Serial.write(button);//botão
Serial.write(x);//(x);
Serial.write(y);//(y);
Serial.write(wheel);//(wheel);
delay(20);
}
void mouseClear(void)
{
int value=0x00;
Serial.write(0xFD);
Serial.write(0x05);
Serial.write(0x02);
Serial.write(value);//botão
Serial.write(value);//(x);
Serial.write(value);//(y);
Serial.write(value);//(wheel);
delay(20);
}
SOURIS B
#include <Wire.h>
#include <I2Cdev.h>
#include <MPU6050.h>
#include <Mouse.h>
MPU6050 mpu;
int16_t ax, ay, az, gx, gy, gz;
int vx, vy;
int button1 = 6;
int button2 = 7;
int buttonState1 = 0;
int buttonState2 = 0;
void setup() {
Serial.begin(9600);
Wire.begin();
pinMode(button1, INPUT);
pinMode(button2, INPUT);
mpu.initialize();
if (!mpu.testConnection()) { while (1); }
}
void loop() {
mpu.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
vx = (gx+15)/150;
vy = -(gz-100)/150;
Serial.print("gx = ");
Serial.print(gx);
Serial.print(" | gz = ");
Serial.print(gz);
Serial.print(" | X = ");
Serial.print(vx);
Serial.print(" | Y = ");
Serial.println(vy);
Mouse.move(vx, vy);
buttonState1 = digitalRead(button1);
buttonState2 = digitalRead(button2);
if (buttonState1 == HIGH) {
Mouse.press(MOUSE_LEFT);
delay(100);
Mouse.release(MOUSE_LEFT);
delay(200);
}
else if(buttonState2 == HIGH) {
Mouse.press(MOUSE_RIGHT);
delay(100);
Mouse.release(MOUSE_RIGHT);
delay(200);
}
delay(80);
}
Est-ce que les choses seraient suffisament simples pour que la commande "mousend" soit compatible avec les deux codes ?
Y a-t-il que ce bout code "mousesend" qui soit specifique bluetooth pour la souris A ?
Y a-t-il d'autres bout de code qui concerte le bluetooth dans le code de la souris A ?
Merci
Intelego

