So we are building an autonomous underwater vehicle and currently i am writing manuel test code. I wrote the code but i cant try for now bcs of the shipping delay.
I wanna be sure that code is working when components are came.
Can you look at my code please and give feedback, i am new on embedded system programming.
(THIS IS MAIN CODE BLOCK)
int potX= A0;
int potY= A1;
void setup() {
initializeMotor()
Serial.begin(9600);
pinMode(potX, INPUT);
pinMode(potY, INPUT);
initializeMotor();
}
void loop() {
potX=analogRead(A0);
potY=analogRead(A1);
int pwmOutputX=map(potX,0,1023,0,180);
int pwmOutputY=map(potY,0,1023,0,180);
if (pwmOutputY>=95 && pwmOutputY<=180)
{
ileri();
}
if (pwmOutputY<=85 && pwmOutputY>=0)
{
geri();
}
if (pwmOutputX>=95 && pwmOutputX<=180)
{
sag();
}
if(pwmOutputX<=85 && pwmOutputX>=0)
{
sol();
}
if ((pwmOutputY>=86 && pwmOutputY<=94) && (pwmOutputX>=86 && pwmOutputX<=94))
{
dur();
}
Serial.println(pwmOutput);
delay(1000);
}
[THIS IS FUNCTIONS TAB ]
#include <Servo.h>
//fonk içine alınabilir...
Servo escsolOn;
Servo escsagOn;
Servo escsolArka;
Servo escsagArka;
const int solOn=11;
const int sagOn=10;
const int solArka=6;
const int sagArka=5;
void initializeMotor(){
pinMode(11, OUTPUT);
pinMode(10, OUTPUT);
pinMode(6, OUTPUT);
pinMode(5, OUTPUT);
escsolOn.attach(11,1550, 2000);
escsagOn.attach(10,1550, 2000);
escsolArka.attach(6,1550, 2000);
escsagArka.attach(5,1550, 2000);
}
//motorlar ileri
void ileri(){
digitalWrite(solOn,HIGH);
digitalWrite(sagOn, HIGH);
digitalWrite(solArka, HIGH);
digitalWrite(sagArka, HIGH);
analogWrite(solOn,potY);
analogWrite(sagOn,potY);
analogWrite(solArka,potY);
analogWrite(sagArka,potY);
escsolOn.write(pwmOutputY);
escsagOn.write(pwmOutputY);
escsolArka.write(pwmOutputY);
escsagArka.write(pwmOutputY);
}
//motorlar geri
void geri(){
digitalWrite(solOn,HIGH);
digitalWrite(sagOn, HIGH);
digitalWrite(solArka, HIGH);
digitalWrite(sagArka, HIGH);
analogWrite(solOn,-potY);
analogWrite(sagOn,-potY);
analogWrite(solArka,-potY);
analogWrite(sagArka,-potY);
escsolOn.write(pwmOutputY);
escsagOn.write(pwmOutputY);
escsolArka.write(pwmOutputY);
escsagArka.write(pwmOutputY);
}
//motorlar sağa
void sag()
{
digitalWrite(solOn,HIGH);
digitalWrite(sagOn, LOW);
digitalWrite(solArka, HIGH);
digitalWrite(sagArka, LOW);
analogWrite(solOn,potX);
analogWrite(solArka,potX);
escsolOn.write(pwmOutputX);
escsolArka.write(pwmOutputX);
}
void sol()
{
digitalWrite(solOn,LOW);
digitalWrite(sagOn, HIGH);
digitalWrite(solArka, LOW);
digitalWrite(sagArka, HIGH);
analogWrite(sagOn,potX);
analogWrite(sagArka,potX);
escsagOn.write(pwmOutputX);
escsagArka.write(pwmOutputX);
}
void dur()
{
digitalWrite(solOn,LOW);
digitalWrite(sagOn,LOW);
digitalWrite(solArka,LOW);
digitalWrite(sagArka,LOW);
analogWrite(solOn,0);
analogWrite(sagOn,0);
analogWrite(solArka,0);
analogWrite(sagArka,0);
}