Pages: [1] 2   Go Down
Author Topic: [Presentación y problema] PIN 13 (led) siempre encendido.  (Read 3375 times)
0 Members and 1 Guest are viewing this topic.
Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas, a tod@s. Soy un nuevo profano aventurero de la electrónica y lamentablemente empiezo con problemas.
Que mejor lugar para aclarar mis dudas que en este foro smiley-wink

Os cuento:
Hace poco adquirí un Arduino UNO R3 y al conectarlo el led del PIN 13 parpadeaba, cosa que al parecer es normal ya que es como un test de que funciona correctamente.

El caso es que hasta hace poco no he tenido tiempo de usarlo (han pasado varias semanas) y  ayer comencé con los primeros pasos ... o esa era mi intención.

Iba ha hacer el típico "hola mundo" de la electrónica pero como ya lo tenía "blinkeado" modifiqué el sketch para hacer un SOS con el led.

Soy consciente que el código es una aberración pero para el propósito es funcional:

Code:
int led = 13;
int pitidoCorto = 500;
int pitidoLargo = 1000;
int pausa = 2000;

void setup() {               
  pinMode(led, OUTPUT);     
}

void loop() {
 
  // letra S
  digitalWrite(led, HIGH);
  delay(pitidoCorto);
  digitalWrite(led, LOW);
  delay(pitidoCorto);
  digitalWrite(led, HIGH);
  delay(pitidoCorto);
  digitalWrite(led, LOW);
  delay(pitidoCorto);
  digitalWrite(led, HIGH);
  delay(pitidoCorto);
  digitalWrite(led, LOW);
  delay(pitidoCorto);
 
 
  // letra O
  digitalWrite(led, HIGH);
  delay(pitidoLargo);
  digitalWrite(led, LOW);
  delay(pitidoLargo);
  digitalWrite(led, HIGH);
  delay(pitidoLargo);
  digitalWrite(led, LOW);
  delay(pitidoLargo);
  digitalWrite(led, HIGH);
  delay(pitidoLargo);
  digitalWrite(led, LOW);
  delay(pitidoLargo);
 
 
  // letra S
  digitalWrite(led, HIGH);
  delay(pitidoCorto);
  digitalWrite(led, LOW);
  delay(pitidoCorto);
  digitalWrite(led, HIGH);
  delay(pitidoCorto);
  digitalWrite(led, LOW);
  delay(pitidoCorto);
  digitalWrite(led, HIGH);
  delay(pitidoCorto);
  digitalWrite(led, LOW);
  delay(pausa); // segundo añadidos para separar comienzo y fin bucle
}


El problema es que si en vez de utilizar el PIN 13 como output uso otro, por ejemplo ya sea el PIN 4, 7 u 8, al compilar cargar el código el Led del PIN 13 sigue encendido.

Es decir, cuando hago uso de un PIN que no es 13, este (el PIN 13) sigue recibiendo el estado de HIGH, y creo que eso no es muy normal puesto que no está reverenciado en el sketch.

Muchas gracias, muchos saludo y a ver si alguien puede echarme un cable.

PD: No sé bien si esto está bien publicarlo aquí o en el subforo hardware. Por favor, si el moderador lo encuentra necesario, que lo mueva.
« Last Edit: June 03, 2013, 08:50:25 pm by lehnax » Logged

Forum Moderator
Madrid - Spain
Offline Offline
Full Member
*****
Karma: 5
Posts: 180
'arduinomaníaco'
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Aunque en la segunda prueba emplees otro pin ¿Has probado a poner en el setup el pin 13 a LOW?

