Aus RN-Wissen.de
Wechseln zu: Navigation, Suche
Laderegler Test Tueftler Seite

K
Zeile 3: Zeile 3:
 
== Was braucht man hierfür? ==
 
== Was braucht man hierfür? ==
 
* RN-Control Board
 
* RN-Control Board
* USB -> COM port adapter (wenn man keinen COM port mehr am PC hat)
+
* USB -> COM+port Adapter (wenn man keinen COM port mehr am PC hat)
* ISP Programmierkabel (wenn man nicht den bootloader nutzt)
+
* ISP Programmierkabel (wenn man nicht den Bootloader nutzt)
 
* PC
 
* PC
 
* USB-Joystick
 
* USB-Joystick
Zeile 13: Zeile 13:
  
 
Ein Roboter (auf Basis eines RN-Control Boards) kann über einen am PC angeschlossenen Joystick sehr einfach kontrolliert werden. In diesem Beispiel benutzen wir SharpDevelop als Entwicklungsumgebung (Programmierprogramm) für eine Windows VB.Net Applikation (ein Computerprogramm). Die Positionsdaten des Joysticks werden schliesslich über die RS232 Schnittstelle an den µC übertragen. Auch wenn du totaler Programmierneuling sein solltest kann dir diese Anleitung helfen. Einfach den Code kopieren und wie beschrieben einfügen. Dann sollte dein RN-Control Board auf Joystick-Befehle hören.
 
Ein Roboter (auf Basis eines RN-Control Boards) kann über einen am PC angeschlossenen Joystick sehr einfach kontrolliert werden. In diesem Beispiel benutzen wir SharpDevelop als Entwicklungsumgebung (Programmierprogramm) für eine Windows VB.Net Applikation (ein Computerprogramm). Die Positionsdaten des Joysticks werden schliesslich über die RS232 Schnittstelle an den µC übertragen. Auch wenn du totaler Programmierneuling sein solltest kann dir diese Anleitung helfen. Einfach den Code kopieren und wie beschrieben einfügen. Dann sollte dein RN-Control Board auf Joystick-Befehle hören.
Es wird Directinput benutzt um den Joystick zu erkennen und abzufragen. Deswegen muss das .NET Framework installiert sein (link).
+
Es wird Directinput benutzt um den Joystick zu erkennen und abzufragen. Deswegen muss das .NET Framework installiert sein (link). Die Kommunikation zwischen PC und µC findet - wie bereits erwähnt - über die RS232 Schnittstelle statt. Das Programm auf dem PC sendet alle 100 ms die aktuelle Joystick Position an den µC. Dieser liest die Werte für X und Y Achse ein und kann dann entsprechend darauf reagieren.
So, naja, jetzt habe ich schon fast keine Lust mehr. Is ja schon spät. Aber ich habe mein Joypad mit RN-Control zum Laufen bekommen und kann jetzt zwei Getriebemotoren damit kontrollieren (das ist echt cool!). Ich glaube das wollen viele Leute auch. Deswegen schreib ich die nächsten Tage hier dran weiter. Wenn jemand meint dass das müll ist, dann melde er sich bitte rechtzeitig!
+
Allet Juuhte,
+
William
+
  
 
== Beispielhafter Quellcode für BASCOM ==
 
== Beispielhafter Quellcode für BASCOM ==
 +
In folgendem Beispiel wartet der µC ganz einfach darauf dass die Variablen X und Y nacheinander per RS232 an ihn gesendet werden. Sobald er Werte empfangen hat skaliert er die so wie er soll und gibt einen Ton entsprechend der Joystick Position aus. Sofort danach wartet er wieder darauf eine neue Joystick Position zu empfangen.
 +
 +
<pre>
 +
$regfile = "m32def.dat"
 +
$framesize = 32
 +
$swstack = 32
 +
$hwstack = 64
 +
$crystal = 16000000
 +
$baud = 9600
 +
 +
Dim X As Integer
 +
Dim Y As Integer
 +
Dim X1 As Word
 +
Dim X2 As Word
 +
Dim Y1 As Word
 +
