Lego Mindstorms EV3: Unterschied zwischen den Versionen

Aus HSHL Mechatronik
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „ == BricxCC mit EV3 ==“)
 
Keine Bearbeitungszusammenfassung
 
(12 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:HowTo]]
== [[EV3 Education Software]] ==
== [[EV3 mit Simulink]] ==
== [[BricxCC mit EV3]] ==
== [[BrickPi]] ==
== [[Pi meets Simulink]]==
== [[Bildschirmfotos von EV3]] ==
== [[Run a Simulink model on EV3 hardware]] ==
== [[Installationshinweise]] ==
== [[EV3 via MATLAB Drahtlosverbindung]] ==


== [[BricxCC mit EV3]] ==
== Technische Daten LEGO EV3 ==
Der [http://de.wikipedia.org/wiki/Lego_Mindstorms#Nachfolgesystem_Mindstorms_EV3 EV3] ist die Weiterentwicklung des [http://de.wikipedia.org/wiki/Lego_Mindstorms_NXT 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 =
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

Aktuelle Version vom 14. März 2019, 11:28 Uhr

EV3 Education Software

EV3 mit Simulink

BricxCC mit EV3

BrickPi

Pi meets Simulink

Bildschirmfotos von EV3

Run a Simulink model on EV3 hardware

Installationshinweise

EV3 via MATLAB Drahtlosverbindung

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

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