Cannons with bit encoders - the ith cannon's inserter activates when an input signal has a 1 in the ith bit from the right (cannons indexed from 0 to 31, leftmost is 0). Works with every resource simultaneously, and can support up to 32 cannons. You only need one channel for the receivers/transmitters, and everything is done on the red wire, so you could actually double it up to 64 if you start using the green wire when you exceed 32 cannons on a resource type.
To setup the cannons, just replace the "R" signal in the left combinator with whatever resource type the cannon row is delivering. To add more cannons past the 6 in the blueprint, just copy the pattern, and increment the constant in the bitshift combinator (leftmost under its cannon).
To setup a delivery location, delete the "R" signal in the constant combinator and replace it with whatever resource you are requesting (value of 1). You can request as many different resource types as you want, just put them all in the constant combinators. Then, set the "I" signal in the constant combinator to the ID of an unused cannon (if requesting multiple resources, this sends a request to the cannon with that ID for each resource, so they all must be previously unused). Finally, turn on both constant combinators (they start off to prevent misfires when setting up a new requester). Requester stations can be easily turned off by toggling the constant combinator with the check signal in it.
Be careful with requesting too many resources to a single location, by default the requester combinators just send a request whenever a target resource has less than 400 in the receiver chest, so you could overflow if you aren't careful (or replace this logic with something more sophisticated).
