Algunos antecedentes: Estoy armando una pantalla para enseñar a los niños cómo funcionan los circuitos neuronales. Estoy creando un grupo de 'bloques' (cada uno de los cuales contiene un ATTiny85, un indicador LED y cables de entrada / salida) que se pueden conectar en diferentes configuraciones para representar diferentes motivos de circuitos.
El problema: Estoy tratando de usar PWM para comunicarme entre los ATTiny85s. Mi idea original, simplemente leyendo las señales de entrada PWM con analogRead
y generando una salida PWM con analogWrite
, funcionó bien mientras todos los ATTiny85 estaban funcionando con una fuente de alimentación de 5 V de un Arduino. Sin embargo, ahora que he cambiado a usar una batería de 4.5V para cada ATTiny85, la comunicación PWM ya no funciona.
Esperaba que las salidas de PWM cambiaran un poco (dado que HIGH
ahora está limitado a 4.5V), pero lo que estoy descubriendo es que los valores de salida (cuando se leen en un Arduino usando analogRead
OR pulseIn
) ahora salte enormemente (por ejemplo, pulseIn
lee entre 50 y 15000 de la salida PWM analogWrite(250)
). Incluso un promedio de hasta 1000 pulsos no hace mucho para suavizar el valor.
¿Me estoy perdiendo algo?