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

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