Hallo Gemeinde
Auf einem Board verwende ich die folgenden Pins:
"Ortsbedienung direkt am AT1284p":
PC 2 - Taste 1
PC 3 - Taste 2
PC 4 - Taste 3
PC 5 - LED 1
PC 6 - LED 2
Anschluss "Motorshield"
PA 0 - Clock
PA 1 - CW/CCW (L/R)
PA 2 - EN
bisherige Funktion der Tasten und Pins
Taste 1 - EN einschalten - freigabe Schrittmotor mit L6208
LED 1 - Anzeige "Motor ein"
LED 2 - Anzeige Taktfrequenz durch Timer
Ich verwende einen Atmega 1284p mit 16 MHz, Timer mit 1ms und Toogle
PA0,
mit der Taste PC 1 gebe ich EN frei. PA 1 hat ständig H und gibt dadurch
die Drehrichtung an.
1 | if(get_key_press(1<<KEY_2))// nur Taste press
|
2 | { // LED an
|
3 | PORTC &= ~(1<<PC1);
|
4 | }
|
5 | if(get_key_press(1<<KEY_3)) // nur Taste press
|
6 | { // LED aus
|
7 | PORTC |= (1<<PC1);
|
8 | }
|
Verwende ich die Tasterentprellung von Peter, ist es kein Problem, den
Eingang ein und auszuschalten.
Wie mache ich das am besten, wenn ich 2 Taster verwende und damit eine
Umschaltung Links / Rechtslauf mache?
Bevor ich die Richtung umschalte muss EN ausgeschaltet werden.
Beide Taster kann man leicht "verriegeln" ohne Peter sein Code.
Das setzen der Richtung muss vor dem Einschalten des Motors erfolgen.
Hat jemand eine Idee dazu?
achim