necesito unir estos códigos pero desconozco de códigos para hacerlo, y ocupo ayuda para hacerlo: brazo robotico
#include <Servo.h>
Servo servo1;
Servo servo2;
Servo servo3;
Servo servo4;
char a;
String readString;
void setup() {
pinMode(13,OUTPUT);
servo1.attach(8);
servo2.attach(9);
servo3.attach(10);
servo4.attach(11);
Serial.begin(9600);
servo1.write(8);
servo2.write(100);
servo3.write(164);
servo4.write(90);
delay(10);
}
void loop() {
if (Serial.available()) {
a = Serial.read();
if(a=='A'){
motor1();
}
if(a=='B'){
motor2();
}
if(a=='C'){
motor3();
}
if(a=='D'){
motor4();
}
if(a=='E'){
digitalWrite(13,HIGH);
delay(10);
}
if(a=='F'){
digitalWrite(13,LOW);
delay(10);
}
}
}
void motor1(){
delay(10);
while (Serial.available()) {
char b = Serial.read();
readString += b;
}
if (readString.length() >0) {
Serial.println(readString.toInt());
servo1.write(readString.toInt());
readString=""; // Clear string
}
}
void motor2(){
delay(10);
while (Serial.available()) {
char b = Serial.read();
readString += b;
}
if (readString.length() >0) {
Serial.println(readString.toInt());
servo2.write(readString.toInt());
readString="";
}
}
void motor3(){
delay(10);
while (Serial.available()) {
char b = Serial.read();
readString += b;
}
if (readString.length() >0) {
Serial.println(readString.toInt());
servo3.write(readString.toInt());
readString="";
}
}
void motor4(){
delay(10);
while (Serial.available()) {
char b = Serial.read();
readString += b;
}
if (readString.length() >0) {
Serial.println(readString.toInt());
servo4.write(readString.toInt());
readString="";
}
}
Y sumobot
#include <SoftwareSerial.h>
#include <Servo.h>
int bluetoothTx = 2;
int bluetoothRx = 3;
SoftwareSerial bluetooth(bluetoothTx, bluetoothRx);
int Motor1A = 5;
int Motor1B = 6;
int Motor2A = 9;
int Motor2B = 10;
void setup ()
{
bluetooth.begin(115200);
bluetooth.print("$$");
delay(100);
bluetooth.println("U,9600,N");
bluetooth.begin(9600);
pinMode( Motor1A, OUTPUT );
pinMode( Motor2A, OUTPUT );
pinMode( Motor1B, OUTPUT );
pinMode( Motor2B, OUTPUT );
digitalWrite( Motor1A, LOW );
digitalWrite( Motor2A, LOW );
digitalWrite( Motor1B, LOW );
digitalWrite( Motor2B, LOW );
}
int flag1 = -1;
int flag2 = -1;
void loop()
{
if(bluetooth.available())
{
char toSend = (char)bluetooth.read();
if(toSend == 'S')
{
flag1 = 0;
flag2 = 0;
digitalWrite( Motor1A, LOW);
analogWrite( Motor1B, LOW);
digitalWrite( Motor2A, LOW),
analogWrite( Motor2B, LOW);
}
if( toSend == 'F' || toSend == 'G' || toSend == 'I')
{
if (flag1 != 1)
{
flag1 = 1;
digitalWrite( Motor1A, HIGH);
analogWrite( Motor1B, 0 );
digitalWrite( Motor2A, HIGH);
analogWrite( Motor2B, 0 );
}
}
if(toSend == 'B' || toSend == 'H' || toSend == 'J')
{
if(flag1 != 2)
{
flag1 = 2;
digitalWrite( Motor1B, HIGH);
analogWrite( Motor1A, 0 );
digitalWrite( Motor2B, HIGH);
analogWrite( Motor2A, 0 );
}
}
if(toSend == 'L' || toSend == 'G' || toSend == 'H')
{
if(flag2 != 1)
{
flag2 = 1;
digitalWrite( Motor2B, HIGH);
analogWrite( Motor2A, 0 );
digitalWrite( Motor1A, HIGH);
analogWrite( Motor1B, 0 );
}
}
else
if(toSend == 'R' || toSend == 'I' || toSend == 'J')
{
if(flag2 != 2)
{
flag2 = 2;
digitalWrite( Motor1B, HIGH);
analogWrite( Motor1A, 0 );
digitalWrite( Motor2A, HIGH);
analogWrite( Motor2B, 0 );
}
}
else
{
if(flag2 != 3)
{
flag2 = 3;
digitalWrite ( Motor2A, LOW);
analogWrite ( Motor2B, LOW);
digitalWrite ( Motor2B, LOW);
analogWrite ( Motor2A, LOW);
}
}
}
}