(→Weblinks) |
Philn (Diskussion | Beiträge) |
||
(3 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 2: | Zeile 2: | ||
==Vorteile des Adapters== | ==Vorteile des Adapters== | ||
− | Dieser Adapter erleichtert die Verwendung eines sogenannten DIP- | + | Dieser Adapter erleichtert die Verwendung eines sogenannten DIP-LCDs erheblich, denn diese LCDs haben ein etwas ungünstiges Raster und könnten daher nicht mit herkömmlichen Experimentierplatinen genutzt werden. Das LCD wird einfach in den Adapter eingesteckt (oder gelötet) und der Adapter über ein 10 poliges Flachkabel mit dem Controllerboard verbunden. Es kann also alles gesteckt werden. Ein Poti auf der Rückseite der Platine stellt den Kontrast ein. Der Adapter bietet auch die Möglichkeit per Software die Beleuchtung abzuschalten. |
[[Bild:rn_lcd_adapter_hand.gif|framed|center|Display kann auch gesteckt werden.]] | [[Bild:rn_lcd_adapter_hand.gif|framed|center|Display kann auch gesteckt werden.]] | ||
==Einfacher Anschluss über Port B== | ==Einfacher Anschluss über Port B== | ||
− | In unserem Beispiel verwenden wir den Wannenstecker von Port B damit wir keine wichtigen Ports wie I2C, RS232 etc. belegen. Allerdings kann es hier Konflikte geben wenn gleichzeitig der Motortreiber genutzt wird, denn zwei Ports überscheiden sich. Wenn man beides hintereinander nutzt kann man das per Software allerdings schon regeln. | + | In unserem Beispiel verwenden wir den Wannenstecker von Port B, damit wir keine wichtigen Ports wie I2C, RS232 etc. belegen. Allerdings kann es hier Konflikte geben, wenn gleichzeitig der Motortreiber genutzt wird, denn zwei Ports überscheiden sich. Wenn man beides hintereinander nutzt, kann man das per Software allerdings schon regeln. |
[[Bild:rn_lcd_adapter_rncontrol.gif|framed|center|Ein LCD mittels RN-LCDAdapter angeschlossen.]] | [[Bild:rn_lcd_adapter_rncontrol.gif|framed|center|Ein LCD mittels RN-LCDAdapter angeschlossen.]] | ||
Zeile 71: | Zeile 71: | ||
Config Lcd = 20 * 4a , Chipset = Ks077 | Config Lcd = 20 * 4a , Chipset = Ks077 | ||
Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.5 , Rs = Portb.7 | Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.5 , Rs = Portb.7 | ||
− | |||
Initlcd | Initlcd | ||
Zeile 181: | Zeile 180: | ||
End Function | End Function | ||
</pre> | </pre> | ||
− | |||
==Siehe auch== | ==Siehe auch== | ||
Zeile 189: | Zeile 187: | ||
* [[Avr]] | * [[Avr]] | ||
* [[Bascom und LCD's]] | * [[Bascom und LCD's]] | ||
+ | * [[LCD an I2C Huckepack auf RN-Miniplatine]] | ||
==Weblinks== | ==Weblinks== | ||
− | + | ||
* [http://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=341 Anleitung zum RN-LCDAdapter] | * [http://www.roboternetz.de/phpBB2/dload.php?action=file&file_id=341 Anleitung zum RN-LCDAdapter] | ||
Aktuelle Version vom 1. Juli 2012, 17:02 Uhr
Es gibt verschiedene Möglichkeiten um ein LCD an RN-Control anzuschließen. Zwei besonders bequeme stellen entweder das Board RN-KeyLCD oder der Adapter RN-LCDAdapter dar. Dieses Beispiel demonstriert die Verwendung von RN-LCDAdapter.
Inhaltsverzeichnis
Vorteile des Adapters
Dieser Adapter erleichtert die Verwendung eines sogenannten DIP-LCDs erheblich, denn diese LCDs haben ein etwas ungünstiges Raster und könnten daher nicht mit herkömmlichen Experimentierplatinen genutzt werden. Das LCD wird einfach in den Adapter eingesteckt (oder gelötet) und der Adapter über ein 10 poliges Flachkabel mit dem Controllerboard verbunden. Es kann also alles gesteckt werden. Ein Poti auf der Rückseite der Platine stellt den Kontrast ein. Der Adapter bietet auch die Möglichkeit per Software die Beleuchtung abzuschalten.
Einfacher Anschluss über Port B
In unserem Beispiel verwenden wir den Wannenstecker von Port B, damit wir keine wichtigen Ports wie I2C, RS232 etc. belegen. Allerdings kann es hier Konflikte geben, wenn gleichzeitig der Motortreiber genutzt wird, denn zwei Ports überscheiden sich. Wenn man beides hintereinander nutzt, kann man das per Software allerdings schon regeln.
Selbsterklärendes Bascom Beispielprogramm
'################################################### 'Ein LCD EADIP204 mit RN-LCDAdapter an Port B 'von RN-Control angeschlossen 'rnlcdadaptertest.bas ' 'Autor: Frank 'Verwendet wurden: RN-Control & RN-LCDAdapter (robotikhardware.de) 'Weitere Beispiele sind im Roboternetz gerne willkommen! '############################################################## $programmer = 12 'MCS USB (Zeile weglassen wenn anderer Programmer) ' -------------- RN-Control übliche _____________________ Declare Function Tastenabfrage() As Byte $regfile = "m32def.dat" $framesize = 32 $swstack = 32 $hwstack = 64 $crystal = 16000000 'Quarzfrequenz $baud = 9600 Config Scl = Portc.0 'Ports fuer IIC-Bus Config Sda = Portc.1 Config Adc = Single , Prescaler = Auto 'Für Tastenabfrage und Spannungsmessung Config Pina.7 = Input 'Für Tastenabfrage Porta.7 = 1 'Pullup Widerstand ein Dim Taste As Byte Dim Ton As Integer I2cinit Start Adc Sound Portd.7 , 400 , 450 'BEEP Sound Portd.7 , 400 , 250 'BEEP Sound Portd.7 , 400 , 450 'BEEP Print Print "**** RN-CONTROL V1.4 *****" Print "Demoprogramm um Zusatzboard RN-LCDAdapter zu demonstrieren" Print ' -------------- Ende RN-Control übliche _____________________ Config Pinb.4 = Output 'Spannung an LCD aktivieren Lcdpower Alias Portb.4 Config Pinb.6 = Output Lcd_rw Alias Portb.6 Lcd_rw = 0 Lcdpower = 1 Wait 1 Config Lcd = 20 * 4a , Chipset = Ks077 Config Lcdpin = Pin , Db4 = Portb.3 , Db5 = Portb.2 , Db6 = Portb.1 , Db7 = Portb.0 , E = Portb.5 , Rs = Portb.7 Initlcd Cls Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte Lcd "RN-LCDADAPTER" Locate 2 , 1 Lcd "an RN-Control" Locate 3 , 1 Lcd "beides Bausaetze von" Locate 4 , 1 Lcd "robotikhardware.de" Do Taste = Tastenabfrage() If Taste <> 0 Then Select Case Taste Case 1: Cls Locate 1 , 1 Lcd "Gedrueckt wurde nun:" Locate 2 , 1 Lcd "Taste 1" Case 2 Cls Locate 1 , 1 Lcd "Gedrueckt wurde nun:" Locate 2 , 1 Lcd "Taste 2" Case 3 Cls Locate 1 , 1 Lcd "Gedrueckt wurde nun:" Locate 2 , 1 Lcd "Taste 3" Case 4 Cls Locate 1 , 1 Lcd "Gedrueckt wurde nun:" Locate 2 , 1 Lcd "Taste 4" Case 5 Cls Locate 1 , 1 Lcd "Licht wird umgeschaltet" Toggle Lcdpower End Select Sound Portd.7 , 400 , 500 'BEEP End If Waitms 100 Loop End ' Diese Unterfunktion fragt die Tastatur am analogen Port ab ' Sollte beim betätigen einer Taste kein Quittungston kommen, dann ' muss die die Tastenabfrage (Select Case Anweisung in Funktion ) ' an ihr Board angepaßt werden. Widerstandstoleranzen sorgen in ' Einzelfällen manchmal dafür das die Werte etwas anders ausfallen ' Am besten dann den WS wert mit Print für jede Taste ausgeben lassen Function Tastenabfrage() As Byte Local Ws As Word Tastenabfrage = 0 Ton = 600 Ws = Getadc(7) ' Print "ws= " ; Ws If Ws < 1010 Then Select Case Ws Case 400 To 455 Tastenabfrage = 1 Ton = 550 Case 335 To 380 Tastenabfrage = 2 Ton = 500 Case 250 To 305 Tastenabfrage = 3 Ton = 450 Case 180 To 220 Tastenabfrage = 4 Ton = 400 Case 100 To 130 Tastenabfrage = 5 Ton = 350 End Select Sound Portd.7 , 400 , Ton 'BEEP End If End Function