Hi everyone!
I want to build a MIDI controller with 32 pots, 12 LEDs and 12 pushbuttons with a Teensy LC. Everything has to be USB powered. The teensy will read every cycle the status of the pots and the pushbuttons. If status changes it will send a MIDI message over USB to the PC. The controller will also receive MIDI messages from the PC to turn on/off the LEDs.
I'm trying to plan everything right on the HW side. Here is the you can see the block diagram of the controller.
The 32 pots (10k value) and the pushbuttons are connected to 3x 74HC4067 mux. This allows me to use a total of 16 digital pins and two analog pins (4 bit address + 1 pin enable + 1 pin analog input for each 4067 connected to pots and 4 bit address + 1 pin enable + 1 pin digital input with pullup for the one connected to the pushbuttons).
Now i need to wire the LED part. I found [URL="https://www.pjrc.com/teensy/td_libs_ShiftPWM.html"this]this [/URL] to PWM 12 leds with just 3 pins and two 74VHC595. All the LEDs can be on at a given time, so the power consumption of the LEDs is 20mA*12 = 240mA (assuming i'm not PWMing the led). The 3.3V regulator has a maximum current of 100mA. So i need to connect the 595 to the +5v pin of the Teensy (which uses the USB 5V - 500mA max). But the 595 datasheet says that the minimum volt allowed to have a an logic high at the input of the 595 is 0.7 * Vcc, so 0.7*5V = 3.5v. The Teensy will output 3.3V, so i can't wire things like that.
Am I missing something? Is there some smart way to connect everything? Do i need to put a 5 to 3.3V regulator to power the 595?
Also, is the teensy fast enough to do everything (scan the pots/buttons, send MIDI, receive MIDI, PWM LEDs with shift registers)?
I want to build a MIDI controller with 32 pots, 12 LEDs and 12 pushbuttons with a Teensy LC. Everything has to be USB powered. The teensy will read every cycle the status of the pots and the pushbuttons. If status changes it will send a MIDI message over USB to the PC. The controller will also receive MIDI messages from the PC to turn on/off the LEDs.
I'm trying to plan everything right on the HW side. Here is the you can see the block diagram of the controller.
The 32 pots (10k value) and the pushbuttons are connected to 3x 74HC4067 mux. This allows me to use a total of 16 digital pins and two analog pins (4 bit address + 1 pin enable + 1 pin analog input for each 4067 connected to pots and 4 bit address + 1 pin enable + 1 pin digital input with pullup for the one connected to the pushbuttons).
Now i need to wire the LED part. I found [URL="https://www.pjrc.com/teensy/td_libs_ShiftPWM.html"this]this [/URL] to PWM 12 leds with just 3 pins and two 74VHC595. All the LEDs can be on at a given time, so the power consumption of the LEDs is 20mA*12 = 240mA (assuming i'm not PWMing the led). The 3.3V regulator has a maximum current of 100mA. So i need to connect the 595 to the +5v pin of the Teensy (which uses the USB 5V - 500mA max). But the 595 datasheet says that the minimum volt allowed to have a an logic high at the input of the 595 is 0.7 * Vcc, so 0.7*5V = 3.5v. The Teensy will output 3.3V, so i can't wire things like that.
Am I missing something? Is there some smart way to connect everything? Do i need to put a 5 to 3.3V regulator to power the 595?
Also, is the teensy fast enough to do everything (scan the pots/buttons, send MIDI, receive MIDI, PWM LEDs with shift registers)?