|
@@ -1,10 +1,10 @@
|
|
#include "Arduino.h"
|
|
#include "Arduino.h"
|
|
#include "AX12A.h"
|
|
#include "AX12A.h"
|
|
|
|
|
|
-#define DirectionPin (10u)
|
|
|
|
-#define BaudRate (1000000ul)
|
|
|
|
-#define ID1 (4u)
|
|
|
|
-#define ID2 (5u)
|
|
|
|
|
|
+#define DirectionPin (10u)
|
|
|
|
+#define BaudRate (1000000ul)
|
|
|
|
+#define ID1 (4u)
|
|
|
|
+#define ID2 (5u)
|
|
|
|
|
|
#include <XYZrobotServo.h>
|
|
#include <XYZrobotServo.h>
|
|
|
|
|
|
@@ -17,50 +17,33 @@ SoftwareSerial servoSerial(10, 11);
|
|
|
|
|
|
int input = 0;
|
|
int input = 0;
|
|
XYZrobotServo servo1(servoSerial, 2);
|
|
XYZrobotServo servo1(servoSerial, 2);
|
|
-XYZrobotServo servo2(servoSerial, 3);
|
|
|
|
|
|
|
|
const uint8_t playtime = 200;
|
|
const uint8_t playtime = 200;
|
|
|
|
|
|
-
|
|
|
|
-int x;
|
|
|
|
|
|
+int x ,position;
|
|
int val[10] = {0,0,0,0,0};
|
|
int val[10] = {0,0,0,0,0};
|
|
-int position,lastposition_ax12 = 512;
|
|
|
|
int choice;
|
|
int choice;
|
|
|
|
|
|
-void ax12(int position){
|
|
|
|
- if((position<300) || (position>700)){
|
|
|
|
|
|
+void ax12_1(int position){
|
|
|
|
+ if((position<300) || (position>700)){
|
|
Serial.print("invalide position. Try again");
|
|
Serial.print("invalide position. Try again");
|
|
- return;
|
|
|
|
- }
|
|
|
|
- if(lastposition_ax12<position){
|
|
|
|
- for(int i = lastposition_ax12;i<position;i=i+1){
|
|
|
|
- ax12a.move(ID1,i);
|
|
|
|
- delay(10);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- if(lastposition_ax12>position){
|
|
|
|
- for(int i = lastposition_ax12;i>position;i=i-1){
|
|
|
|
- ax12a.move(ID1,i);
|
|
|
|
- delay(10);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- lastposition_ax12 = position;
|
|
|
|
|
|
+ return;}
|
|
|
|
+ ax12a.moveSpeed(ID1,position, playtime);
|
|
}
|
|
}
|
|
|
|
|
|
-void a116_1(int position){
|
|
|
|
- if((position<300) || (position>700)){
|
|
|
|
|
|
+void ax12_2(int position){
|
|
|
|
+ if((position<300) || (position>700)){
|
|
Serial.print("invalide position. Try again");
|
|
Serial.print("invalide position. Try again");
|
|
- return;
|
|
|
|
- }
|
|
|
|
- servo1.setPosition(position, playtime);
|
|
|
|
|
|
+ return;}
|
|
|
|
+ ax12a.moveSpeed(ID2,position, playtime);
|
|
}
|
|
}
|
|
-void a116_2(int position){
|
|
|
|
|
|
+
|
|
|
|
+void a116(int position){
|
|
if((position<300) || (position>700)){
|
|
if((position<300) || (position>700)){
|
|
Serial.print("invalide position. Try again");
|
|
Serial.print("invalide position. Try again");
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
- servo2.setPosition(position, playtime);
|
|
|
|
|
|
+ servo1.setPosition(position, playtime);
|
|
}
|
|
}
|
|
|
|
|
|
void setup() {
|
|
void setup() {
|
|
@@ -69,20 +52,19 @@ void setup() {
|
|
|
|
|
|
ax12a.begin(BaudRate, DirectionPin, &Serial3);
|
|
ax12a.begin(BaudRate, DirectionPin, &Serial3);
|
|
ax12a.setEndless(ID1, OFF);
|
|
ax12a.setEndless(ID1, OFF);
|
|
|
|
+ ax12a.setEndless(ID2, OFF);
|
|
|
|
|
|
servoSerial.begin(115200);
|
|
servoSerial.begin(115200);
|
|
|
|
|
|
ax12a.move(ID1,512);
|
|
ax12a.move(ID1,512);
|
|
|
|
+ ax12a.move(ID2,512);
|
|
servo1.setPosition(512, playtime);
|
|
servo1.setPosition(512, playtime);
|
|
- servo2.setPosition(512, playtime);
|
|
|
|
}
|
|
}
|
|
void loop() {
|
|
void loop() {
|
|
if (Serial.available()){
|
|
if (Serial.available()){
|
|
//Serial.print(test);
|
|
//Serial.print(test);
|
|
for(int n = 0; n < 10 ; n++){
|
|
for(int n = 0; n < 10 ; n++){
|
|
val[n] = Serial.readString().toInt();
|
|
val[n] = Serial.readString().toInt();
|
|
- //Serial.print(x);
|
|
|
|
- //Serial.print(n);
|
|
|
|
|
|
|
|
}
|
|
}
|
|
position = 0 ;
|
|
position = 0 ;
|
|
@@ -96,14 +78,17 @@ void loop() {
|
|
Serial.print(position);
|
|
Serial.print(position);
|
|
switch(val[0]){
|
|
switch(val[0]){
|
|
case 1:
|
|
case 1:
|
|
- ax12(position);
|
|
|
|
|
|
+ ax12_1(position);
|
|
|
|
+ Serial.print("Ready");
|
|
break;
|
|
break;
|
|
case 2:
|
|
case 2:
|
|
- a116_1(position);
|
|
|
|
|
|
+ a116(position);
|
|
|
|
+ Serial.print("Ready");
|
|
break;
|
|
break;
|
|
case 3:
|
|
case 3:
|
|
- a116_2(position);
|
|
|
|
|
|
+ ax12_2(position);
|
|
|
|
+ Serial.print("Ready");
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-}
|
|
|
|
|
|
+}
|