Archiv verlassen und diese Seite im Standarddesign anzeigen : Detektor Taster vom Asuro
Hallo alle vom roboternetz, ich bin neu hier und werde mich mit der Thematik befassen (wird best. mein zukünftiges Hobby werden =P~ ).
Der Asuro ist bestellt und währenddessen habe ich mich mal mit dem Schaltplan befasst. Vom Controller und dessen Programmierung habe ich noch kein Schimmer (darum habe ich es ja gekauft).
Nun habe ich jedoch eine Frage zu den Detektor-Tastern. Diese sind 6x vorhanden, hängen alle parallel und mit nach je einen unterschiedlichen Widerstand an einer Signalleitung des Controllers.
Hat der Controller etwa eine interne Messung des Stromes (Ampere vom Widerstand Ohm) und weiß deshalb welcher im Moment geschalten ist?
Meine Frage bezieht sich auf die Erweiterung der Taster (mehrere Taster parallel hinter den jeweiligen Widerstand für ein und die selbe Funktion (von einem anderen Ort) nach dem Kontakt.
Ich hoffe auf eine Antwort, ist echt ein tolles Forum (und vielseitig).
Moin, also ohne überhaupt den Azzuro oder den Schaltplan zu kennen behaupte ich mal, das mit den Tastern ein einfacher Spannungsteiler aufgebaut ist, und dieser an einem Analogeingang abgefragt wird.
Jenachdem welcher gedrückt gibt das einen anderen Wert.
Ob du diese Erweitern kannst, weiss ich nicht, da du wahrscheinlich die Widerstände austauschen müsstest.
Ich hab schonmal das gleiche gemacht, um eine Tastatur mit 12 Tasten an einem Analogport abzufragen.
Hoffe das hilft dir weiter.
Hier noch mal die Schaltung:
Die Taster sind über unterschiedliche Widerstände angeschlossen damit man über eine Spannungsmessung auch feststellen kann, welche Kombination von Tastern gleichzeitig gedrückt ist.
Manfred
https://www.roboternetz.de/phpBB2/files/wandler_.jpg
Cool, schnelle Antwort :-)
Die Taster verbrauchen ja keinen Strom, wenn ich jetzt noch einen für die selbe Funktion parallel zu einem setzen würde, müsste es doch den Pegel für die Eingangsspannung nicht beeinflussen, oder?
Ist da nun eigentlich ein Spannungsmesser im Controller, um den jeweiligen Pegel zu erkennen?
Oder löst eh schon jeder Detektor-Taster die gleiche Funktion (welche man im Controller programmiert hat) aus?
Man kann an Eingängen des Controllers Spannungen messen. Beim ASURO ist auch ein Treiber für die Abfrage des Tastenports dabei.
Manfred
@Manf
Na gut, ich schreib es nochmal ins Forum
Ich befasse mich zum ersten mal richtig mit dem Aufbau eines komplexeren Schaltplan/Systems, also habe ich bis dato wenig (noch!) Ahnung, erst recht nicht von Micro-controllern und Interfaces, Ports.
Zu den Tastern habe ich aber die Frage, die noch nicht eindeutig beantwortet ist (für mich jedenfalls, für andere/dich wird es best. schon selbstverständlich sein).
Alle Taster hängen an einer Signalleitung, kann ich für diese Signalleitung nur eine Funktion programmieren oder hat der Controller für jeden Taster eine seperate Funktion zum programmieren.
Sind also die unterschiedlichen Widerstände nur für den Benutzer zur Überprüfung vorhanden oder für den Controller zur internen Unterscheidung/Messung, welcher Taster gechlossen/betätigt ist?
Das mit dem Spannungsteiler ist logisch, aber kann nun der Microcontroller etwas damit anfangen und diese Taster unterscheiden oder ist es dem schnuppe/egal, welche dieser gedrückt ist (obwohl ich dann diese einfach ohne Widerstände parallel an die Signalleitung schließen würde), da dieser Port vom Controller nur eine Funktion ausgeben kann?
..Alle Taster hängen an einer Signalleitung, kann ich für diese Signalleitung nur eine Funktion programmieren oder hat der Controller für jeden Taster eine seperate Funktion zum programmieren...
...Das mit dem Spannungsteiler ist logisch, aber kann nun der Microcontroller etwas damit anfangen und diese Taster unterscheiden ?
Auch wenn es im ersten Moment nicht so einleuchtend erscheint, aber genau das soll diese Schaltung bewirken.
Die underschiedlichen Wiederstände sind für den Analogwandler als unterschiedliche Spannung zu messen. Damit nich jeder das Rad neu erfinden muss, wird zum ASURO eine Bibliothek von sinnvollen und nützlichen Funktionen geliefert. Eine davon heist PollSwitch(). Diese liefert dir dann für jeden betätigten Taster einen vordefinierten Wert.
Als Beispiel einen Ausschnitt aus dem Selbstest des ASURO. Du kannst hier sehen wie jeder Taster eine andere Aktion auslöst.
Zu deiner Frage ob sich auch noch zusätzliche Taster parallel zu den vorhandenen anbringen lassen - im Prinzip JA (aber warum). Du hast halt keine Möglichkeit festzustellen, ob der Orginal oder dein zusatz Taster betätigt wurde.
/* ----- Switch Test ---- */
/* K1 -> Status LED Green */
/* K2 -> Status LED RED */
/* K3 -> Line LED */
/* K4 -> Break LED Left */
/* K5 -> Break LED Rigth */
/* K6 -> Motor Left */
/* ---------------------- */
void SwitchTest(void)
{
unsigned char sw,tmp;
MotorDir(FWD,BREAK);
sw = PollSwitch();
StatusLED(OFF);
FrontLED(OFF);
BackLED(OFF,OFF);
MotorSpeed(0,0);
tmp = 0;
if (sw & 0x01) MotorSpeed(200,0);
if (sw & 0x02) {
BackLED(OFF,ON);
tmp = ON;
}
if (sw & 0x04) BackLED(ON,tmp);
if (sw & 0x08) FrontLED(ON);
if (sw & 0x10) RED_LED_ON;
if (sw & 0x20) GREEN_LED_ON;
}
/* END Switch Test ------------------------------ *
Ah, ich danke dir, genau dass wollte ich wissen O:) .
Bin mal gespannt auf den Asuro (wird best. Samstag oder Montag geliefert). :cheesy:
Hab mich vergessen anzumelden. Dieses Problem mit den Tastern wäre somit in der Theorie gelöst.
Ich danke euch, mein Hobby kann beginnen :-)
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.