Show Posts
Pages: [1]
1  Using Arduino / Installation & Troubleshooting / Help trouble on: April 22, 2011, 10:32:54 am
Hi
please help me with a little problem
I tried to upload a mp3 shiel code to my arduino Diecimila, and after that it does not
work; the function led (13th pin) don't stop blink and when i try to upload another code the compiler shows that:

please help
2  Using Arduino / Programming Questions / Re: programming trouble -need help on: March 24, 2011, 02:07:19 pm
thanks everyone... the solution was changin to a char variable... was amazing!!!.. how can i learn about RAM memory and its limitations?
Thank you again!
3  Using Arduino / Programming Questions / programming trouble -need help on: March 24, 2011, 07:16:03 am
Hello... i'm pretty beginner in arduino, but i´ve made a program for led matrix control, it compiles well and i can to transfer it well too, but when its running can display the numbers well only until the "7", after that show strange errors, and the serial monitor doesn't show that it must.
the worst is i delete the last part of the code (the last "else" that let show an "error" if nothing else of typed match with the "if" control... !and the program runs all well!
¿what is happening?

Thanks and sorry for my bad english

Code:
const int anodos[7] = {2,3,12,5,10,9,8};
const int catodos[5] = {13,11,4,7,6};

const int num0cat[16] = {11,4,7,6,6,6,6,6,7,4,11,13,13,13,13,13};
const int num0an[16]  = {2,2,2,3,12,5,10,9,8,8,8,9,10,5,12,3};

const int num1cat[10] = {11,4,4,4,4,4,4,4,11,7};
const int num1an[10]  = {3,2,3,12,5,10,9,8,8,8};

const int num2cat[14] = {13,11,4,7,6,7,4,11,13,13,11,4,7,6};
const int num2an[14]  = {3,2,2,2,3,12,5,10,9,8,8,8,8,8};

const int num3cat[14] = {13,11,4,7,6,6,7,4,6,6,7,4,11,13};
const int num3an[14]  = {3,2,2,2,3,12,5,5,10,9,8,8,8,9};

const int num4cat[14] = {13,13,13,13,11,4,7,6,4,4,4,4,4,4};
const int num4an[14]  = {2,3,12,5,5,5,5,5,2,3,12,10,9,8};

const int num5cat[17] = {6,7,4,11,13,13,13,13,11,4,7,6,6,7,4,11,13};
const int num5an[17]  = {2,2,2,2,2,3,12,5,5,5,5,10,9,8,8,8,8};

const int num6cat[15] = {7,4,11,13,13,13,13,11,4,7,6,6,7,4,11};
const int num6an[15]  = {2,2,3,12,5,10,9,8,8,8,9,10,5,5,5};

const int num7cat[11] = {13,11,4,7,6,7,4,11,11,11,11};
const int num7an[11]  = {2,2,2,2,2,3,12,5,10,9,8};

const int num8cat[17] = {11,4,7,6,6,7,4,11,13,13,6,6,7,4,11,13,13};
const int num8an[17]  = {2,2,2,3,12,5,5,5,12,3,10,9,8,8,8,9,10};

const int num9cat[17] = {13,13,11,4,7,6,6,6,7,4,11,6,6,7,4,11,13};
const int num9an[17]  = {12,3,2,2,2,3,12,5,5,5,5,10,9,8,8,8,8};

const int numEcat[18] = {6,7,4,11,13,13,13,13,11,4,7,13,13,13,11,4,7,6};
const int numEan[18]  = {2,2,2,2,2,3,12,5,5,5,5,10,9,8,8,8,8,8};

int contador = 0;

int potPin = 2;
int periodo;

char lineacom[7];

int detector = 1;

void setup()                   
{
Serial.begin(9600);
Serial.flush();

for (int x = 0; x < 7; x++) {
pinMode(anodos[x], OUTPUT);
digitalWrite(anodos[x], LOW); }

for (int x = 0; x < 5; x++) {
pinMode(catodos[x], OUTPUT);
digitalWrite(catodos[x], HIGH); }

}

void loop()                     
{
  if (Serial.available() > 0) {
  int index=0;
  delay(100);
  int numChar = Serial.available();
  if (numChar>6) { numChar=6;}
  while (numChar--) { lineacom[index++] = Serial.read(); }
  Serial.print("El numero digitado es: ");
  Serial.println(lineacom);
  setnum(lineacom);
  for (int x=0; x<7; x++) {lineacom[x]='\0';}
 }
 }


void setnum(char* data) {

  if ((((data[0] == 'c') || (data[0] == 'C')) && ((data[1] == 'e') || (data[1] == 'E')))
  || (data[0] == '0') )
  { Serial.println("El numero actual es el Cero (0) ");
  while (detector)
  { periodo = analogRead(potPin)/8;
  digitalWrite(num0cat[contador], LOW);
  digitalWrite(num0an[contador], HIGH);
  delay(periodo);
  digitalWrite(num0cat[contador], HIGH);
  digitalWrite(num0an[contador], LOW);
  if (contador == 15) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { if ((((data[0] == 'u') || (data[0] == 'U')) && ((data[1] == 'n') || (data[1] == 'N')))
  || (data[0] == '1') )
  { Serial.println("El numero actual es el Uno (1) ");
  while (detector)
  { periodo = analogRead(potPin)/8;
  digitalWrite(num1cat[contador], LOW);
  digitalWrite(num1an[contador], HIGH);
  delay(periodo);
  digitalWrite(num1cat[contador], HIGH);
  digitalWrite(num1an[contador], LOW);
  if (contador == 9) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { if ((((data[0] == 'd') || (data[0] == 'D')) && ((data[1] == 'o') || (data[1] == 'O')))
  || (data[0] == '2') )
  { Serial.println("El numero actual es el Dos (2) ");
  while (detector)
  { periodo = analogRead(potPin)/8;
  digitalWrite(num2cat[contador], LOW);
  digitalWrite(num2an[contador], HIGH);
  delay(periodo);
  digitalWrite(num2cat[contador], HIGH);
  digitalWrite(num2an[contador], LOW);
  if (contador == 13) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { if ((((data[0] == 't') || (data[0] == 'T')) && ((data[1] == 'r') || (data[1] == 'R')))
  || (data[0] == '3') )
  { Serial.println("El numero actual es el Tres (3) ");
  while (detector)
  { periodo = analogRead(potPin)/8;
  digitalWrite(num3cat[contador], LOW);
  digitalWrite(num3an[contador], HIGH);
  delay(periodo);
  digitalWrite(num3cat[contador], HIGH);
  digitalWrite(num3an[contador], LOW);
  if (contador == 13) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { if ((((data[0] == 'c') || (data[0] == 'C')) && ((data[1] == 'u') || (data[1] == 'U')))
  || (data[0] == '4') )
  { Serial.println("El numero actual es el Cuatro (4) ");
  while (detector)
  { periodo = analogRead(potPin)/8;
  digitalWrite(num4cat[contador], LOW);
  digitalWrite(num4an[contador], HIGH);
  delay(periodo);
  digitalWrite(num4cat[contador], HIGH);
  digitalWrite(num4an[contador], LOW);
  if (contador == 13) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { if ((((data[0] == 'c') || (data[0] == 'C')) && ((data[1] == 'i') || (data[1] == 'I')))
  || (data[0] == '5') )
  { Serial.println("El numero actual es el Cinco (5) ");
  while (detector) {
  periodo = analogRead(potPin)/8;
  digitalWrite(num5cat[contador], LOW);
  digitalWrite(num5an[contador], HIGH);
  delay(periodo);
  digitalWrite(num5cat[contador], HIGH);
  digitalWrite(num5an[contador], LOW);
  if (contador == 16) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { if ((((data[0] == 's') || (data[0] == 'S')) && ((data[1] == 'e') || (data[1] == 'E')))
  || (data[0] == '6') )
  { Serial.println("El numero actual es el Seis (6) ");
  while (detector) {
  periodo = analogRead(potPin)/8;
  digitalWrite(num6cat[contador], LOW);
  digitalWrite(num6an[contador], HIGH);
  delay(periodo);
  digitalWrite(num6cat[contador], HIGH);
  digitalWrite(num6an[contador], LOW);
  if (contador == 14) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { if ((((data[0] == 's') || (data[0] == 'S')) && ((data[1] == 'i') || (data[1] == 'I')))
  || (data[0] == '7') )
  { Serial.println("El numero actual es el Siete (7) ");
  while (detector) {
  periodo = analogRead(potPin)/8;
  digitalWrite(num7cat[contador], LOW);
  digitalWrite(num7an[contador], HIGH);
  delay(periodo);
  digitalWrite(num7cat[contador], HIGH);
  digitalWrite(num7an[contador], LOW);
  if (contador == 10) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { if ((((data[0] == 'o') || (data[0] == 'O')) && ((data[1] == 'c') || (data[1] == 'C')))
  || (data[0] == '8') )
  { Serial.println("El numero actual es el Ocho (8) ");
  while (detector) {
  periodo = analogRead(potPin)/8;
  digitalWrite(num8cat[contador], LOW);
  digitalWrite(num8an[contador], HIGH);
  delay(periodo);
  digitalWrite(num8cat[contador], HIGH);
  digitalWrite(num8an[contador], LOW);
  if (contador == 16) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { if ((((data[0] == 'n') || (data[0] == 'N')) && ((data[1] == 'u') || (data[1] == 'U')))
  || (data[0] == '9') )
  { Serial.println("El numero actual es el Nueve (9) ");
  while (detector) {
  periodo = analogRead(potPin)/8;
  digitalWrite(num9cat[contador], LOW);
  digitalWrite(num9an[contador], HIGH);
  delay(periodo);
  digitalWrite(num9cat[contador], HIGH);
  digitalWrite(num9an[contador], LOW);
  if (contador == 16) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }
  else { Serial.println("Error al introducir la informacion");
  while (detector) {
  periodo = analogRead(potPin)/8;
  digitalWrite(numEcat[contador], LOW);
  digitalWrite(numEan[contador], HIGH);
  delay(periodo);
  digitalWrite(numEcat[contador], HIGH);
  digitalWrite(numEan[contador], LOW);
  if (contador == 17) {contador = 0;} else {contador = contador + 1;}
  if (Serial.available() > 0) {detector = 0;} }
  contador = 0; }     
   }     
   }     
   }   
   }   
   }     
   }   
   }                     
   }
    }
   detector = 1; }
Pages: [1]