Soy un desarrollador de software que intenta entender cómo funcionan las computadoras a un nivel inferior.
Compré el microcontrolador Arduino Uno y seguí todos los tutoriales de LadyAda.
He notado que el LED (no el LED de encendido) siempre está ENCENDIDO a menos que parpadee, incluso si proporciono el siguiente programa, que borra la memoria y debe apagar el LED:
#include <EEPROM.h>
void setup()
{
// write a 0 to all 512 bytes of the EEPROM
for (int i = 0; i < 512; i++)
EEPROM.write(i, 0);
// turn the LED on when we're done
digitalWrite(13, LOW);
}
void loop()
{
}
¿Por qué el LED está siempre encendido? Busqué esto en Google y leí algunas preguntas similares en otro foro como este , pero aún no he encontrado una respuesta.
Creo que su problema es que no configura ese pin como salida. Use pinMode(13, OUTPUT)
para configurar el pin 13 para ser usado como salida digital. Dado que los pines GPIO se pueden usar como entrada o salida de encendido/apagado, debe informar al microcontrolador en qué modo debe configurarse ese pin.
#include <EEPROM.h>
int led = 13;
// the setup routine runs once when you press reset:
void setup()
{
// initialize the digital pin as an output.
pinMode(led, OUTPUT);
// write a 0 to all 512 bytes of the EEPROM
for (int i = 0; i < 512; i++)
EEPROM.write(i, 0);
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
}
void loop()
{
}
Puede ver el ejemplo básico de Hello World aquí , que pasa por encima del parpadeo del LED del pin 13.
Además, debe tener cuidado al escribir en la EEPROM, como se indica en los comentarios, solo tiene una vida útil de ~ 100k ciclos.
digitalWrite(led, HIGH)
o lo usó digitalWrite(led, LOW)
?En realidad, nadie ha respondido a la pregunta. ¿Por qué el LED solo se apaga cuando el pin 13 está configurado en SALIDA con escritura digital BAJA? Claro, entiendo que en el modo INPUT-PULLUP se suministra voltaje al pin a través de una resistencia pull up que, en teoría, puede hacer que el LED brille tenuemente. Pero la realidad es que el LED brilla intensamente cuando el pin 13 es una ENTRADA, baja o alta. Si el pin 13 está configurado en INPUT/LOW (que es el valor predeterminado en el encendido), ¿de dónde proviene el voltaje y la corriente para controlar el LED? Y que nadie se atreva a hablar mal de la resistencia pull-up otra vez. Como dije, el LED es brillante independientemente de si el pin 13 es ENTRADA BAJA o ENTRADA ALTA.
Parece que el UNO r3 funciona de manera diferente a las versiones anteriores. Esquema REF: http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf El pin 13 es una entrada para un amplificador operacional. Si hay un voltaje en el pin 13, el amplificador operacional coincidirá con ese voltaje en su salida que impulsa el LED. Debido a que los pines de ENTRADA tienen una alta impedancia, sin una resistencia desplegable, su voltaje flotará, o tal vez haya una fuga minúscula del microcontrolador y sin una resistencia desplegable, habrá voltaje en el pin. Las entradas del amplificador operacional tienen una impedancia infinita teórica.
Esta es una mejora de diseño. Con la versión anterior, no podía usar el pin 13 como INPUT-PULLUP porque el voltaje solo sería de 1,7 V porque el LED estaba drenando la corriente que llegaba a través de la resistencia pull-up. Con el UNO R3, el amplificador operacional no drenará la corriente pull-up, lo que nos permite configurar el pin 13 como INPUT_PULL-UP. Sin embargo, el Pro-mini todavía tiene el diseño antiguo y, si desea utilizar el pin 13 como INPUT-PULLUP, debe quitar la resistencia de la placa.
Todos los que tengan problemas con L (pin 13) en su Arduino Uno, pongan este código tal como está en una pantalla en blanco en la ventana IDE. Resolverá el problema.
const int led = 13;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led,LOW);
}
Espero que esto ayude :)
phil escarcha
yippie
yippie
for
bucle, agregue unpinmode(13,OUTPUT);
w0051977
w0051977
phil escarcha
yippie
yippie
File => Examples => 01.Basics => Blink
y trabaje desde allí para cambiar el comportamiento del LED.garrett fogerlie
w0051977
phil escarcha
garrett fogerlie