Divisor de tensión y pull-up con analogRead
El Attiny tiene 6 pines que puedes utilizar como E/S.
Mientras que 5 de ellos son realmente fáciles de usar el Pin 1, el PIN de Reset , obviamente resetea el microcontrolador si el voltaje es inferior a unos 2,5v.
Al reprogramar los fusibles para usar el pin de reset como pin de E/S ya no puedo usar el programador ISP de arduino.
Así que la única manera de utilizarlo como entrada, sin reiniciar el MC, es permanecer por encima de 3v y usar analogRead?
Después de conseguirlo, jugué un poco con mi multímetro (única herramienta de medición disponible) y experimenté con las resistencias.
simular este circuito - Esquema creado con CircuitLab
The powersupply(battery) outputs around 5.11v.
not pressed i get 5.11v on the "reset pin".
pressed i get 3.41v on the "reset pin".
not pressed the resistace is 39K .
pressed the resistace is 19K .
Ahora, como no quiero reprogramar los fusibles ni quemar el Attiny85 mi pregunta es:
¿Puedo dañar de alguna manera la attiny utilizando este circuito con analogRead();
?
Las lecturas estarían en torno a 680 cuando se pulsa o 1000 cuando no se pulsa.
¿Debo utilizar otras resistencias para consumir menos corriente/enviar mucha corriente continuamente? ...si esto funciona...
¿Alguna otra sugerencia?
Notas.:
Uso alfileres 2(PB3),3(PB4),5(PB0),6(PB1)
como canales PWM (con transistores npn); Rojo, verde, azul, blanco.
Pasador usado 7(PB2)
como botón.pero necesito también un Potenciómetro...
SO:
pin 7(PB2)
se convierte en Potenciómetro (analógicoRead).
y, espero que
pin 1(PB5)
se convierte en un botón usando analogRead o lo que sea.
EDITAR
este sitio explica más sobre el problema, aunque necesito un simple botón.
http://www.technoblogy.com/show?LSE
EDITAR
No he probado el circuito anterior. Te pregunto si podría funcionar, si hay algo mal. Tengo miedo de dañar la clavija.
Todo lo que sé es eso:
-
se reinicia con baja tensión utilizando la configuración normal del potenciómetro o la configuración normal del botón
-
si pongo los fusibles no soy capaz de reprogramar el chip
-
pin1 = pb5 = adc0 = analogread(A0) = Arduino pin5 = RESET