Hello guys,
I'm new at programming Arduino. Stuck with the following coding which has a joystick on a Arduino Nano (Master) connected via Bluetooth to a Arduino Micro (Slave) to act as mouse emulation. I was able to make it work wired but in this wireless setup the code has a problem. Any help will be appreciated. Thanks ![]()
MASTER
#include <SoftwareSerial.h>
int horzPin = A1;
int vertPin = A0;
int selPin = 9;
int vertZero, horzZero;
int vertValue, horzValue;
const int sensitivity = 200;
int mouseClickFlag = 0;
#define tx 1
#define rx 0
void setup()
{
Serial.begin(9600);
pinMode(horzPin, INPUT);
pinMode(vertPin, INPUT);
pinMode(selPin, INPUT);
digitalWrite(selPin, HIGH);
delay(1000);
vertZero = analogRead(vertPin);
horzZero = analogRead(horzPin);
pinMode(tx, OUTPUT);
pinMode(rx, INPUT);
}
void loop()
{
vertValue = analogRead(vertPin) - vertZero;
horzValue = analogRead(horzPin) - horzZero;
Serial.write(vertValue);
Serial.write(horzValue);
Serial.write(selPin);
}
SLAVE
#include <SoftwareSerial.h>
#include <Mouse.h>
int vertZero, horzZero;
int vertValue, horzValue;
const int sensitivity = 200;
int mouseClickFlag = 0;
int selPin = 9;
#define tx 0
#define rx 1
void setup()
{
Serial.begin(9600);
digitalWrite(selPin, HIGH);
pinMode(tx, OUTPUT);
pinMode(rx, INPUT);
delay(1000);
}
void loop()
{
{
if(Serial.available())
Mouse.begin();
if (vertValue != 0)
Mouse.move(0, vertValue/sensitivity, 0);
if (horzValue != 0)
Mouse.move((horzValue/sensitivity)*-1, 0, 0);
if ((selPin == 0) && (!mouseClickFlag))
{
mouseClickFlag = 1;
Mouse.press(MOUSE_LEFT);
}
else if ((digitalRead(selPin))&&(mouseClickFlag))
{
mouseClickFlag = 0;
Mouse.release(MOUSE_LEFT);
}}
Mouse.end();
}

