-
So, den JoyPad an Buchse LCD des RN-128Funk angeschlossen, und folgendes Code eingegeben:
Code:
' ---------------RN-Mega128Funk übliche ------------------
$regfile = "m128def.dat" ' Bei Mega 128 "
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000 'Quarzfrequenz
$baud = 19200 'Baudrate für Funkmodul
$baud1 = 9600 'Baudrate für MAX
Open "com2:" For Binary As #2 'Ausgabe über zweite serielle Schnittstelle (MAX)
Sound Portg.2 , 400 , 450 'BEEP bei RN-Mega128Funk
Sound Portg.2 , 400 , 250 'BEEP bei RN-Mega128Funk
Sound Portg.2 , 400 , 450 'BEEP bei RN-Mega128Funk
' ---------------------------------------------------
Config Portf = Input
Config Adc = Single , Prescaler = Auto , Reference = Avcc 'Für Tastenabfrage und Spannungsmessung
Dim Joy1x As Word 'Variablen für Positionen der JoyPad Steuerknüppel
Dim Joy1y As Word
Dim Joy2x As Word
Dim Joy2y As Word
Print #2 , ""
Print #2 , "**** RN-Mega128Funk ****"
Print #2 , ""
Start Adc
Do
Joy1y = Getadc(0)
Joy1x = Getadc(1)
Print #2 , "Joystick 1 Position: X=" ; Joy1x ; " Y=" ; Joy1y
Joy2y = Getadc(2)
Joy2x = Getadc(3)
Print #2 , "Joystick 2 Position: X=" ; Joy2x ; " Y=" ; Joy2y
If Pinf.5 = 0 Then Print #2 , "Joystick 1 wird runter gedrueckt!"
If Pinf.6 = 0 Then Print #2 , "Joystick 2 wird runter gedrueckt!"
If Pinf.7 = 0 Then Print #2 , "Taster 1 wird gedrueckt!"
If Pinf.8 = 0 Then Print #2 , "Taster 2 wird gedrueckt!"
Wait 2
Loop
End
Und es funktioniert einwandfrei!!!
-
Danke für Beispiel. Ich habe jetzt eine modifizierte korrigierte Anleitung für das Board bereitgestellt. Dein Beispiel hab ich gleich übernommen.
Hier ist die letzte Version der Anleitung (Datum 7.8.2006):
https://www.roboternetz.de/phpBB2/dl...le&file_id=338
-
Aufleben des Threads
Hallo liebe Robotikgemeinde,
ich möchte diesen doch schon recht alten Thread noch einmal aufgreifen und eine Frage stellen. Ich benutze die selbe Kombination aus RN-Mega128Funk und RN-Joypad. Das Joypad betreibe ich am LCD-Port. Nun habe ich auch ein LCD (RN-LCD-Adapter) und dieses wie in der Anleitung beschrieben am JOY-Anschluß des Boards. Damit das funktioniert, habe ich die Pins angepasst. Nachfolgendes soll der Beispielcode erledigen:
- Display anschalten, Peepton erzeugen, Beleuchtung abschalten, 2Sekunden warten, Beleuchtung anschalten, Text ('** Test **') ausgeben
- Über Funk auf das Terminal Text ('RN-Mega...') ausgeben und danach die aktuellen Positionen des Joysticks ausgeben
Code:
$regfile = "m128def.dat"
$framesize = 32
$swstack = 32
$hwstack = 32
$crystal = 16000000
$baud = 19200
Config Ping.0 = Output
Lcdpower Alias Portg.0
Sound Portg.2 , 400 , 450
Config Ping.3 = Output
Lcd_rw Alias Portg.3
Lcd_rw = 0
Lcdpower = 0
Wait 2
Lcdpower = 0
Config Lcd = 20 * 4a , Chipset = Ks077
Config Lcdpin = Pin , Db4 = Porta.3 , Db5 = Porta.2 , Db6 = Porta.1 , Db7 = Porta.0 , E = Porte.7 , Rs = Portg.4
Config Lcdbus = 4
Initlcd
Cls
Locate 1 , 1
Lcd "** Test **"
Config Portf = Input
Config Adc = Single , Prescaler = Auto , Reference = Avcc
Dim Joy1x As Word
Dim Joy2y As Word
Print "**** RN-Mega128Funk ****"
Start Adc
Do
Joy1x = Getadc(1)
Print "Joystick 1 Position X=" ; Joy1x
Joy2y = Getadc(2)
Print "Joystick 2 Position Y=" ; Joy2y
Wait 1
Loop
End
Leider erfolgt das Display ein/ausschalten nicht. Außerdem zeigt auch mein Joystick immer 1023 für X und Y an, auch wenn ich ihn bewege. Wenn ich das Display abziehe, dann verhält sich der Joystick korrekt. Wenn ich das Display am LCD-Port betreibe, funktioniert auch dieses korrekt. Nur in Kombination leider nicht.
Hat jemand einen Tipp für mich, was ich als nächstes testen kann? Oder hat schon jemand einmal ein RN-Display am JOY-Port betrieben und kann mir sagen, ob der Fehler eventuell an meiner PIN-Belegung liegt!?
Vielen Dank für Eure Hilfe.
-
Aufgrund anderer Projekte bin ich erst jetzt wieder dazu gekommen, mich oben genannter Problematik noch einmal widmen.
Leider konnte ich oben genannten Fehler immer noch nicht ausfindig machen. Es würde mir sehr weiterhelfen, wenn einer von Euch, mit Bascom-Basic und RN-Mega128Funk-Erfahrung mal oben geposteten Quellcode ansehen und mir einen Hinweis geben könnte, an welcher Stelle das Problem liegt.
Vielen Dank noch einmal.
-
Wenn du das Joypad an der LCD-Buchse betreibst, musst du erst über die "Bleuchtung" einschalten.
Das geht über
Portg.0 = 1
Das selbe Problem hatte ich am Anfang auch, bis ich mit RN-Adapter dann gesehen hab, dass gar keine Spannung anliegt.
Gruß
Jimmy