Hi guys,
I can't find a mistake in this code, can you correct me or help me in there? First, I made a structure and declared 2D array of it.
Then I filled these arrays with data (I did it in setup, and I don't know why I couldn't do this "outside", the compiler wouldn't let me)
And then I wanted to make a function (outside of setup and loop), and this is strange, because compiler shows up "variable or field "move_to pos" declared void", "'dane' was not declared in this scope" and "expected primary-expression before int"
typedef struct
{
int dir_pin;
int step_pin;
int polozenie;
}
dane;
dane dioda[3][6];
int zadane_1[3][6];
void setup() {
dioda[0][0].dir_pin = 22;
dioda[0][0].step_pin= 23;
dioda[0][1].dir_pin = 24;
dioda[0][1].step_pin = 25;
dioda[0][2].dir_pin = 26;
dioda[0][2].step_pin = 27;
dioda[0][3].dir_pin = 28;
dioda[0][3].step_pin = 29;
dioda[0][4].dir_pin = 30;
dioda[0][4].step_pin = 31;
dioda[0][5].dir_pin = 32;
dioda[0][5].step_pin = 33;
dioda[1][0].dir_pin = 34;
dioda[1][0].step_pin = 35;
dioda[1][1].dir_pin = 36;
dioda[1][1].step_pin = 37;
dioda[1][2].dir_pin = 38;
dioda[1][2].step_pin = 39;
dioda[1][3].dir_pin = 40;
dioda[1][3].step_pin = 41;
dioda[1][4].dir_pin = 42;
dioda[1][4].step_pin = 43;
dioda[1][5].dir_pin = 44;
dioda[1][5].step_pin = 45;
dioda[2][0].dir_pin = 46;
dioda[2][0].step_pin = 47;
dioda[2][1].dir_pin = 48;
dioda[2][1].step_pin = 49;
dioda[2][2].dir_pin = 50;
dioda[2][2].step_pin = 51;
dioda[2][3].dir_pin = 52;
dioda[2][3].step_pin = 53;
dioda[2][4].dir_pin = 2;
dioda[2][4].step_pin = 3;
dioda[2][5].dir_pin = 4;
dioda[2][5].step_pin = 5;
dioda[0][0].polozenie=0;
dioda[0][1].polozenie=0;
dioda[0][2].polozenie=0;
dioda[0][3].polozenie=0;
dioda[0][4].polozenie=0;
dioda[0][5].polozenie=0;
dioda[1][0].polozenie=0;
dioda[1][1].polozenie=0;
dioda[1][2].polozenie=0;
dioda[1][3].polozenie=0;
dioda[1][4].polozenie=0;
dioda[1][5].polozenie=0;
dioda[2][0].polozenie=0;
dioda[2][1].polozenie=0;
dioda[2][2].polozenie=0;
dioda[2][3].polozenie=0;
dioda[2][4].polozenie=0;
dioda[2][5].polozenie=0;
for (int i=0;i<3;i++){
for(int j=0;j<6;j++){
zadane_1[i][j]=250;
}
}
Serial.begin(9600);
pinMode(dioda[0][0].dir_pin, OUTPUT);
pinMode(dioda[0][0].step_pin, OUTPUT);
pinMode(dioda[0][1].dir_pin, OUTPUT);
pinMode(dioda[0][1].step_pin, OUTPUT);
pinMode(dioda[0][2].dir_pin, OUTPUT);
pinMode(dioda[0][2].step_pin, OUTPUT);
pinMode(dioda[0][3].dir_pin, OUTPUT);
pinMode(dioda[0][3].step_pin, OUTPUT);
pinMode(dioda[0][4].dir_pin, OUTPUT);
pinMode(dioda[0][4].step_pin, OUTPUT);
pinMode(dioda[0][5].dir_pin, OUTPUT);
pinMode(dioda[0][5].step_pin, OUTPUT);
pinMode(dioda[1][0].dir_pin, OUTPUT);
pinMode(dioda[1][0].step_pin, OUTPUT);
pinMode(dioda[1][1].dir_pin, OUTPUT);
pinMode(dioda[1][1].step_pin, OUTPUT);
pinMode(dioda[1][2].dir_pin, OUTPUT);
pinMode(dioda[1][2].step_pin, OUTPUT);
pinMode(dioda[1][3].dir_pin, OUTPUT);
pinMode(dioda[1][3].step_pin, OUTPUT);
pinMode(dioda[1][4].dir_pin, OUTPUT);
pinMode(dioda[1][4].step_pin, OUTPUT);
pinMode(dioda[1][5].dir_pin, OUTPUT);
pinMode(dioda[1][5].step_pin, OUTPUT);
pinMode(dioda[2][0].dir_pin, OUTPUT);
pinMode(dioda[2][0].step_pin, OUTPUT);
pinMode(dioda[2][1].dir_pin, OUTPUT);
pinMode(dioda[2][1].step_pin, OUTPUT);
pinMode(dioda[2][2].dir_pin, OUTPUT);
pinMode(dioda[2][2].step_pin, OUTPUT);
pinMode(dioda[2][3].dir_pin, OUTPUT);
pinMode(dioda[2][3].step_pin, OUTPUT);
pinMode(dioda[2][4].dir_pin, OUTPUT);
pinMode(dioda[2][4].step_pin, OUTPUT);
pinMode(dioda[2][5].dir_pin, OUTPUT);
pinMode(dioda[2][5].step_pin, OUTPUT);
digitalWrite(dioda[0][0].dir_pin,LOW);
digitalWrite(dioda[0][1].dir_pin,LOW);
digitalWrite(dioda[0][2].dir_pin,LOW);
digitalWrite(dioda[0][3].dir_pin,LOW);
digitalWrite(dioda[0][4].dir_pin,LOW);
digitalWrite(dioda[0][5].dir_pin,LOW);
digitalWrite(dioda[1][0].dir_pin,LOW);
digitalWrite(dioda[1][1].dir_pin,LOW);
digitalWrite(dioda[1][2].dir_pin,LOW);
digitalWrite(dioda[1][3].dir_pin,LOW);
digitalWrite(dioda[1][4].dir_pin,LOW);
digitalWrite(dioda[1][5].dir_pin,LOW);
digitalWrite(dioda[2][0].dir_pin,LOW);
digitalWrite(dioda[2][1].dir_pin,LOW);
digitalWrite(dioda[2][2].dir_pin,LOW);
digitalWrite(dioda[2][3].dir_pin,LOW);
digitalWrite(dioda[2][4].dir_pin,LOW);
digitalWrite(dioda[2][5].dir_pin,LOW);
digitalWrite(dioda[0][0].step_pin,LOW);
digitalWrite(dioda[0][1].step_pin,LOW);
digitalWrite(dioda[0][2].step_pin,LOW);
digitalWrite(dioda[0][3].step_pin,LOW);
digitalWrite(dioda[0][4].step_pin,LOW);
digitalWrite(dioda[0][5].step_pin,LOW);
digitalWrite(dioda[1][0].step_pin,LOW);
digitalWrite(dioda[1][1].step_pin,LOW);
digitalWrite(dioda[1][2].step_pin,LOW);
digitalWrite(dioda[1][3].step_pin,LOW);
digitalWrite(dioda[1][4].step_pin,LOW);
digitalWrite(dioda[1][5].step_pin,LOW);
digitalWrite(dioda[2][0].step_pin,LOW);
digitalWrite(dioda[2][1].step_pin,LOW);
digitalWrite(dioda[2][2].step_pin,LOW);
digitalWrite(dioda[2][3].step_pin,LOW);
digitalWrite(dioda[2][4].step_pin,LOW);
digitalWrite(dioda[2][5].step_pin,LOW);
}
void move_to_pos (dane x[3][6],int zadane[3][6]){
for(int i =0; i<3; i++){
for (int j=0;j<6;j++){
if(zadane[i][j]>x[i][j].polozenie)
digitalWrite(x[i][j].dir_pin,HIGH);
else
digitalWrite(x[i][j].dir_pin,LOW);}
}
}
void loop (){
}
Also, please don't be too harsh for me, I'm not a programming master... In fact, it's my first arduino project