Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Dudas Arduino
#1
Buenas!! hoy me ha llegado el starter kitt y me he puesto manos a la obra. Quiero ver diferentes tonos de luz de un led y para ello utilizo la variable analogWrite con el siguiente codigo y no se enciende.[SOLUCIONADO]

void setup()
{
}

void loop()
{ analogWrite(13, 1);
}

pero si pongo analogWrite(13, 255) si se enciende. Que ocurre aqui? XD

EDIT: Edito este post para no estar abriendo hilos nuevos por cada duda que me surge, las voy poniendo aquí y así es más cómodo Gran sonrisa
un saludo!!
Citar
#2
Nada! todo va bien! cuado le pasas a analogWrite un valor de 255 es lo mismo que si le pasaras digitalWrite(13,HIGH);
En digitalWrite si pasas "1" es lo mismo que si le dijeses saca 5vdc por ese pin, en este caso el 13, pero si escribes analogWrite(13,1); le estas diciendo que de cada 255 unidades de tiempo del PWM solo 1 esté a 5vdc y las restantes 254 esté apagado por lo que practicamente le dices que lo apague.
Deberías probar primero con 128 que es la mitad de brillo mas o menos y a partir de ahí juegas, pero hasta que subas mas el tiempo a uno del PWM no lo vas a ver encenderse.
Cuando un hombre planta un árbol bajo cuya sombra sabe que no se sentará ha comenzado a comprender el sentido de la vida... o lo que es lo mismo... comparte!!!
Citar
#3
Exacto, 0 es el valor minimo, y 255 el maximo. Prueba mas valores intermedios, 1 es practicamente apagado.
Citar
#4
También ten en cuenta que el pin sea pwm... Si no, sólo vas a tener un encendido por encima de 128 y no tendrás varios niveles de brillo. Se que puede sonar muy obvio, pero pasa hasta cuando llevas tiempo con ellos.... XD

Edit:
Olvídalo, acabo de ver que estas con el pin 13.... ^_^*
Citar
#5
me pasa exactamente lo que dice biketrial981 por debajo de valores de 128 no se enciende y por encima de este valor no cambia la intensidad de brillo
Citar
#6
ya lo he solucionado! era que solo se puede generar señales PWM en los pines 3, 5, 6, 9, 10, y 11. Gran sonrisa
Citar
#7
Exacto! De todas formas me colé yo también ya que pensé que el 13 era pwm por ser el pin al que trae asociado el led del arduino.... A eso me refería con lo de obvio, y que por mucho que trastees con ellos no hay que dar nada por hecho y revisar siempre bien los fallos, que muchas veces son por no prestar atención e ir a la carrera para hacer algo Guiño

Venga, que después del blink y el fade con leds, viene lo interesante! Guiño
Citar
#8
biketrial981 escribió:Exacto! De todas formas me colé yo también ya que pensé que el 13 era pwm por ser el pin al que trae asociado el led del arduino.... A eso me refería con lo de obvio, y que por mucho que trastees con ellos no hay que dar nada por hecho y revisar siempre bien los fallos, que muchas veces son por no prestar atención e ir a la carrera para hacer algo Guiño

Venga, que después del blink y el fade con leds, viene lo interesante! Guiño

En realidad depende del Arduino, en el Mega el pin 13 si que es PWM.
Por eso es bueno tener a mano el esquemático del Arduino que se este empleando:

http://www.spainlabs.com/foro/viewtopic.php?f=9&t=55

resim
giltesa.com Mi blog personal sobre informática, electrónica, Arduino, bricolaje, etc.
Citar
#9
Vale, no me estaba volviendo loco.... XD.

Tengo si no todos, la gram mayoría de arduinos, y di por hecho el pwm del pin 13, pero cuando puso los pins pwm cogí un yun que tenía al lado y efectivamente no era pwm, pero yo juraría haber jugado con el brillo del led en placa de un arduino Guiño
Citar
#10
Tengo otra duda sobre un pulsador XD. cuando lo instalo en la protoboard tengo que poner una resistencia pull up o pull down para que no se produzca un corto pero, ¿cómo sé el valor de dicha resistencia?.
Citar
#11
walter white escribió:Tengo otra duda sobre un pulsador XD. cuando lo instalo en la protoboard tengo que poner una resistencia pull up o pull down para que no se produzca un corto pero, ¿cómo sé el valor de dicha resistencia?.

Sera pull up o pull down segun con que valor quieras actuar sobre el arduino (1 o 0). Y el valor de la resistencia con 10k te viene bien.

