Archiv verlassen und diese Seite im Standarddesign anzeigen : PS\2 Tastatur
Elektronik303
17.03.2007, 19:52
Hi,
Ich hab schon ne Weile darüber nachgedacht, aber ist es möglich eine normale PS\2 Tastatur über einen AVR auszulesen?
Ich habe schon danach gesucht und Pinbelegungen usw. gefunden, nur wie man es jetzt anschließt und vor allen Dingen wie man es programmiert (Bascom) weiß ich noch nicht so richtig :-k
Hat jemand Erfahrungen damit und würde es ohne viel weitere Hardware funktionieren?
Mfg
Elektronik303
Und wieder hilft die Hilfe in Bascom.
Such mal mit "ps2" da findest du gleich alles nötige auf einen haufen.
Dazu bei den Samples nach "ATKBD.bas" Ausschau halten ;)
Ich meine, dass dazu auch etwas in der BASCOM-Hilfe steht.
Durchsuche mal die "Config" Befehle.
Die Auswertung ist recht einfach.
In irgendeinem Buch zu den AVRs ist das auch nochmal erklärt. Ich weiß nur gerade nicht, welches es war.
jon
EDIT: *g* mal wieder zu lange zum Schreiben gebraucht *g*
EDIT²: Verwendest du überhaupt BASCOM??
Elektronik303
17.03.2007, 20:04
Joa, da hatte ich schon reingeschaut, also wenn ich das da richtig verstehe muss ich die Pins von der Tastatur nur mit dem Prozessor verbinden, nur das konnte ich nicht so richtig glauben ^^
Du hast es richtig verstanden. Ist ganz einfach!!
jon
Elektronik303
17.03.2007, 20:15
So, also angelötet hab ichs jetzt, mal gucken ob ichs hinkrieg :-k
Was für einen µC verwendest du und an welche Pins hast du die Tastatur angeschlossen?
Ich habe bei mir einen Code gefunden. Den könnte ich noch schnell anpassen und dir dann schicken.
jon
Ich habe den Code von Klaus Kühnel gefunden.
Man kann hier (http://www.ckuehnel.ch/) (unter Mikrocontroller --> AVR) einen ganzen Zip-Ordner (Programmbeispiele zum Buch) runterladen. Die Datei, die du brauchst heißt "ATKBD.BAS". Da brauchst du nichts extra zu kaufen.
jon
Elektronik303
17.03.2007, 21:14
Ok, also ich hab die Tastatur angeschlossen und ein wenig geraten ^^ Wegen den Leitungsfarben... Ich hab das Kabel abisoliert und mir gedacht Rot muss +5V sein, Weiß GND, dann warn da noch Grün und Blau, einer von beiden musste Clock sein, nur welcher? Dann hab ich mir gedacht dass ich ja zwei mal INT hab (INT0 und INT1) einfach den Grünen an INT0(PD2) und den Blaun an INT1(PD3). Dann hab ich in dem Code die ganzen "print" mit "lcd" ausgewechselt (hab ein 16*2 Display dran). Das hab ich übetragen aber geklappt hats nicht... Dann hab ich im Code das PD2 und PD3 getauscht... klappt aber auch nicht... Hier mal mein Momentaner Code:
$lib "lcd4busy.lbx"
$regfile = "attiny2313.dat" ' ATmega8
$crystal = 4000000 ' für STK500
$baud = 19200
Config Lcd = 16 * 2 'wir verwenden ein 4 x 20 Zeichen Display
Const _lcdport = Portb
Const _lcdddr = Ddrb
Const _lcdin = Pinb
Const _lcd_e = 1
Const _lcd_rw = 2
Const _lcd_rs = 3
Waitms 100
Initlcd
Cls
Cursor Off Noblink
Config Keyboard = Pind.3 , Data = Pind.2 , Keydata = Keydata
Dim B As Byte
Lcd "Eingabetest"
Do
B = Getatkbd() ' Abfrage der Tastatur
If B > 0 Then
Lcd B
End If
Loop
End
Keydata:
' Shift-Taste nicht gedrückt
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
' Shift-Taste gedrückt
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
Woran liegts???
Raten ist nicht nötig.
Schau mal in eines der vielen Kabel-Faq's im Web da findest du die Belegung.
Ein Multimetr oder ein einfacher Durchgangsprüfer hilft beim Selektieren.
Null Plan, warum es nicht geht. Du kannst beliebige Pins den µCs verwenden. Daran sollte es also nicht liegen.
Mehr fällt mir gerade nicht ein.
jon
Elektronik303
17.03.2007, 21:39
Ich find irgendwie keine Seite auf der die Farben von den einzelnen Pins gezeigt werden, nur die Buchse und der Stecker werden gezeigt, nicht aber die Farben... An irgendwas muss es ja liegen...
EDIT: Ok, das Rot ist etwas orange, könnte es daran liegen? Hab grad die Tastatur aufgeschraubt, aber durch die Platine steigt keiner durch...
Hast du vielleicht eine XT-Tastatur?
jon
Ich find irgendwie keine Seite auf der die Farben von den einzelnen Pins gezeigt werden, nur die Buchse und der Stecker werden gezeigt, nicht aber die Farben... An irgendwas muss es ja liegen...
Die Farben werden dir nicht viel bringen weil sie nicht genormt sind.
Da macht jeder Hersteller was er will wenn er möchte.
Das einzig Sichere ist das Durchmessen.
Wie gesagt,nimm nen Multimeter oder bastel dir eben einen Durchgangsprüfer.
Elektronik303
17.03.2007, 21:53
Nö, also hinten drauf steht "Standart PS2 Keyboard". Kann es vllt. sein das Blau Vcc ist? Weil da auf der Platine ne Diode von Blau zum Controller geht, bei Weiß bin ich mir auch zu 90% sicher, weil das Kabel von weiß geht auch direkt zum Controller
Probieren geht über studieren ;)
jon
Nö, also hinten drauf steht "Standart PS2 Keyboard".
Ja,das bezieht sich auf den Anschluss,Belegung der Tasten usw. aber welche Farben die Adern haben ist nirgends beschrieben.
Wie Jon schon sagte
"Probiers !"
aber mecker hinterher nicht rum wenn du dir dabei den Tastaturcontroller frittierst ;)
Elektronik303
17.03.2007, 22:11
Funktioniert immernoch nicht... ich mach da Jetzt Lüsterklemmen drann und schraub alles überall mal hin ^^
linux_80
17.03.2007, 23:04
Hallo,
Vcc und Gnd solltest du als erstes finden,
das lässt sich leicht herausfinden, denn da blinken kurz die LEDs auf, dann ist die Hälfte schon geschafft.
Hast Du denn den Stecker nicht mehr, da könntest du die Pins herausmessen und die Farben zuordnen ?!
martinheidelberg
17.03.2007, 23:09
Hi
Mal ne Frage.......Um eine PS/2 Tastatur am dsPIC30f4013 anzuschließen braucht man auch nichts zusätzliches ?? Und wie sieht das Keyboard protokoll bei PS/2 aus ???
Martin
vklaffehn
17.03.2007, 23:13
steht alles sehr schön hier :
http://de.wikipedia.org/wiki/PS/2-Schnittstelle
martinheidelberg
17.03.2007, 23:20
Oh.....da hatte ich geschaut.....komisch......wohl vor lauter Bäumen den Wald nicht gesehen...... :-) .
Danke....
Gruß Martin
Lemonsquash
17.03.2007, 23:37
Wenn du den Stecker abgeschnitten hast, isolier doch einfach
das Kabelende am Stecker ab, kuck nach den farben (Blau -> Blau usw.)
Und dann checkst du einfach nur die Steckerbelegung. Schon weißt du welche Farbe was ist.
Und wenn du es geschafft hast, sag bitte bescheid, mich würde es auch interessieren ;)
Danke und Mfg.
Lemon
Elektronik303
17.03.2007, 23:41
Ich entäusch dich nur ungern aber der Stecker existiert nicht mehr :-( . Aber falls du es rauskriegst, mich interresiert es auch ;-) Habs leider noch nicht raus...
Lemonsquash
17.03.2007, 23:45
:D
Ich habs mal mit ner AT-Tastatur geschafft, allerdings mit den 8085.
Nur mal so aus Interesse: Wofür möchtest du das eingentlich machen? Nur so, zum spaß und lernen oder willst du damit was steuern?
Elektronik303
17.03.2007, 23:50
Beides ^^ Also Vcc und GND gehen, Lampen leuchten. Ich hab jetzt Weiß als GND und Blau als Vcc. So, jetzt klappts aber trotzdem nicht... Egal wie ich Grün und Orange tausche, nie passiert was
Was ?
du eierst immernoch mit der Belegung herum ?
Tssssss,bloß keinen Tip annehmen. ](*,) ;)
Elektronik303
18.03.2007, 00:00
Ja ich hab schon danach gesucht, aber ich find im Netz erstmal nichts, und den Stecker hab ich nicht also fällt prüfen weg. Ich hab ne E-Mail zu Labtec geschickt (Die Hersteller der Tastatur) und nach der Belegung gefragt, aber ob die mir die sagen... Naja ;-)
Lemonsquash
18.03.2007, 00:05
Mit den 2 verbliebenen leitungen hast du ja auch nicht allzuviele Möglichkeiten, was was sein kann. Kannst du eine Typnummer auf dem Steuerchip erkennen? Dann könntest du anhand dessen Datenblatt rausfinden, welches Kabel was ist.
Und wenns auch mit der richtigen Belegung nicht funktioniert, ist entweder ein Fehler in deinen Programm oder du hast die falschen Pins am AVR belegt.
Möglich wär auch, das es ein Problem mit der Taktung gibt. Check das auch mal.
Ja ich hab schon danach gesucht, aber ich find im Netz erstmal nichts,
Hä ?
Stoppuhr gestartet
Neuer Tab im Browser geöffnet
"www.google.de" eingegeben
In Google "kabel faq" eingegeben
Bingo ! Erster link gleich ein Treffer und angeklickt.
Auf "PC-Keyboard......" geklickt.
Fertig.
Stoppuhr angehalten: Die Zwiebel sagt 15,99 Sekunden.
Noch Fragen ? ;)
Lemonsquash
18.03.2007, 00:12
ja, wie lange hat der PC gebraucht um den neuen tab zu öffnen und mit welchem Browser? \:D/
Elektronik303
18.03.2007, 00:15
Nja soweit bin ich auch schon gekommen, diese Zeichnungen hab ich an diesem Tag schon mindestens 30 mal gesehen. Nur wegen den Farben, aber da hatten wir ja schon festgestellt das die nicht genormt sind, deshalb hab ich speziell für meine Tastatur gesucht, aber da find ich halt nichts mit Farben... :-(
@Jon: bei dir hat sowas doch schonmal funktioniert, könntest du mir mal deinen Code zeigen, vllt. liegst ja daran...
@Lemonsquash: Welche Taktung meinst du?
Lemonsquash
18.03.2007, 00:20
vergiss doch endlich mal die farben. Du hast nur noch 2 möglichkeiten an kabeln, wenn du vcc und gnd schon gefunden hast. Die kannst du nach belieben durchprobieren.
Mit Taktung mein ich, dass der Tastaturtreiber-IC vllt. nur mit nem ganz bestimmten Takt richtig arbeitet, den er möglicherweise nicht bekommt.
Das kann an einem nicht ganz richtig arbeitenden Timer liegen (der ja auf den korrekten Quarz / Oszi angewiesen ist)
Wenn es trotz richtiger belegung nicht funktioniert (woran merkst du das eingentlich ?), liegt dein Problem wo anders.
Aber ich würds erst morgen wieder probieren und ne nacht drüber schlafen. Mit etwas abstand zu der sache findest du das problem vllt. auch besser ;)
Mfg.
Lemon
Elektronik303
18.03.2007, 00:24
Schlafen ist nicht produktiv ;-)
Ich hab diesen:
$lib "lcd4busy.lbx"
$regfile = "attiny2313.dat"
$crystal = 4000000
$baud = 19200
Config Lcd = 16 * 2
Const _lcdport = Portb
Const _lcdddr = Ddrb
Const _lcdin = Pinb
Const _lcd_e = 1
Const _lcd_rw = 2
Const _lcd_rs = 3
Waitms 100
Initlcd
Cls
Cursor Off Noblink
Config Keyboard = Pind.2 , Data = Pind.3 , Keydata = Keydata
Dim B As Byte
Lcd ">"
Do
B = Getatkbd() ' Abfrage der Tastatur
If B > 0 Then
Cls
Lcd B
End If
Loop
End
Keydata:
' Shift-Taste nicht gedrückt
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , &H5E , 0
Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 7 , 8 , 44 , 109 , 106 , 117 , 55 , 56 , 0
Data 0 , 44 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 45 , 108 , 48 , 112 , 43 , 0
Data 0 , 0 , 0 , 0 , 0 , 92 , 0 , 0 , 0 , 0 , 13 , 0 , 0 , 92 , 0 , 0
Data 0 , 60 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
' Shift-Taste gedrückt
Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 34 , 0
Data 0 , 67 , 88 , 68 , 69 , 0 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
Data 0 , 78 , 66 , 72 , 71 , 89 , 38 , 0 , 0 , 76 , 77 , 74 , 85 , 47 , 40 , 0
Data 0 , 59 , 75 , 73 , 79 , 61 , 41 , 0 , 0 , 58 , 95 , 76 , 48 , 80 , 63 , 0
Data 0 , 0 , 0 , 0 , 0 , 96 , 0 , 0 , 0 , 0 , 13 , 94 , 0 , 42 , 0 , 0
Data 0 , 62 , 0 , 0 , 0 , 8 , 0 , 0 , 49 , 0 , 52 , 55 , 0 , 0 , 0 , 0
Data 48 , 44 , 50 , 53 , 54 , 56 , 0 , 0 , 0 , 43 , 51 , 45 , 42 , 57 , 0 , 0
Code, theoretisch müsste doch auf dem Display eine Zahl(je nach dem welcher Buchstabe) auftauchen, tuts aber nicht...
Lemonsquash
18.03.2007, 00:26
wird auf dem lcd das ">" angezeigt?
Elektronik303
18.03.2007, 00:27
Jo, also das mit dem Display klappt alles ohne Probleme, kann ich prima ansteuern.
Lemonsquash
18.03.2007, 00:29
schon mal mit ner anderen tastatur ausprobiert?
Elektronik303
18.03.2007, 00:30
Nö, ich denke mal die jetzige wird funktionieren, sie leuchet ja immer grün auf wenn ich Strom anlege
ja, wie lange hat der PC gebraucht um den neuen tab zu öffnen und mit welchem Browser? \:D/
Firefox 1.5.0.10
0.137 Sekunden :-({|=
@Elektronik303
Nja soweit bin ich auch schon gekommen, diese Zeichnungen hab ich an diesem Tag schon mindestens 30 mal gesehen. Nur wegen den Farben, aber da hatten wir ja schon festgestellt das die nicht genormt sind, deshalb hab ich speziell für meine Tastatur gesucht, aber da find ich halt nichts mit Farben...
Ja,wie Lemonsquash schon sagte,trenn dich endlich mal von deinen Farben.
Klingels einfach aus und dann hast du die Belegung.
Wenn du allerdings schon fleissig rumprobiert hast kann es schon passiert sein das du den Controller in der Tastatur geschossen hast aber davor hab ich dich ja schon gewarnt.
Lemonsquash
18.03.2007, 00:32
Naja, das heißt ja noch nicht, dass sie auch wirklich funktioniert :P
Ich auf jeden Fall geh jetzt schon mal in die Kiste. Wenn dein Problem morgen noch besteht, können wir dann ja schaun ob wir es hinkriegen :)
Mfg. und gute Nacht allerseits,
Lemon
Elektronik303
18.03.2007, 00:33
@ratber:Ja, nur theoretisch müsste die kleine grüne Kontrolllampe dann ja nicht kurz angehen wenn ich Strom drauf packe, weil die ist ja an den Controller angeschlossen
Nicht unbedingt.
Ein teil meiner Tastaturen gibt beim Einschalten erstmal keinen Pieps von sich.
Danach kann man eben nicht gehen.
Elektronik303
18.03.2007, 00:46
Hmm dann werd ichs mal mit einer anderen probieren
vklaffehn
18.03.2007, 00:55
@Elektronik303: Was den Takt angeht, den macht die Tastatur selber, so wie ich das bei Wikipedia verstehe, und die Leitungen sind Open Collector, benötigen also Pull Up Widerstände, dran gedacht? Und wenn man Data und CLK gleichzeitig auf GND legt, sollte die Tastatur einen Reset machen, also sollten da evtl. LED's blinken. Sind beide Leitungen High, und man drückt eine Taste, sollte die CLK Leitung so mit 10 bis 16 KHz ticken, hast Du ein passendes Messgerät?
Hallo,
wenn mit den Anschlüssen alles geklappt hat: Zur Funktion in BASCOM gibt es im Buch von C.Kühnelt (2.Auflage) ein Demoprogramm zum Auslesen der Tastatur, das gibt es -glaube ich- auch als Download von der Kühnelt-Homepage. Damit man dann auch etwas von der Bastelei hat ..
Gruss ..
Elektronik303
18.03.2007, 11:23
Ne, Messgerät hab ich leider nicht dafür. Die Pull Up Wiederstände... Gehen da auch die AVR Internen? Ich denke mal ja nur wie?
Lemonsquash
18.03.2007, 12:13
@vklaffehn: Danke für diese Info, nach was hast du denn da bei wiki gesucht (ps/2, tastatur ... ? )
@Elektronik303: Wie gesagt, versuch mal, rauszukriegen welcher controller auf der Tastatur drauf ist und besorg dir das Datenblatt. Vllt. findest du darin noch spezielle Infos...
Elektronik303
18.03.2007, 12:22
Wo müsste der den drauf stehen? Auf der Platine in der Tastatur?
vklaffehn
18.03.2007, 12:24
@Lemonsquash: Ich hab gemogelt und nach 'PS2 Tastatur Protokoll' bei Google gesucht, und da war dann ein Link zu Wikipedia ;-)
@Elektronik303: Keine Ahnung, ob die internen OK sind, empfohlen werden 4,7KOhm, die internen sind glaube ich deutlich größer. Hast Du ein einfaches Spannungsmessgerät? Wenn die Tastatur Strom kriegt, sollten die beiden anderen Leitungen am Controller auf 5V liegen. Und der Controllertyp sollte auf dem Controller selber stehen, früher waren das mal 8042 oder so.....
Lemonsquash
18.03.2007, 12:29
@vklaffehn: Ah ja, danke.
@Elektorinik303: Genau. Der steht direkt auf dem Controller selbst (dieses kleine schwarze ding da auf der Platine in der Tastatur :P )
Vieleicht steht in dem Datenblatt, welche pullups du benötigst. Das kann nämlich durchaus das Problem sein.
Versuchs mal mit den Internen. Mehr als schiefgehen kanns ja nicht ;)
Elektronik303
18.03.2007, 12:45
Also aufm Controller steht nichts drauf aber auf der Platine steht:
94HB YS-1
E190407
WS 05 1009
NEPCKB8500924
931124
VER1.1
(alles in unterschiedlichen Zeilen)
Was davon ist jetzt der Controller?
Lunarman
18.03.2007, 12:53
ööh... nun, weiß ich nicht. Aber ich nehme zumindest an dass wir VER1.1 und
NEPCKB8500924 ausschließen können. Ich nehme an, dass VER1.1 die Softwareversion oder sonstige Version is und NEPCKB8500924 die Seriennummer von der tasta.
Elektronik303
18.03.2007, 12:58
tjoa, das nehm ich auch an, nur ich hab mir grad mal überlegt wie die das in den PCs machen, wegen den PullUps, wenn jede Tastatur unterschiedliche hätte dürfte das doch auch ein Problem sein, oder?
Elektronik303
18.03.2007, 13:25
So, hab jetzt ne andere Genommen und voilà es geht! Danke an alle die mir geholfen haben, muss wohl an der Tasta gelegen haben! Ich hab nur noch eine Frage, wie kann ich die Zahl die mir das Gerät jetzt gibt (ASCII Code) in ein Buchstaben verwandeln?
@Lemonsquash: Du wolltest wissen welche Farbe was ist: Ich hab jetzt Gelb als Gnd Rot als Vcc Weiß als Data und Grün als Clock.
vklaffehn
18.03.2007, 13:27
Hallo!
Shön, das es jetzt geht! Zum auswerten such mal nach Scancode, steht glaube ich auch irgendwo im Wikipediaartikel was drüber drin.
Die Tastatur liefert nämlich kein ASCII, sondern eben diese Scancodes....
Elektronik303
18.03.2007, 13:31
Ja, die mein ich ja ^^ Also ob es ein Befehl gibt der mir den Scancode zu einem Zeichen macht
EDIT: hab schon gefunden, CHR
Noch einmal danke an alle, ihr seid Klasse =D>
Hättest du mal einen Rat angenommen dann wärst du schon gestern fertig geworden !
PS:
Das konnte ich mir jetzt echt nicht verkneifen ;) :lol:
Lemonsquash
18.03.2007, 13:58
cool das es geht.
Dann viel spaß damit und wenn was anständiges dabei herauskommt, kannst es ja mal hier bei den Projekten vorstellen :D
Mfg.
Lemon
Elektronik303
18.03.2007, 14:20
Werd ich tun ^^
@ratber: ich hab die neue Tasta erst heute gekriegt ;-)
Ich hab nochmal eine Frage, wie kann ich einem String einen Weiteren String hinten anfügen?
Lemonsquash
18.03.2007, 14:41
Variable = variable + 2te variable
Elektronik303
18.03.2007, 14:51
Ups geht ja einfacher als ich dachte ^^ in meiner alten Prog. Sprache brauchte man einen extra Befehl
@Edit: Jetzt aber endgültig die letzte Frage: Von einem String das hinterste Zeichen entfernen? Weil String=String-1 geht nicht
Lunarman
18.03.2007, 18:38
Kein plan, aber dazu hätte ich ne Frage - kann man auch jedes Zeichen eines Strings einzeln einlesen? Denn dann könnte man ja theoretisch alle Zeichen einlesen und dann den String ohne das letzte Zeichen neu schreiben...
Lemonsquash
18.03.2007, 18:40
weiß nicht ob das auch bei BASCOM funktioniert, aber such mal in der hilfe nach "split" (ohne die Gänsefüßchen, natürlich)
Hallo,
Teile von Strings kann man mit den Befehlen Left, Right bzw, Mid ausschneiden. In der BAscom- Hilfe gibt's Beispiele ...
Gruß
Elektronik303
18.03.2007, 19:57
Noch einmal Danke! Jetzt geht bereits alles wie's soll!
martinheidelberg
02.04.2007, 12:26
Hi
Nochmal ne Frage: ich will meine Schaltung mit 3,3 Volt laufen lassen. Funktioniert da eine Tastatur einwandfrei ?
Die Tastaturen sind auf 5Volt ausgelegt. Ob die bei 3,3Volt noch geht liegt an dem IC, der in der Tastatur verwendet wird. Aber ich denke, dass es noch gehen sollte.
jon
martinheidelberg
02.04.2007, 13:11
Hi
Ok Danke....
ich probiers mal....
hast du vielleicht ein Datenblatt von so einem controller ??
Martin
Elektronik303
02.04.2007, 13:28
Ne, bestimmt nicht, weil am PS/2 Port am PC kommen doch auch immer 5 Volt an also da seh ich schwarz für dich
martinheidelberg
02.04.2007, 13:37
Na toll.....wie kann ich die Signale von 5 auf 3 und umgekehrt wandeln ??
Martin
Elektronik303
02.04.2007, 13:42
Am besten wäre natürlich die Schaltung gleich auf 5Volt laufen zu lassen
Geht aber wegen der SD-Card nicht. Wie man die Signale von 5 auf 3 und umgekehrt wandeln kann weiß ich nicht.
Aber ich würde mal die Tastatur öffnen und nachschauen, was da für ein IC verwendet wird und dann nach einem Datenblatt suchen. Vielleicht reichen 3,3Volt.
jon
Oder aber du nimmst ein CD4010, die haben 6 nicht invertierende Pegelwandler drinnen. Danach musst du nur noch die 3,3V für den VCC Zweig des Chips, aber den musst du sowieso für die SD-Karte auch haben.
Den Chip könntest du auch benutzten um die 3,3V deiner Schaltung auf die 5V der Tastatur zu bringen, aber ich würde dir empfehlen das bei der SD-Karte zu machen, weil du da nur Leitungen in eine Richtung hast, wärend aber die PS2-Leitungen immer Open-Collector sind (zumindest die Datenleitungen).
MfG
Mobius
martinheidelberg
02.04.2007, 19:24
HI
Ich könnte die Schaltung auf 5 Volt laufen lassen...nur die sd-card verträgt keine 5 Volt.....oder ???
Martin
PS: Ich poste mal nen Schaltplan von Eagle
martinheidelberg
03.04.2007, 11:39
Hi
Ich lass die Schaltung jetzt doch auf 5 Volt laufen. Brauche ich nur den Pegelwandler für die SD-karte da diese 3,3 Volt braucht. Alle anderen Chips haben 3,3 Volt tolerante Eingänge. Die Ausgänge lass ich mit dem Chip hct-irgendwas.....hab ich im i-net gefunden von 3 auf 5 Volt umwandeln.
Martin
martinheidelberg
03.04.2007, 18:35
Hier ist der Schaltplan....schaut mal bitte ob das Gatter so richtig eingebaut ist. Danke
-) Was den CD4010er angeht, der Anschluss passt. Einzig die Eingänge der unbenutzten Gatter würde ich auf GND ziehen (das gilt auch für die Eingänge des 74hct125) und sowohl diesem, wie auch allen Chips mindestens einen 100nF Entstör-Kondensator an dessen Versorgungsspannung anlegen (und dann beim Board diesen so nahe wie möglich beim IC platzieren). Bei dem PIC würde ich auch noch ein 10µF Elko hinpappen.
-) Dann, dem 3,3V-Spannungsregler fehlen irgendwie auch die beiden Kondensatorpaare an dem Ein- und Ausgang. Die genauen Werte, welche diese annehmen sollten, kannst du in dem jeweiligen Datenblatt nachlesen (generell sind es 10 am Eingang und 100nF am Ausgang). Aja, pass auf, dass der Regler ein Low-Drop-Regler ist, ansonsten brauchst du mindestens 2v Spannungsunterschied zwischen Vin und Vout, damit der Regler anfängt irgendwie zu regeln. Auch ist eine Diode zwischen Vin und Vout zu empfehlen (Vin o---|<---o Vout), damit dein Regler nicht kreppiert, wenn die Versorgungsspannung am Eingang plötzlich zusammenbricht und deshalb am Ausgang mehr Spannung anliegt, wie am Eingang.
-) Bei der Einspeisung der 5V solltest du Shottky-Dioden verwenden, da du ansonsten ~1,4V durch die Flussspannung der Dioden verlierst. Wahlweise wäre es interessant nur eine Diode für den Verpolungsschutz zu nehmen, oder aber den Stecker so zu wählen, dass man diesen unmöglich verpolt anschließen kann.
-) Meiner Meinung nach, kannst du dir eines der Ocscillatoren sparen, indem du beide ICs mit dem gleichen Takt versorgst. Müsste gehen, vor allem, wenn die Beiden nahe beeinander liegen, aber, wenn du ganz sicher gehen willst, nimm 2 unbenutzte 125er und schalte sie in die beiden Leitungen hinein. Und auch diese Leitungen auf der Platine so kurz wie möglich halten und am Besten noch schauen, dass du GND-Planes drumherum für die Abschirmung hinbekommst.
Ansonsten wäre es wegen der Lesbarkeit noch zu Empfehlen, wenn du Symbole für Vcc und GND verwenden würdest (unter eagle liblary --> supply1/supply2). Dann muss man zumindest keine Linienverfolgung über die gesamte Zeichnung machen :).
MfG
Mobius
martinheidelberg
05.04.2007, 14:40
Hi
Vielen Dank für die ganzen Tips und das du dich mit dem Schaltplan befasst hast. Ich werde die Kondensatoren und Dioden noch einbauen. Danke
Gruß Martin
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.