Lego Mindstorms EV3: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „ == BricxCC mit EV3 ==“)
 
Zeile 1: Zeile 1:


== [[BricxCC mit EV3]] ==
== [[BricxCC mit EV3]] ==
== [[Technische Daten LEGO EV3]] ==
Der [http://de.wikipedia.org/wiki/Lego_Mindstorms#Nachfolgesystem_Mindstorms_EV3 EV3] ist die Weiterentwicklung des NXT, welche im September 2013 auf den Markt gekommen ist. Im Gegensatz zum Vorgänger basiert der EV3 auf einem [http://de.wikipedia.org/wiki/Linux Linux]-System, während der NXT eine eigene [http://de.wikipedia.org/wiki/Firmware Firmware] besitzt. Die Sensoren des Vorgängersystems sind vollständig mit dem EV3-System kompatibel.
= EV3 Befehle für MATLAB =
==[[ Kleine Sammlung an EV3-Befehlen ]]==
Eine Bibliothek über die MATLAB-Befehle für die Kommunikation zum EV3 ist derzeit noch nicht verfügbar, so dass wir uns die Befehle für die Ansteuerung aus den Beispielen der [https://wiki.qut.edu.au/display/cyphy/Examples QUT EV3-Seite] raussuchen mussten. Nachfolgend ein paar Beispiele, die den Einstieg in die Programmierung des EV3 erleichtern sollten:
* <code>disp ('Text')</code> Zeigt <code>Text</code> auf dem Bildschirm des Bricks an
* <code>b.beep()</code> lässt den Brick ein Geräusch machen, hilfreich z.B. nach dem Verbindungsaufbau im Code
* <code>motorpower = 0</code> sollte in jedem Programm, in dem Motoren verwendet werden, zu Beginn stehen
* <code>b.outputPower(0,Device.MotorA+Device.MotorB,motorPower)</code> weist den Motoren auf den Kanälen A und B auf layer 0 die zuvor initialisierte motorPower zu, startet diese jedoch noch nicht
* <code>b.outputStart(0,Device.MotorA+Device.MotorB)</code> startet die Motoren auf den Kanälen A und B
* <code>reading = b.inputReadSI(0,0,0)</code> liest Sensoren aus. In der Klammer steht die erste Null für den layer, die Zweite für den Anschluss (beginnt bei 0) und die Dritte für den Modus. Der Gyrosensor hat hier z.B. die Möglichkeit, im Modus 0 den derzeitigen Winkel und im Modus 1 eine Winkelgeschwindigkeit zu liefern.
* <code>pause(0.1)</code> mussten wir überall zwischen den Sensorabfragen einbinden, da wir ansonsten einen NaN-Fehler erhalten haben
* <code>b.outputStop(0,Device.MotorA+Device.MotorB,0);</code> stoppt die zuvor verwendeten Motoren auf den Kanälen A und B

Version vom 14. Februar 2014, 11:22 Uhr

BricxCC mit EV3

Technische Daten LEGO EV3

Der EV3 ist die Weiterentwicklung des NXT, welche im September 2013 auf den Markt gekommen ist. Im Gegensatz zum Vorgänger basiert der EV3 auf einem Linux-System, während der NXT eine eigene Firmware besitzt. Die Sensoren des Vorgängersystems sind vollständig mit dem EV3-System kompatibel.

EV3 Befehle für MATLAB

Kleine Sammlung an EV3-Befehlen

Eine Bibliothek über die MATLAB-Befehle für die Kommunikation zum EV3 ist derzeit noch nicht verfügbar, so dass wir uns die Befehle für die Ansteuerung aus den Beispielen der QUT EV3-Seite raussuchen mussten. Nachfolgend ein paar Beispiele, die den Einstieg in die Programmierung des EV3 erleichtern sollten:

  • disp ('Text') Zeigt Text auf dem Bildschirm des Bricks an
  • b.beep() lässt den Brick ein Geräusch machen, hilfreich z.B. nach dem Verbindungsaufbau im Code
  • motorpower = 0 sollte in jedem Programm, in dem Motoren verwendet werden, zu Beginn stehen
  • b.outputPower(0,Device.MotorA+Device.MotorB,motorPower) weist den Motoren auf den Kanälen A und B auf layer 0 die zuvor initialisierte motorPower zu, startet diese jedoch noch nicht
  • b.outputStart(0,Device.MotorA+Device.MotorB) startet die Motoren auf den Kanälen A und B
  • reading = b.inputReadSI(0,0,0) liest Sensoren aus. In der Klammer steht die erste Null für den layer, die Zweite für den Anschluss (beginnt bei 0) und die Dritte für den Modus. Der Gyrosensor hat hier z.B. die Möglichkeit, im Modus 0 den derzeitigen Winkel und im Modus 1 eine Winkelgeschwindigkeit zu liefern.
  • pause(0.1) mussten wir überall zwischen den Sensorabfragen einbinden, da wir ansonsten einen NaN-Fehler erhalten haben
  • b.outputStop(0,Device.MotorA+Device.MotorB,0); stoppt die zuvor verwendeten Motoren auf den Kanälen A und B