This is another complicated level and another with a challenge target.
There are two distinct steps. The first one is processing the N2 and O2 input and making an NO3 molecule with a double bonded oxygen.
The second step is taking parts of the water and chlorine and bonding them to the NO3 to make the target outputs.
First things first. A reactor could be used to split and sort the incoming oxygen and nitrogen.
Use a control thread waldo to handle the inputs and use the other waldo to perform the sorting.
This does the trick, but it's quite slow. If you're gunning for the challenge target of 2200 cycles, you'll definitely want a much faster sorter here.
These outputs should feed in to a reactor which builds the NO3 with the double bond. A bit of drive-by bonding with a little twist can easily achieve this.
This will create the NO3.
The water and chlorine have useless atoms that will need to be sent to the recycler. What is useful?
You will need hydrogen or sodium, which conveniently exist in the same location in the input area. The attached bonded stuff should be disregarded and the important bits output.
Much like this.
Now you need to bond it with the NO3 and use a sensor to detect which output to send it to. I can't be bothered arranging a screenshot of that, it's pretty simple. All done!
What do you mean 'it takes far too long'? If you need it to run in under 2200 cycles you'll need to make some optimisations. What is the cause of the slowness?
The slowness in the above design, and probably in general, is two fold.
- Not sorting the nitrogen and oxygen fast enough
- The water and chlorine come in a 2:1 mix but you need hydrogen and sodium in a 1:1 mix.
The nitrogen and oxygen sorter can be sped up dramatically by using both waldos to sort both atoms of one molecule simultaneously. There are minor syncronisation issues.
This is much faster. From the Sync commands, both waldos unbond and grab the input atoms. The red waldo goes in front and place its atom in the correct place. Note that the blue waldo outputs the red's atom so that it blocks the blue waldo and prevents a collision in event of clogged output pipes.
Still not enough? The water and chlorine sorter needs to maintain a 1:1 output ratio of hydrogen and sodium so the output targets fill up at the same rate. It can do this by not outputting the hydrogen directly but building an H2 molecule out of it. When the H2 is complete, it can be broken in half like the other inputs.
This is the idea. When a hydrogen is sensed, it is not immediately output. Instead it goes in to a (left facing) chain builder at the bottom. That also triggers the blue waldo which attempts to pick up an H2. The blue waldo will fail to grab anything if there is only one hydrogen and will return to its Sync command without doing much of consequence. If it gets an H2 molecule, it rotates it and strips one hydrogen off to the recycler, and then outputs the other hydrogen to the rest of the process.
This is only safe as long as the rest of the reactors can process fast enough to keep the output pipe cleared.