Al igual que casi todos los circuitos integrados sin tolerancias de sobretensión especialmente diseñadas, el nivel de voltaje de entrada del 74HC595 tiene un máximo de VCC o VCC + 0.3v. La alimentación del 74HC595 desde 3v está bien, pero la conexión directa de las salidas 5v del Arduino al 74HC595 a 3v no será buena. Un cambio de nivel como @angelatlarge ha demostrado que funcionaría.
Dicho esto, la otra cosa es que el IC no pasa a lo largo del voltaje de las entradas a las salidas. Si bien su diagrama lógico no muestra ningún transistor / mosfet usado, sí tiene salidas con búfer. Las salidas están referenciadas a las VCC y GND del 74HC595. Por ejemplo, en 4.5v VCC, el nivel lógico alto solo necesita ser 2.4v (típico) para ser un nivel alto, pero la salida será 4.32v típica.
Entonces, puede alimentar el 74HC595 desde 3v, usar un cambiador de voltaje para llevar las entradas al nivel de 3v y conectar sus leds de esa manera. Pero todavía querrá resistencias en los leds para controlar cualquier corriente.
De hecho, el uso de las resistencias hará que la alimentación del 74HC595 funcione a 3v Y el uso del divisor de voltaje no funcione. Las resistencias se deben calcular de la misma manera que lo haría si estuviera conectando directamente una resistencia led + a una batería.
Tenga en cuenta este esquema:
Alimentadodesde5v,considerandoquecadaled,comolamayoríadelosLEDestándar,estaráencualquierlugarentre2a3.5voltiosa20mAdecorrientedirecta,significaquehabrá3a1.5venexceso.Lasresistencias,cuandosecalculanparauna(Corrientedefuentede5voltios-CaídadetensióndeavancedeLED)/CorrientedeLED,"tomarán" la tensión de retorno, mientras se establece esa corriente. Lo mismo se aplica a LED Matrix en el 74HC595 también, excepto que la ubicación de la resistencia variará y todo. No nos has dicho qué tipo de matriz quieres.