Medí la salida de corriente de un Arduino Duemilanove (con un ATmega168) en dos casos y descubrí que las corrientes son muy diferentes.
El siguiente código crea una salida de 72 mA en el pin 13 medida en mi caso en un multímetro digital (Tenma 72-7745). Tenga en cuenta que es casi el doble del máximo. corriente de 40mA.
void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, !digitalRead(13));
// digitalWrite(13, digitalRead(13) ^ 1); // this works as well
delayMicroseconds(58);
}
el siguiente código sobre 36.5mA:
void setup()
{
pinMode(13, OUTPUT);
}
void loop()
{
digitalWrite(13, HIGH);
delayMicroseconds(58);
digitalWrite(13, LOW);
delayMicroseconds(58);
}
La frecuencia medida en el pin 13 (+) y tierra para ambos ejemplos es de alrededor de 8kHz. El consumo actual no cambia demasiado cuando baje la frecuencia, por ejemplo, con delayMicroseconds (1000); Es en este caso 493Hz y 68mA en mi condición (temperatura y microinstrucciones que afectan al reloj, supongo).
Intenté buscarlo en Google, pero no pude encontrar ninguna fuente. ¿Tiene alguna idea?
¿Esto está relacionado de alguna manera con la instrucción digitalRead ()? ¿Esta función necesita una corriente para leer? ¿Qué pasa con el actual sumidero y la fuente? Necesito ayuda ..