Hi, I'm trying to make a bluetooth nerf- turret for a school project, and I'm not sure if the code is quite right, any red flags or visible issues?
Code:
#include <Servo.h>
#include <SoftwareSerial.h>
// Servo Variabler
Servo xservo;
Servo yservo;
Servo zservo;
// Pins, hvor de skal koble til arduino
const int XServoPin = 9;
const int YServoPin = 10;
const int ZServoPin = 11;
const int buttonPin = A3;
const int xposPin = A0;
const int yposPin= A1 ;
// Motor (2, motore foran, de som dytter ut dart)
const int motorPin = 12;
// Bluetooth RX og TX pins
const int RxPin = 0;
const int TxPin = 1;
// softwareserial objekt
SoftwareSerial bluetooth(RxPin,TxPin);
// Joystick variabler
int Xpos = 90; // default posisjon for joystick, både x og y (90)
int Ypos = 90; // "-"
int buttonPress = LOW; // Default posisjon for knapp (ikke presset)
// Variabler (recoil)
const byte recoil_rest = 180;
const byte recoil_pushed = 125;
unsigned recoil_start_time = 0;
unsigned recoil_time = 300;
void setup() {
delay(3000);
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin, HIGH);
xservo.attach(XServoPin);
yservo.attach(YServoPin);
zservo.attach(ZServoPin);
pinMode(motorPin, OUTPUT);
digitalWrite(motorPin, HIGH);
// Start bluetooth
bluetooth.begin(9600);
}
void loop() {
if (bluetooth.available() > 0) {
// les fra bluetooth
Xpos = bluetooth.parseInt();
Ypos = bluetooth.parseInt();
buttonPress = bluetooth.parseInt();
buttonPress = digitalRead(buttonPin);
if (buttonPress == LOW) { // presses ikke
// **ingenting skjer**
} else { // blir presset
// Slå på servo, dytt dart ut
zservo.write(recoil_pushed);
delay(recoil_time); // veeeeent
zservo.write(recoil_rest); // tilbake til 'rest' posisjon
}
Xpos = analogRead(xposPin); //leser av x posisjon
Xpos = map(Xpos, 0, 1023, 0, 180); //leser og 'mapper' x verdier til servo sine verdier (0-180(1023))
Ypos = analogRead(yposPin); //leser av y posisjon
Ypos = map(Ypos, 0, 1023, 0, 180); //leser of 'mapper' y verdier til servo sine verdier (0-180(1023))
xservo.write(Xpos); //flytt x servo til der x er på joystick
yservo.write(Ypos); //flytt y servo til der y er på joystick
}
}