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: keyboard, A/D ports, ect. Kategorie: Programmierung Basic (von Peter Grzeschik - 30.04.2008 8:23)
 Als Antwort auf keyboard, A/D ports, ect. von Markus - 29.04.2008 14:33
Peter Grzeschik nutzt:  CC1-Unit V1.1
> Hi, beschäftige mich jetzt wieder mit dem nervenzerfezenden c-control.
>
> zu erst, bin blutiger anfänger.
>
> wer kann mir ein beispiel geben, wie ich mit der 10er tastatur ein programm aufrufe,zb:
>
> taste "1"
> relais 1,2,4,6,8 zieht an,
>
> taste "2"
> relais 1,3,5,7, zieht an
>

Hi Markus,

hier findest Du ein Beispiel zur Auswertung einer 12er Tastatur. ( z.B. 4 x 3 Tasten Folientastatur )
Die Tastatur bildet einen Spannungsteiler der bei Tastenbetätigung untersschiedliche Spannungen abgreift. Die Vergleichswerte dieser Spannungen liegen in der Tabelle.

Du musst also einen Spannungsteieler aus 12 gleichen Widerständen von 3.3 Kilo-Ohm mit der Tastatur verbinden. Zur Erkennung das keine Taste gedrückt ist benötigst Du nich einen Widerstand von 560 Kilo-Ohm von +5V zum A/D-Port. Es geht auch mit anderen Widerstandswerten, damm musst Du aber die Werte in der Tabelle anpassen.

Beachte bitte das in diesem Beispiel nur eine Printausgabe bei Tastenbetätigung erfolgt. Am einfachsten ersetzt Du diese Zeile duch eine Sprunganweisung ( ON VAR GOSUB ) in Unterprogramme. Von dort aus schaltest Du dann die Relais.


' --- Definitions --------------------

define Analog         AD[8] ' Inputport
define Eingabe     byte[1] ' Input
define Vergleich   byte[2] ' reference
define Taste        byte[3] ' Button
define Alt            byte[4] ' Old Value
define N              byte[5] ' Counter

' --- Program Operationen ------

Alt = 0: Taste = 0

#Loop
 Taste = 0
 Eingabe = Analog
 for N = 0 to 11
  looktab Spannungen, N, Vergleich
  if abs(Eingabe-Vergleich)<3 then Taste=N+1
 next

 if Taste = Alt then goto Loop
 Alt = Taste
 if Taste = 0 then goto Loop
 print Taste-1 ' HIER SPRUNG IN UNTERPROGRAMME ZUM SCHALTEN DER RELAIS
goto Loop

table Spannungen
  152 173 90 0 193
  111 23 214 132 46
  68 235
tabend

Gruss, Peter

 Antwort schreiben

Bisherige Antworten:

Re: keyboard, A/D ports, ect. (von Markus - 2.05.2008 19:30)
    Re: keyboard, A/D ports, ect. (von Markus - 6.05.2008 15:46)
        Re: keyboard, A/D ports, ect. (von ManfredW - 6.05.2008 21:20)