(ºLe.
Logged

Consejos para hacer un correcto uso de los foros.

http://arduino.cc/playground/Es/Consejos

0
Offline Offline
God Member
*****
Karma: 1
Posts: 524
Arduino inside
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

imaginamos que has cambiado la linea que pone

int led = 13;

por

int led = 6;
por ejemplo

¿se te enciende el led que has conectado al pin6 en este caso? No te olvides de poner una resistencia de unos 330 ohms.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Antes de nada agradecer la presta respuesta.

Por partes:
imaginamos que has cambiado la linea que pone

int led = 13;

por

int led = 6;
por ejemplo

¿se te enciende el led que has conectado al pin6 en este caso? No te olvides de poner una resistencia de unos 330 ohms.


Sí. El código que he puesto es como guarde el sketch SOS (Antes de de volver a guarda un archivo suelo dejarlo como estaba en un principio).
Una vez probado con el LED de la placa (PIN 13) lo cambié al PIN 12 y con el protoboard le añadí el correspondiente cableado y su resistencia (de 220).

Sería algo así:


(el LED lo he posicionado apuntando para abajo para que se vea mejor las conexiones)

Y al cargar el código el LED del protoboard hacía el SOS pero en la placa de Arduino, aparte del LED de POWER ON, el del PIN 13 estaba iluminado y fijo.
Después de probar con el PIN 8, 7, 4 y 2 volví a dejarlo en 13.

Aunque en la segunda prueba emplees otro pin ¿Has probado a poner en el setup el pin 13 a LOW?

(ºLe.

Sí, y funciona, es decir, no se ilumina, pero no creo que sea normal tener que especificar el PIN 13 si no hago uso de el.
Además en mucho vídeos he visto al ejecutar el código el LED de Arduino permanece apagado.

De nuevo muchas gracias por contestar tan rápido.
Logged

0
Offline Offline
God Member
*****
Karma: 1
Posts: 524
Arduino inside
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Ahora puedes ponerle un zumbador y ya tienes el SOS completo. Consejo, al zumbador también ponle una resistencia.
Después puedes poner un pulsador y que suene y se encienda cuando quieras......

 smiley
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 25
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas lehnax,
A mi me sucede lo mismo en las dos placas de arduino uno R3, si no le pongo valor low en el programa se mantiene encendido. Aun no he averiguado por que pasa.
Un saludo
Logged

0
Offline Offline
Edison Member
*
Karma: 17
Posts: 1413
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

seguro que solo hay eso conectado? sin shields ni nada? Foto del montaje.
Logged

* Si preguntas, pon el código de tu programa, hace mucho mas fácil ayudarte. Y me ahorro un mensaje pidiendo que lo hagas.
* Si consigues solucionar tu problema, dedica unos minutos a explicar en tu post como lo conseguiste para beneficio de todos.
* Cambia el 'Subject' de tu hilo y añade 'SOLUCIONADO' cuando hayas llegado a una solución al problema que planteaste.
* Utiliza un 'Subject' para tu hilo que explique de que va el hilo.
Si estas empezando:
* Comienza a usar Arduino
* Guías de iniciación a Arduino
* Ejemplos
* Referencia del Lenguaje
* Conceptos básicos
Guia de usuario de arduino
Tutoriales en Ingles
Si necesitas que alguien te escriba el código: http://www.freelancer.com/  o esta  http://www.guru.com/

Offline Offline
Newbie
*
Karma: 0
Posts: 25
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Sergegsx, en mi caso no, tan solo conectando el usb al pc.
« Last Edit: June 05, 2013, 03:24:37 am by Wk3 » Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Buenas lehnax,
A mi me sucede lo mismo en las dos placas de arduino uno R3, si no le pongo valor low en el programa se mantiene encendido. Aun no he averiguado por que pasa.
Un saludo

Entonces podría deberse a un fallo en algunas placas.

¿Donde la compraste?
La mía la pillé por eBay y todos los LEDs de la placa son rojos.
Como información adicional he probado a conectarlo a un USB2 para descartar que diera algún conflicto raro por USB3 que es, el que utilizo porque lo tengo en el frontal del chasis del ordenador. Pero como era de esperar hace exactamente lo mismo.

seguro que solo hay eso conectado? sin shields ni nada? Foto del montaje.

He depurado un poco el código de antes y he hecho un vídeo donde se ve el error.

Como resultado y código:

Code:

/********************/
/*     LED SOS      */
/********************/

const int LED = 8;


void setup(){
  pinMode(LED, OUTPUT);
  //pinMode(13, OUTPUT);
}

int letra(int x, int t){
  int n;
  for (n = 0; n < x; n++){
    digitalWrite(LED, HIGH);
    delay(t);
    digitalWrite(LED, LOW);
    delay(t);
  }
}

void loop(){
  letra(3, 500);
  letra(3, 1000);
}


y el vídeo:



Sobre el segundo 50 y algo descomento la línea 10 para evitar que el LED de la placa esté en HIGH.

Sergegsx, en mi caso no, tan solo conectando el usb al pc.

En mi caso pasa lo miso.
Si conectará únicamente la placa por USB el LED del PIN 13 también estaría encendido. A menos que le metiera un código para apagarlo.

PD: Perdonad el tembleque de la imagen del vídeo pero entre el café y la cámara del móvil  smiley-sweat
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 25
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Entonces podría deberse a un fallo en algunas placas.

¿Donde la compraste?

Las dos placas las compré de distribuidores oficiales de arduino, las mías no tienen todos los leds rojos.
El led 13,tx,rx son naranjas y el on verde.
Logged

Alicante
Offline Offline
Sr. Member
****
Karma: 2
Posts: 413
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola!

Hay algo más que podemos comprobar.
Para probar si es el micro, retíralo y alimenta la placa(con el USB por ejemplo).
(Nota: retira el micro con mucho cuidado de no doblar ningún pin, puedes insertar un destornillador plano por cada parte.)
Un saludo!
Logged

Murcia
Offline Offline
Full Member
***
Karma: 2
Posts: 109
Aprendiz de novato
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Pues acabo de fijarme en mi ARDUINO UNO y también hace lo mismo  smiley-eek.

En todos los scretchs que cargo se queda el led de la placa correspondiente al pin 13 encendido.

Si dentro del scretch defino el pin 13 como salida y lo pongo en estado LOW efectivamente se apaga pero sino...

Es una placa oficial y también traía pre-cargado el ejemplo Blink.

Un saludo!
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 4
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola!

Hay algo más que podemos comprobar.
Para probar si es el micro, retíralo y alimenta la placa(con el USB por ejemplo).
(Nota: retira el micro con mucho cuidado de no doblar ningún pin, puedes insertar un destornillador plano por cada parte.)
Un saludo!

Fue una de las primeras cosas que pensé en hacer, aunque luego no lo hice  smiley-sweat
Lo he probado esta mañana y el LED permanece encendido sin el microcontrolador ATmega328.

Me da que pensar en alguna polaridad invertida en algún componente de la placa que haga que el LED reciba la información opuesta, pero bueno esto no son más que cabalas ya que mis conocimientos de la electrónica son más bien pobres o lo siguiente.

Pues acabo de fijarme en mi ARDUINO UNO y también hace lo mismo  smiley-eek.

En todos los scretchs que cargo se queda el led de la placa correspondiente al pin 13 encendido.

Si dentro del scretch defino el pin 13 como salida y lo pongo en estado LOW efectivamente se apaga pero sino...

Es una placa oficial y también traía pre-cargado el ejemplo Blink.

Un saludo!

Con declararlo en el setup() basta para que no se ilumine. A menos en mi caso, que será igual que el tuyo.

No creo que haya mayores problemas a parte lo molesto (al menos para mí) que es que LED esté encendido cuando no debe.
Logged

Offline Offline
Newbie
*
Karma: 0
Posts: 1
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

yo lo acabo de comprobar, (tengo el arduino 2 días).
es cierto, se queda el led encendido:
  • si pongo un led en los pines 13-Gnd no se ilumina, y si lo pongo al revés se apaga el led de la placa (puesta a GND con el led auxiliar)
  • si pongo el led sobre los pines del led, también se ilumina, si lo pongo al revés no se apaga el led de la placa.
  • tampoco tengo el pin 13 en el skech, ni alto no bajo.

para mí no es muy importante que esté apagado, pero sí molesto.
Logged

Anaco, Venezuela
Offline Offline
Jr. Member
**
Karma: 8
Posts: 88
Electronic Engineer
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Hola,

         No es ningun defecto o problema, simplemente ese pin esta por default como OUTPUT y HIGH, mientras que todos los otros pines estan por default como INPUT. Si deseas que no encienda cambialo a LOW en el setup y listo, no hay que darse mala vida por eso.

Saludos.
Logged

Pages: [1] 2   Go Up
Jump to: