Can't find the bug(s?)


hello.

i attempting program led cube, controlled ir.

the cube 7x7x7.
the column starts @ 0. goes 48. column 1, 20 , 21 high. not supposed high.

i appreciate if take swift obvious bugs.

i've used i/o 0-48, 50, , a0-a6.

the first half of code:
code: [select]
//////////////////////////////////////////////////////////////////////////////////////////
// a. slettevold // led cube // 7x7x7 & 2x2x2 // qb ub // don't directly @ //  //
/////////////////////////////////////// include //////////////////////////////////////////
#include "irremote.h"                                                                   //
/////////////////////////////////////// konstanter ///////////////////////////////////////
int receiver = 50;
double kol[49] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48};
byte lag[7] = {a0, a1, a2, a3, a4, a5, a6};
/////////////////////////////////////// objekter /////////////////////////////////////////
irrecv irrecv(receiver);
decode_results results;
/////////////////////////////////////// variabler ////////////////////////////////////////
int              sisteir = 0;
int         tidsvariabel = 95;
//int                teller = 0;  not nececary
//int                     x = 0;  not nececary
//int                     y = 0;  not nececary
int                 minne = 0;  //pausing
int             katalogir = 0;  //neste/forrige (next/past program)
int      tilfeldigprogram = 0;
int  tilfeldiggjentagelse = 0;
int        tilfeldigdelay = 0;
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////// setup ////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
void setup(){
 //serial.begin(9600);
 irrecv.enableirin(); // start receiver
 pinmode(kol[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48], output);
 pinmode(lag[a0, a1, a2, a3, a4, a5, a6], output);
}
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////// loop /////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
void loop(){
 if (irrecv.decode(&results)) // have received ir signal?
 {
   //serial.println(results.value, hex);
   translateir();
   irrecv.resume(); // receive next value
 }
 visprogram();
 if(katalogir == 1){sisteir--;katalogir = 0;}
 if(katalogir == 2){sisteir++;katalogir = 0;}
}

//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////// translateir //////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
void translateir(){
 switch(results.value){
 case 0xfd10ef:  
   serial.println(" ch-            "); //ble tilbake programmer
   slukklyset();
   katalogir = 1;
   break;

 case 0xff629d:  
   serial.println(" ch             ");
   slukklyset();
   sisteir = 1;
   break;

 case 0xfd50af:  
   serial.println(" ch+            "); //ble fram programmer
   slukklyset();
   katalogir = 2;
   break;

 case 0xff22dd:  
   serial.println(" prev           ");
   slukklyset();
   sisteir = 4;
   break;

 case 0xff02fd:  
   serial.println(" next           ");
   slukklyset();
   sisteir = 5;
   break;

 case 0xfda05f:  
   serial.println(" play/pause     ");
   if(minne == 0){minne = sisteir;sisteir = 0;}
   else if(minne > 0){sisteir = minne;minne = 0;}
   break;

 case 0xfd906f:  
   serial.println(" vol-           ");
   slukklyset();
   sisteir = 7;
   break;

 case 0xfd807f:  
   serial.println(" vol+           ");
   slukklyset();
   sisteir = 8;
   break;

 case 0xfdb04f:  
   serial.println(" eq             ");
   slukklyset();
   sisteir = 9;
   break;

 case 0xfd30cf:  
   serial.println(" 0              ");
   slukklyset();
   sisteir = 10;
   break;

 case 0xfd609f:  
   serial.println(" |<<            ");
   if (tidsvariabel >= 92){tidsvariabel = tidsvariabel + 1;}
   if(tidsvariabel <= 91){tidsvariabel = tidsvariabel + 5;}
   if(tidsvariabel >= 100){tidsvariabel = 99;}
   serial.println(tidsvariabel);
   break;

 case 0xfd20df:  
   serial.println(" >>|            ");
   if(tidsvariabel >= 92){tidsvariabel = tidsvariabel - 1;}
   if(tidsvariabel <= 91){tidsvariabel = tidsvariabel - 5;}
   if(tidsvariabel < 50){tidsvariabel = 50;}
   serial.println(tidsvariabel);
   break;

 case 0xfd08f7:  
   serial.println(" 1              ");
   slukklyset();
   sisteir = 13;
   break;

 case 0xfd8877:  
   serial.println(" 2              ");  
   slukklyset();
   sisteir = 14;
   break;

 case 0xfd48b7:  
   serial.println(" 3              ");
   slukklyset();
   sisteir = 15;
   break;

 case 0xfd28d7:  
   serial.println(" 4              ");
   slukklyset();
   sisteir = 16;
   break;

 case 0xfda857:  
   serial.println(" 5              ");
   slukklyset();
   sisteir = 17;
   break;

 case 0xfd6897:  
   serial.println(" 6              ");
   slukklyset();
   sisteir = 18;
   break;

 case 0xfd18e7:  
   serial.println(" 7              ");
   slukklyset();
   sisteir = 19;
   break;

 case 0xfd9867:  
   serial.println(" 8              ");
   slukklyset();
   sisteir = 20;
   break;

 case 0xfd58a7:  
   serial.println(" 9              ");
   slukklyset();
   sisteir = 21;
   break;
default:
//serial.println(results.value, hex);
   break;
   }
}
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////// visprogram ///////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
void visprogram(){
 switch(sisteir){
   case 17:
   program1(tidsvariabel);
   break;
   case 18:
   lysshow();
   break;
   case 19:
   program2(tidsvariabel);
   break;
   case 20:
   program4(tidsvariabel);
   break;
   case 21:
   program3(tidsvariabel);
   break;
 }
}
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////// testirdelay //////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
void testirdelay(int teller){
 while(teller < 100){ // teller < timer
   if (irrecv.decode(&results)){translateir();break;}
       teller++;
       if (teller >= 100){break;}
 }
}
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////// slukklyset ///////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
void slukklyset(){
 for(int l=0; l<7; l++){digitalwrite(lag[l], low);}
 for(int k=0; k<49; k++){digitalwrite(kol[k], low);}
}



thank you.

code: [select]
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////// lysshow //////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
void lysshow(){
  tilfeldigprogram = random(1, 4); //forandre ettersom antall programmer
  tilfeldiggjentagelse = random(1, 10);
  while(tilfeldiggjentagelse < 15){
    tilfeldigdelay = random(80, 100);
    switch(tilfeldigprogram){
      case 1:
      program1(tilfeldigdelay);
      break;
      case 2:
      program2(tilfeldigdelay);
      break;
      case 3:
      program3(tilfeldigdelay);
      break;
      case 4:
      program4(tilfeldigdelay);
      break;
    }
    tilfeldiggjentagelse++;
  }
}
//////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////// program //////////////////////////////////////////
//////////////////////////////////////////////////////////////////////////////////////////
void program2(int tilfeldigdelay){
    if(sisteir == 18){tidsvariabel = tilfeldigdelay;}
   /* for(int x=0; x<7; x++){
      digitalwrite(lag[x], high);
      for(int y=0; y<49; y++){
        digitalwrite(kol[y], high);
        testirdelay(98);
        digitalwrite(kol[y], low);
      }
      digitalwrite(lag[x], low);
    }*/
}
void program3(int tilfeldigdelay){
    if(sisteir == 18){tidsvariabel = tilfeldigdelay;}
    /*digitalwrite(lag[x], high);
    digitalwrite(kol[y], high);
   
    if(x >= 1){x = 0;}
    else if(x < 0){x = 0;}
    else {x++;}
   
    if(y >= 3){y = 0;}
    else if(y < 0){y = 0;}
    else {y++;}
   
    digitalwrite(kol[y], low);
    digitalwrite(lag[x], low);
    testirdelay(tidsvariabel);*/
}

void program1(int tilfeldigdelay){
  if(sisteir == 18){tidsvariabel = tilfeldigdelay;}
 
 
    for(int x=0; x<7; x++){digitalwrite(lag[x], high);}
      //digitalwrite(kol[0], high);
      //testirdelay(tidsvariabel);
      //digitalwrite(kol[0], low);
    for(int x=0; x<7; x++){digitalwrite(lag[x], low);}
}
/*void program4(int tilfeldigdelay){
    if(sisteir == 18){tidsvariabel = tilfeldigdelay;}
     
    for(int x=0; x<7; x++){
    digitalwrite(lag[x], high);
      for(int y=0; y<49; y++){digitalwrite(kol[y], high);}
        //testirdelay(100);
        delaymicroseconds(1250);
        digitalwrite(lag[x], low);
      for(int y=0; y<49; y++){digitalwrite(kol[y], low);}
    //digitalwrite(lag[x], low);
  }
}*/
void program4(int tilfeldigdelay){
    if(sisteir == 18){tidsvariabel = tilfeldigdelay;}
  for(int x=0; x<7; x++){ 
    digitalwrite(lag[x], high);
      for(int y=0; y<49; y++){digitalwrite(kol[y], high);}
        //testirdelay(100);
        //delaymicroseconds(1250);
      for(int y=0; y<49; y++){digitalwrite(kol[y], low);}
      digitalwrite(lag[x], low);
  }
}


Arduino Forum > Using Arduino > Programming Questions > Can't find the bug(s?)


arduino

Comments

Popular posts from this blog

VIDIOC_S_FMT error 16, Device or resource busy - Raspberry Pi Forums

using a laptop skeleton to build a pi laptop - Raspberry Pi Forums

Forum for Joomla? - Joomla! Forum - community, help and support