Nachtrag vom 15. 09. 2016
Auf der Basis von Microsofts "Small Basic" hat Reinhard Grafl "EV3 Basic" entwickelt:
https://sites.google.com/site/ev3basic/
Damit kann man recht komfortabel den LEGO Mindstorms EV3 in Basic programmieren.
Sowohl Microsoft Small Basic als auch die Erweiterung EV3 Basic sind kostenlos.
Installation auf Windows:
Download / Installieren von Microsoft Small Basic 1.2
Download / Installieren von EV3 Basic -> EV3BasicInstaller.msi
Danach Small Basic starten...
-> Übrigens: Small Basic kann man natürlich auch für die Erstellung grafischer Windows-Programme benutzen. Das geht auch bei installiertem EV3 Basic. Dann dürfen im Programm natürlich keine EV3-Befehle vorkommen wie z.B. LCD.Clear() usw...
Sooo... also weiter... Das erste EV3-Basic-Programm könnte nun so aussehen:
LCD.Clear()
LCD.Write(40,40, "Hello EV3")
Program.Delay(10000)
Diese drei Zeilen einfach in das Programm-Fenster kopieren. Sobald der EV3-Brick über ein USB-Kabel mit dem PC verbunden und eingeschaltet ist, kann man das Programm mit dem großen blauen "Ausführen" - Knopf von Small Basic starten. Dann erscheint auf dem Display des EV3 der Text "Hello EV3".
-> Übrigens: Small Basic kann man natürlich auch für die Erstellung grafischer Windows-Programme benutzen. Das geht auch bei zusätzlich installiertem EV3 Basic. Dann dürfen im Basic-Programm-Code natürlich keine EV3-Befehle vorkommen wie z.B. LCD.Clear() usw...
Demoprogramme von Reinhard Grafl in EV3 Basic:
Ein einfaches Testprogramm für den EV3:
' Testprogramm für LEGO Mindstorms EV-3
'Motoren an Port A und E
'Sensor an Port 4
'LCD-Test
LCD.Clear()
LCD.Write(40, 40,"Willkommen!")
Program.Delay(1000)
'Große Schrift in schwarz
LCD.Text(1, 0, 80, 2, "Willkommen!")
Program.Delay(3000)
' Batterietest
LCD.Clear()
LCD.Text(1, 0, 40, 2, "Batt="+EV3.BatteryLevel+"%")
Program.Delay(3000)
'Töne abspielen:
Musik()
'Motoren testen
LCD.Clear()
LCD.Text(1, 0, 0, 2, "Motoren")
LCD.Text(1, 0, 40, 2, "vorwaerts!")
Program.Delay(1000)
Motor.StartPower("MotorA", 50)
Motor.StartPower("MotorD", 50)
Program.Delay(3000)
Motor.Stop("MotorAD", "False")
Program.Delay(2000)
LCD.Clear()
LCD.Text(1, 0, 0, 2, "Motoren")
LCD.Text(1, 0, 40, 2, "rueckwaerts")
Motor.StartPower("MotorA", -50)
Motor.StartPower("MotorD", -50)
Program.Delay(3000)
Motor.Stop("MotorAD", "False")
Program.Delay(3000)
'US-Sensor an Port 4
'Messwert auf LCD anzeigen
LCD.Clear()
While("True")
LCD.Text(1, 0, 40, 2, "Messw="+Sensor.ReadPercent(4)+" ")
Program.Delay(100)
endwhile
sub Musik
'Töne abspielen - Volume, Note, Duration
Speaker.Note(80, "C4", 500)
Program.Delay(600)
Speaker.Note(80, "D4", 500)
Program.Delay(600)
Speaker.Note(80, "E4", 500)
Program.Delay(600)
Speaker.Note(80, "F4", 500)
Program.Delay(600)
Speaker.Note(80, "G4", 1000)
Program.Delay(1200)
Speaker.Note(80, "G4", 1000)
Program.Delay(1200)
endSub
.