Dim Y2 As Word
 +
 +
Do
 +
'Darauf warten dass irgendwas gesendet wird
 +
Input "" , X
 +
Input "" , Y
 +
 +
'Die Variablen umskalieren
 +
X1 = X + 10
 +
X2 = X1 * 40
 +
 +
Y1 = Y + 10
 +
Y2 = Y1 * 40
 +
'Einen Ton (Tonhöhe = Joystick Position) ausgeben
 +
Sound Portd.7 , 10 , X2
 +
Sound Portd.7 , 10 , Y2
 +
Loop
 +
</pre>
 +
 +
 
-empty-
 
-empty-
 
== Quellcode in VB.NET (SharpDevelop) ==
 
== Quellcode in VB.NET (SharpDevelop) ==

Version vom 6. November 2007, 23:28 Uhr

Baustelle.gif An diesem Artikel arbeitet gerade Mitglied Willa.

Am besten momentan noch keine gravierenden Ergänzungen / Änderungen vornehmen.

Dieser Hinweis verschwindet wenn der Autor soweit ist. Sollte dieser Hinweis länger als drei Tage auf einer Seite sein, bitte beim Autor Willa per PM / Mail oder Forum nachfragen ob er vergessen wurde.

Was braucht man hierfür?

  • RN-Control Board
  • USB -> COM+port Adapter (wenn man keinen COM port mehr am PC hat)
  • ISP Programmierkabel (wenn man nicht den Bootloader nutzt)
  • PC
  • USB-Joystick
  • Netzgerät (+-12V)
  • Evtl. 2 kleine Motörchem um das ganze zu testen

Einleitung

Ein Roboter (auf Basis eines RN-Control Boards) kann über einen am PC angeschlossenen Joystick sehr einfach kontrolliert werden. In diesem Beispiel benutzen wir SharpDevelop als Entwicklungsumgebung (Programmierprogramm) für eine Windows VB.Net Applikation (ein Computerprogramm). Die Positionsdaten des Joysticks werden schliesslich über die RS232 Schnittstelle an den µC übertragen. Auch wenn du totaler Programmierneuling sein solltest kann dir diese Anleitung helfen. Einfach den Code kopieren und wie beschrieben einfügen. Dann sollte dein RN-Control Board auf Joystick-Befehle hören. Es wird Directinput benutzt um den Joystick zu erkennen und abzufragen. Deswegen muss das .NET Framework installiert sein (link). Die Kommunikation zwischen PC und µC findet - wie bereits erwähnt - über die RS232 Schnittstelle statt. Das Programm auf dem PC sendet alle 100 ms die aktuelle Joystick Position an den µC. Dieser liest die Werte für X und Y Achse ein und kann dann entsprechend darauf reagieren.

Beispielhafter Quellcode für BASCOM

In folgendem Beispiel wartet der µC ganz einfach darauf dass die Variablen X und Y nacheinander per RS232 an ihn gesendet werden. Sobald er Werte empfangen hat skaliert er die so wie er soll und gibt einen Ton entsprechend der Joystick Position aus. Sofort danach wartet er wieder darauf eine neue Joystick Position zu empfangen.

 $regfile = "m32def.dat"
 $framesize = 32
 $swstack = 32
 $hwstack = 64
 $crystal = 16000000
 $baud = 9600

 Dim X As Integer
 Dim Y As Integer
 Dim X1 As Word
 Dim X2 As Word
 Dim Y1 As Word
 Dim Y2 As Word

 Do
 'Darauf warten dass irgendwas gesendet wird
 Input "" , X
 Input "" , Y

 'Die Variablen umskalieren
 X1 = X + 10
 X2 = X1 * 40

 Y1 = Y + 10
 Y2 = Y1 * 40
'Einen Ton (Tonhöhe = Joystick Position) ausgeben
Sound Portd.7 , 10 , X2
Sound Portd.7 , 10 , Y2
Loop


-empty-

Quellcode in VB.NET (SharpDevelop)

-empty-

Beispielprogramm

-empty-


LiFePO4 Speicher Test