Μια στιγμή. Εγώ θέλω να έχω footswitch να κάνουν τη δουλειά του rotary encoder. Δεν κατάλαβα γιατί χρειάζομαι διόδους και rotary encoder. Για το input του Arduino?
OK, λάθος, νόμιζα ότι ήθελες να χρησιμοποιήσεις rotary encoder. Πάμε από την αρχή.
Στην υλοποίηση με relay, θες κι έναν driver (1 αντίσταση, 1 δίοδο, ένα τρανζίστορ).
Αν βάλεις footswitches, δύο πχ, απλά θες ένα κώδικα του στυλ:
if (button1_pressed)
{
pos-=1;
if (pos<1)
pos=5; // Το μέγιστο των ρελέ
}
if (button2_pressed)
{
pos+=1;
if (pos>5)
pos=1; // Το ελάχιστο των ρελέ
}
Οπότε πολύ χοντρικά, κάπως έτσι θα λουπάρεις μεταξύ των θέσεων.
Βέβαια θα χρειαστεί να κάνεις κι ένα debounce στα footswitches, αλλά αυτά είναι λεπτομέρειες για πιο μετά.
Χρησιμοποιώντας έναν μπαμπούινο, θα μπορέσεις να βάλεις και ένα πχ 7 segment led display και να βλέπεις και σε ποιο mode είσαι και πάει λέγοντας.
---
Edit:
Εναλλακτικά θα πρέπει να φτιάξεις ένα λογικό κύκλωμα, που να κάνει την ίδια δουλειά.
Νομίζω ότι θα υπάρχουν αρκετά ψάχνοντας με "relay logic flipflop toggle" ή κάτι τέτοιο...
Παρόλα αυτά, εγώ θα ακολουθούσα την λογική του Arduino καθώς μπορείς να το επεκτείνεις όσο θες (πχ midi control, display κλπ).