Si usas pull up, cuando el pulsador no este accionado en la entrada de arduino tendras un 1, cuando pulses tendras un 0. Y a la inversas con pull down
Citar
#12
walter white escribió:Tengo otra duda sobre un pulsador XD. cuando lo instalo en la protoboard tengo que poner una resistencia pull up o pull down para que no se produzca un corto pero, ¿cómo sé el valor de dicha resistencia?.

Puedes poner una de 10K. Hace que la patilla no se quede en estado flotante, es decir, que si no tienes el pulsador accionado, tengas una señal logica, ya sea 5V si es PULLUP o 0V si es PULLDOWN

Un saludo¡¡

EDITO: Se me adelanto grafi :zpistolas: :zpistolas:
Citar
#13
Gracias!!
Citar
#14
Triggerr escribió:
walter white escribió:Tengo otra duda sobre un pulsador XD. cuando lo instalo en la protoboard tengo que poner una resistencia pull up o pull down para que no se produzca un corto pero, ¿cómo sé el valor de dicha resistencia?.

Puedes poner una de 10K. Hace que la patilla no se quede en estado flotante, es decir, que si no tienes el pulsador accionado, tengas una señal logica, ya sea 5V si es PULLUP o 0V si es PULLDOWN

Un saludo¡¡

EDITO: Se me adelanto grafi :zpistolas: :zpistolas:

Hay que correr mas Confundidois1: Confundidois1: Confundidois1:
Citar
#15
Buenas!! aquí traigo otra duda simple jaja

En el código que pongo a continuación ¿para que sirve la última linea (delay(30)Guiño? yo sé que delay sirve para hacer una pausa de 'n' segundos pero aquí no le encuentro sentido ¿será para actualizar la función loop?


/*
Tutorial Arduino # 0003 - Efecto Fading

En este tutorial, mostramos como se desvanece un LED
en función del valor recogido en un entrada analógica.

Este proyecto es de dominio público.
*/

int pinSensor = A0; // Entrada para el potenciómetro.
int pinLed = 9; // Seleccionamos pin para el Led.
int valorSensor = 0; // variable para el valor del sensor.

void setup() {
pinMode(pinLed, OUTPUT); // Establecemos el pin como salida.
}

void loop() {
// Leemos el valor del sensor y lo almacenamos:
valorSensor = analogRead(pinSensor);
// Establecemos el valor analógico para la salida PWM
analogWrite(pinLed, valorSensor / 4);
// Detenemos el programa durante 30 milisegundos:
delay(30);
}
Citar
#16
Es simplemente para no estar todo el rato leyendo y cambiando el valor. Piensa que aunque no estuviese ese delay, el ojo humano tiene sus limitaciones y haría de filtro paso bajo (Como pasa también, por ejemplo, cuando ves un led al que le meten pwm: si es de la frecuencia suficiente, para tu ojo será luz continua). Así que sencillamente actualiza el valor cada cierto tiempo en vez de continuamente, y listo.
Citar
#17
Me he fijado en las especificaciones del cargador de mi móvil y pone OUTPUT 5.0 DVDC. ¿Podría conectar el arduino a este aparato?.
Citar
#18
No había leído tu duda del delay. Cuando sea así, comenta esa línea o estructura e intenta compilar y ejecutar el código para ver la diferencia.

Sobre lo del cargador de móvil, podrás utilizarlo sin problemas. No recuerdo cuanto amperaje soportaba, pero creo que bastante.
Citar
#19
jukillo escribió:No había leído tu duda del delay. Cuando sea así, comenta esa línea o estructura e intenta compilar y ejecutar el código para ver la diferencia.

Sobre lo del cargador de móvil, podrás utilizarlo sin problemas. No recuerdo cuanto amperaje soportaba, pero creo que bastante.

Gracias por la respuesta, en cuanto la intensidad de salida del cargador pone 850 mA. ¿No hay problemas no?.
Citar
#20
Dale sin miedo!! Gran sonrisa
Citar


Temas similares...
Tema Autor Respuestas Vistas Último mensaje
  Novato - Dudas proyecto First Person View para coche o Heli pedrotronic 3 615 29-10-2014, 11:28 AM
Último mensaje: pedrotronic
  Dudas Liberia y EEPROM Triggerr 31 12,565 25-08-2013, 10:40 PM
Último mensaje: Triggerr
  ¿Arduino MEGA o Arduino ADK? igargi 7 1,126 25-08-2013, 04:58 PM
Último mensaje: cansi22