En ocasiones me han estado utilizando un Attiny13, 25, 45 y 85 en un proyecto y sólo tenía un perno corto. Estos chips se suponen tienen 6 pines I/O pero pin número uno dobles (PB5/ADC0) como pin RESET y para utilizarlo como un pin de I/O, es necesario configurar los fusibles apropiados en el chip. Que no es tan difícil, pero el problema es que una vez fusible, el chip no puede ser reprogramado por SPI, pero necesita un programador de voltaje alto que primero necesita restablecer nuevamente la broca fusible específico.
Seguro que podrías actualizarlo a un Attiny2313, pero a menudo eso significa que usted necesita instalar un nuevo núcleo, o hacer un nuevo tablero de programación, pero es un dolor así.
Así pues, me preguntaba si restablecer pin podría ser utilizado como un pin de I/O sin meterse con los bits del fusible, después de todo, todavía hay un montón de tensión para jugar antes de llegar al nivel de reset
Aunque era un poco confuso para mí lo que la tensión requerida de baja es que el pin de Reset para un Reset, parece que es menor que lo que generalmente se interpreta como una 'baja'.
Que potencialmente abre posibilidades para usar el rango entre + Vcc y Vreset para entrada analógica como digital - sin necesidad de reiniciar el chip
Primero probé la función de entrada análoga tiene un rango más grande que la funcion de entrada digital (como esperaba la diferencia entre baja y RESET muy pequeño). Usé un Attiny13, había conectado un LED y un resistor a PB0 y había conectado el contacto medio de una resistencia variable de 25 k al Pin 1 y los contactos externos a Vcc y 0V respectivamente.
Entonces cargué el Attiny13 con el siguiente programa:
// Using the Reset pin as ADC0 const int Led = 0; int x=0; void setup() { pinMode(Led, OUTPUT); } void loop() { digitalWrite(Led,HIGH); x=analogRead(0); delay(x); digitalWrite(Led,LOW); delay(x); }
Cuando la resistencia variable se conecta todo el camino hasta el + Vcc carril, el LED parpadea en un ritmo constante. Cuando baja la resistencia variable, la frecuencia de intermitencia subió, es decir, un rápido parpadeo del LED... como era de esperar. Esto continuó hasta que el LED repentinamente dejó de parpadear (como la función RESET en). Ergo, hay una gama en que pin 1 se puede utilizar para la entrada, mientras que todavía mantiene su función RESET.
Resulta que el punto de reset estaba en 9 K Ohm (de 25). Que es igual a 5 *(9/25) = 45/25=9/5=2.2 voltios.
Que generalmente no es muy diferente de lo que se considera un bajo y es un poco superior a lo que entendí el Vreset ser.
Como por supuesto no se puede tener un circuito que está siempre al borde de resetear, necesitamos construir en algún tipo de protección: algo que mantiene la tensión en el pin 1 de bateo 2.2 voltios o menor.
Consideremos el segundo circuito. Supongamos que la menor resistencia de la LDR se mide en las condiciones de luz estamos usando, es 1k. Entonces sabemos que la corriente a través de que 1 k debe ser mínimamente 2.2 mA a permanecer por encima del voltaje de Reset. Por lo tanto la resistencia total de la LDR + la resistencia debe ser 5/2.2=2.27k, por lo tanto la resistencia debe ser mínimamente 1.27 k. Los valores más cercanos de E12 son k 1,2 y 1,5 k y debemos elegir 1,2 k seguro. (1.2 k -> voltios 2,27 /1.5 k -> 2 voltios)
Por supuesto uno puede utilizar el circuito con la resistencia LDR intercambiados, y entonces es mucho más difícil de calcular que una segura resistencia en oscuridad el valor de la LDR puede subir a varios Mega ohmios, pidiendo un resistor que es en ese mismo rango.
Si usted desea usar un trimpot en PB5 entonces debe conectarse un lado Vcc, el tp variable pin PB5 y el otro a tierra a través de un resistor para que el contacto medio nunca llegará a 2,2 voltios.
Se puede calcular el valor de esa resistencia del valor de la resistencia variable con la fórmula
r = 0.58 P
En que r es el valor de la resistencia y P el valor del potenciómetro. Tan con potenciómetro 10 k necesita utilizar un 5.8 resistencia de k. Que limita el rango de lectura en la entrada analógica, pero al menos se puede utilizar como una entrada analógica.
Sólo una palabra de "PRECAUCIÓN" los valores de resistencia que encontré fueron medidos por un multímetro decente pero no es muesca superior. En 'su' caso que necesite una resistencia que tiene un valor ligeramente diferente y por supuesto también depende de la resistencia variable u otra fuente de entrada que esté utilizando.
Dado el hecho de que el nivel de reposición es de 2,2 voltios, he molestado no intentar si trabajaría con digitalRead