Using PortB as a sink, not working
PB3 etc don't refer to Arduino pins. Instead they refer to the bits in the internal registers.

To use digitalWrite() etc you must use Arduino pins not internal register bit numbers.

The pin to port/bit mapping is defined by what board you have selected, and if you want to look it up you should examine the pins_arduino.h file for your selected board.