In realtà si può fare a meno del partitore facendo come suggerito, per come è strutturato il progetto (vedi altro thread), ma avevo raccomandato a @miriamromano di farlo solo se capiva esattamente cosa faceva e perché avrebbe funzionato, ma non mi pare ormai più il caso, per cui direi di lasciare perdere e usare un partitore o un level shifter adeguati.
In ogni caso, @miriamromano, l'input e l'output sono due cose separate, che ti suggerei di mettere a punto separamente. Fai prima uno sketch che si occupa SOLO di pilotare l'output in un modo o nell'altro, magari a tempo o prendendo input da seriale. Una volta che sei sicura che l'output funziona come deve, metti da parte lo sketch e fanne uno nuovo che si occupa SOLO di leggere l'input e di scrivere su seriale quel che sta succedendo. Quando anche questo funziona come deve, metti insieme le due parti.