Buenas tardes,
Estoy realizando un proyecto para pulsar la luz de un láser a determinadas frecuencias. Para ello, selecciono con una serie de switches cuál es la frecuencia a la que quiero que se pulse la luz del láser y tengo un código tal que así para cada frecuencia:
PORTB = 0b10000000; //Pin 11 HIGH
delayMicroseconds(periodo);
PORTB = 0b00000000; //Pin 11 LOW
delayMicroseconds(periodo);
Estoy utilizando un Arduino Micro y debido a que la instrucción DigitalWrite() genera muchas instrucciones máquina y necesito que no se me altere -demasiado- la frecuencia a la que quiero pulsar la luz, busqué en la documentación del ATMEGA32u4 cómo podría poner en alto y bajo un pin determinado. En este caso el 11.
El problema me surge cuando al pin 11 conecto el susodicho láser. Este funciona a 3.3V pero he medido la tensión de salida en el pin 11 y es de 2.5V. Deduzco, dado que mis conocimientos de electrónica no son muy elevados, que se debe a que el ciclo que trabajo que estoy usando es del 50%. Evidentemente, enciendo y apago el láser durante el mismo periodo para obtener la frecuencia deseada.
Entonces, ¿cómo puedo obtener la tensión de 3.3V que necesito para hacer funcionar el láser?
Aunque la salida del pin sea de 5V, ¿al utilizar un ciclo de trabajo del 50% estoy dividiendo entre dos la tensión y obteniendo 2.5V reales?
A ver si alguien me ilumina.
¡Muchas gracias de antemano!