Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Re: Station 2.0 Keyboard ist Crap Kategorie: C-Control I V1.2/2.0 (von Olli - 9.03.2006 20:56)
 Als Antwort auf Re: Station 2.0 Keyboard ist Crap von DIE HARD - 9.03.2006 12:18
Olli nutzt:  CC1-Station V2.0
> Weisst du, das Teil macht zwei Wandlungen DAMIT der Benutzer hochohmige Quellen an den
> ADC anschliessen kann. Z.B. über einen Vorwiderwstand als Schutz gegen Überspannung.
> Aber du hast ja sooo  recht, alles unsinnig und fehlerhaft.

Hallo Die Hard,

da Du offensichtlich nur diese Sprache verstehst, habe ich weiter unten mal das offizielle Beispiel "GET_KEYBOARD_VALUES.bas" eingefügt, welches ich naheliegenderweise zum Auslesen der Tastaturwerte verwenden wollte. Dieses Beispiel produziert Zufallswerte, deren Streuung beim Drücken einer Taste größer ist, als der Abstand der nominalen Scancodes zweier benachbarter Tasten.

Das hat mich dazu veranlasst, zu behaupten, das Keyboard der Station ist Mist. Dieses habe ich durch Verweis auf das Design der Schaltung, auf das Datenblatt, sowie auf die von mir implementierte Abhilfe untermauert. Was braucht es mehr ?

Wundert es Dich da, dass mich die folgenden der untenstehenden Kommentarzeilen nunmehr zum Schmunzeln anregen: Diese Beispiele beschränken sich auf die speziellen Resourcen der Station und sind in erster Linie gedacht, dem Anwender die Funktionsfähigkeit der Station zu demonstrieren. Quo errat demonstrator, kann man da nur sagen :-)

Was immer Du mit "das Teil macht zwei Wandlungen" in diesem Kontext meinst, ich habe keine Überspannungen an meiner Tastatur und erwarte mithin, dass letztere einfach nur funktioniert, und zwar in einer Weise, die aus der mitgelieferten Doku hervorgeht.

Dass dem nicht so ist, veranlasst mich ferner zu der unumstößlichen Aussage, dass ich mir bei meinem nächsten Controller-Projekt eine RN-Control für 50 Euro statt einer C-Control für 150 Euro kaufen werde. Da weiß ich von vorne herein, dass ich ein bisschen basteln muss und kann ohne menschgemachte Probleme in Assembler oder in C programmieren, und, und, und,...

Mitfühlende Grüße,
Olli


'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'III           DEMO ZUM BASIC-COMPUTER UNIT  STATION            IIIII
'IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
'--------------------------------------------------------------------
' ANWENDUNG:                ADC8 WERTE FÜR DIE TASTATUR DER STATION
'--------------------------------------------------------------------
' Beispiel zum BASIC COMPUTER UNIT STATION
' Diese Beispiele beschränken sich auf die speziellen Resourcen der
' Station und sind in erster Linie gedacht, dem Anwender die Funktions-
' fähigkeit der Station zu demonstrieren.
' Beispiele zur Sprache CCBASIC und zum Zubehör (soweit zur STATION
' passend) finden Sie im Ordner UNIT_M2.0_M1.2.
' Diese Beispiele sind auch auf der UNIT STATION uneingeschränkt
' lauffähig.
'--------------------------------------------------------------------
' Ein kleines Tool um die Zu jeder Taste gehörigen ADC-Werte, Tabellenwerte
' und decodierte Taste auszugeben.
'
' Die Tastatur ist an den ADC8 angeschlossen. Dieser liefert je nachdem
' welche Taste gedrückt ist, einenaAnderen Wert, der aber eindeutig einer
' Taste zugeordnet werden kann. Je nach Streueung der Widerstandswerte
' sind zwischen den Werten für die einzelnen Tasten ungefähr 17 Digits
' und Sie werden etwa folgende Werte bekommen:

' TASTE        ADC8 WERT    TASTENCODE
' KEINE        <10            255
' 0            17             0
' 1            33             1
' 2            50             2
' 3            66             3
' 4            82             4
' 5            98             5
' 6           114             6
' 7           130             7
' 8           147             8
' 9           164             9
' CLR         181             10
' ENTER       199             11
' F1          218             12
' F2          236             13
'
' Sie können das Unterprogramm als Tastaturdecoder in Ihren eigenen
' Programmen verwenden. Es liefert den Tastencode in der Variablen
' KEYCODE zurück.
' Bekommen Sie bei Ihrem Applicationboard falsche Tastenwerte, so
' Passen Sie bitte den zur jeweiligen Taste gehörenden Sollwertwert an
' den ADC Wert an.
'
'

'-----------------------------------------------------------------------

'--------------------------
'------ I/O PORTS ---------
'--------------------------
define ADC8           ad[8]
define LIGHT       port[16]
'--------------------------
'---- SYSTEM MEMORY -------
'--------------------------
define KEYCODE      byte[1]'DECODIERTE TSTE
define VALUE        byte[2]'GELESENER TABELLENWERT

#INIT
LIGHT=off
'----UMLEITUNG DER PRINT-FUNKTION AUF DAS LCD -----
print"#ON_LCD#";
print"#INIT#";
print"KEY-DECODER";
pause 50
'--------------------------------------------------------------------
'             ANZEIGE VON TASTENWERT UND DECODIERTER TASTE
'--------------------------------------------------------------------
#LOOP
pause 5
gosub KEYDECODE
print"#L101#";
print"AD8:";:print ADC8;
print"        ";
print"#L110#";
print"#L201#";
print"KEYCODE:";:print KEYCODE;
print"     ";
goto LOOP

'--------------------------------------------------------------------
'        TASTATURDECODER (RÜCKKEHR MIT TASTENCODE IN KEYCODE)
'--------------------------------------------------------------------
#KEYDECODE
KEYCODE=255:if ADC8<10 then return
KEYCODE=0:if abs(17-ADC8)<5 then return
KEYCODE=1:if abs(33-ADC8)<5 then return
KEYCODE=2:if abs(50-ADC8)<5 then return
KEYCODE=3:if abs(66-ADC8)<5 then return
KEYCODE=4:if abs(82-ADC8)<5 then return
KEYCODE=5:if abs(98-ADC8)<5 then return
KEYCODE=6:if abs(114-ADC8)<5 then return
KEYCODE=7:if abs(130-ADC8)<5 then return
KEYCODE=8:if abs(147-ADC8)<5 then return
KEYCODE=9:if abs(164-ADC8)<5 then return
KEYCODE=10:if abs(181-ADC8)<5 then return'CLR
KEYCODE=11:if abs(199-ADC8)<5 then return'ENTER
KEYCODE=12:if abs(218-ADC8)<5 then return'F1
KEYCODE=13:if abs(236-ADC8)<5 then return'F2
KEYCODE=255:return

 Antwort schreiben

Bisherige Antworten:

Re: Station 2.0 Keyboard ist Crap (von DIE HARD - 10.03.2006 18:30)
    Re: Station 2.0 Keyboard ist Crap (von Olli - 10.03.2006 20:33)
        Re: Station 2.0 Keyboard ist Crap (von DIE HARD - 10.03.2006 21:19)
            Re: Station 2.0 Keyboard ist Crap (von Olli - 11.03.2006 21:12)