Lego Mindstorms ev3 Block Sound Beschreibung. EV3-Block: Menü, Sensoren anzeigen, Programmierung. Anschließen an einen EV3-Controller

Die Idee, den Mikrocomputer im Konstruktor durch Beaglebone oder einen anderen zu ersetzen, ist nicht neu. Aber mit der Veröffentlichung von EV3 wurde es möglich, nicht nur 100% analog zu werden, sondern auch die Leistung Ihres Lichtroboters zu steigern.

Videopräsentation des Projekts:

E VB unterstützt das Lego Mindstorms Ev3-System sowohl in Hardware als auch in Software vollständig und ist 100% kompatibel mit allen Lego-Sensoren und -Motoren. Der Block funktioniert genauso wie der Lego Mindstorms EV3-Block:

Beaglebone schwarz- Einplatinen-Linux-Computer. Es ist ein Konkurrent des Raspberry Pi. Es hat leistungsstarker Prozessor AM335x 720MHz ARM®-Prozessor, groß Anzahl der Ein-/Ausgänge können die Möglichkeiten mit Zusatzplatinen erweitert werden.

Lego Mindstorms EV3 hat ARM-Prozessor 9 (TI Sitara AM180x) 300MHz, also Umstieg auf ARM Cortex-A8 Prozessor (TI Sitara AM335x) 1GHz BeagleBone Black steigert die Produktivität, und es wird möglich, eine Verbindung herzustellen zusätzliche Boards Erweiterungen!

Am wichtigsten ist, dass Lego Mindstorms EV3 eine offene Beschreibung aller Soft- und Hardware hat!

So wird zum Beispiel der bekannte Roboter-Sammelwürfel Rubik's Cube zusammengebaut und vorgeführt. Lediglich anstelle von EV3 wurde ein weiterentwickeltes EVB verbaut. Wir empfehlen, das Video anzusehen:

Die Autoren des Projekts veröffentlichen und verkaufen bereits EVB. Bis Ende April 2015 wollen sie die Produktion deutlich ausweiten. Darüber hinaus haben sie mehrere kompatible Sensoren entwickelt und produzieren diese.

Beschreibung der Präsentation für einzelne Folien:

1 Folie

Folienbeschreibung:

2 rutsche

Folienbeschreibung:

EV3-Stein-Schnittstelle Der EV3-Stein ist das Kontrollzentrum, das Ihre Roboter antreibt. Der Bildschirm, die Brick Control Buttons und das EV3-Stein-Interface, das vier Hauptfenster enthält, geben dir Zugriff auf eine erstaunliche Vielfalt einzigartiger EV3-Stein-Funktionen. Es kann sein einfache Funktionen, wie das Starten und Stoppen eines Programms, oder komplexe, wie das Schreiben des Programms selbst.

3 rutsche

Folienbeschreibung:

Schnittstelle: Das EV3-Menü hat ein Menü, das aus 4 Teilen besteht: Aktuelle Programme Dateinavigation Bausteinanwendungen Bausteineinstellungen

4 Rutsche

Folienbeschreibung:

Letzte Programme Starten Sie Programme, die Sie kürzlich von Ihrem Desktop-PC heruntergeladen haben. Dieses Fenster bleibt leer, bis Sie mit dem Herunterladen und Ausführen von Programmen beginnen. In diesem Fenster werden die Programme angezeigt, die Sie kürzlich gestartet haben. Das Standardprogramm ganz oben in der Liste ist das zuletzt ausgeführte Programm.

5 Folie

Folienbeschreibung:

Dateimanager Greifen Sie auf alle im Speicher des Mikrocomputers sowie auf der Speicherkarte gespeicherten Dateien zu und verwalten Sie sie. In diesem Fenster kannst du auf alle Dateien auf deinem EV3-Stein zugreifen und diese verwalten, einschließlich der auf deiner SD-Karte gespeicherten Dateien. Die Dateien sind in Projektordnern organisiert, die neben den eigentlichen Programmdateien auch die in jedem Projekt verwendeten Sounds und Bilder enthalten. Dateien können mit dem Dateinavigator verschoben oder gelöscht werden. Programme, die mit der Modulprogrammierumgebung und Modulerstellt wurden, werden separat in den Ordnern BrkProg_SAVE und BrkDL_SAVE gespeichert.

6 Rutsche

Folienbeschreibung:

Die Apps der EV3-Steuereinheit haben 4 vorinstallierte Apps: A. Darstellung des Hafens. B. Motorsteuerung. B. IR-Steuerung. D. Modulprogrammierungsumgebung.

7 Folie

Folienbeschreibung:

A. Port View Im ersten Fenster der Port View-Anwendung können Sie schnell sehen, an welchen Ports die Sensoren oder Motoren angeschlossen sind. Verwenden Sie die EV3-Steinsteuertasten, um zu einem der belegten Anschlüsse zu navigieren, und Sie sehen die aktuellen Sensor- oder Motorwerte. Installieren Sie einige Sensoren und Motoren und experimentieren Sie mit verschiedene Einstellungen... Um die aktuellen Einstellungen für installierte Motoren und Sensoren anzuzeigen oder zu ändern, drücken Sie die mittlere Taste. Um zum Hauptanwendungsfenster des Moduls zurückzukehren, drücken Sie die Schaltfläche „Zurück“.

8 rutsche

Folienbeschreibung:

B. Motorsteuerung Steuern Sie die Vorwärts- oder Rückwärtsbewegung eines beliebigen Motors, der an einen der vier Ausgangsanschlüsse angeschlossen ist. Es gibt zwei verschiedene Modi. In einem Modus können Sie die an Port A (mit den Auf- und Ab-Tasten) und an Port D (mit den Links- und Rechts-Tasten) angeschlossenen Motoren steuern. In einem anderen Modus steuern Sie die Motoren, die an Port B (mit den Auf- und Ab-Tasten) und an Port C (mit den Links- und Rechts-Tasten) angeschlossen sind. Die Umschaltung zwischen diesen beiden Modi erfolgt mit Hilfe der zentralen Taste. Um zum Hauptanwendungsfenster des Moduls zurückzukehren, drücken Sie die Schaltfläche „Zurück“.

9 Folie

Folienbeschreibung:

IR-Steuerung Steuern Sie die Vorwärts- oder Rückwärtsbewegung eines beliebigen Motors, der an einen der vier Ausgangsanschlüsse angeschlossen ist, mit einem Infrarot-Fernsender als Fernbedienung und ein Infrarotsensor als Empfänger (ein Infrarotsensor muss an Port 4 am EV3-Stein angeschlossen sein). Es gibt zwei verschiedene Modi. In einem Modus verwenden Sie die Kanäle 1 und 2 des Infrarot-Fernsenders. Auf Kanal 1 können Sie die an Port B angeschlossenen Motoren (mit den Tasten 1 und 2 am Infrarot-Fernsender) und an Port C (mit den Tasten 3 und 4 am Infrarot-Fernsender) steuern. Auf Kanal 2 können Sie die an Port A (mit den Tasten 1 und 2) und an Port D (mit den Tasten 3 und 4) angeschlossenen Motoren steuern. In einem anderen Modus können Sie die Motoren auf die gleiche Weise steuern, anstatt die Kanäle 3 und 4 des Infrarot-Fernsenders zu verwenden. Die Umschaltung zwischen diesen beiden Modi erfolgt mit Hilfe der zentralen Taste. Um zum Hauptanwendungsfenster des Moduls zurückzukehren, drücken Sie die Schaltfläche „Zurück“.

10 Folie

Folienbeschreibung:

Die EV3-Stein-Programmierumgebung wird mit der darauf installierten Software geliefert. Die Anwendung ähnelt der auf Ihrem Computer installierten Software. Diese Anleitung enthält die grundlegenden Informationen, die Sie für den Anfang benötigen.

11 Folie

Folienbeschreibung:

EV3-Steineinstellungen In diesem Fenster können Sie verschiedene Allgemeine Einstellungen im EV3-Stein.

12 Folie

Folienbeschreibung:

Anpassen der Lautstärke Sie können die Lautstärke auf der Registerkarte Einstellungen des EV3 erhöhen und verringern.

13 Folie

Wenn Sie Fragen haben, was Sie über den neuen Konstruktor wissen möchten (wie etwas Konkretes funktioniert, ein Experiment mit Sensoren oder Motoren durchführen) - schreiben Sie uns - wir versuchen Ihre Vorschläge zu testen. Auf diese Weise können Sie viel mehr über den EV3 erfahren, bevor er überhaupt live geht.

Nun beginnt alles mit einem Überblick über die EV3-Blocksoftware (EV3-Firmware).

Eine der Besonderheiten des neuen Gerätes ist das lange Ein- und Ausschalten. Zeitlich ist der Prozess der Inklusion angemessen Handy oder Heimrouter, d.h. Sekunden 20-30. Nach dem Einschalten erscheint folgendes Menü:


Wie Sie sehen, hat sich im Vergleich zum NXT-Block einiges geändert: Die Qualität der Schriftarten hat sich verbessert, mehr gezeichnete Grafikelemente, die Fensteroberfläche. Das liegt zum einen daran, dass die Bildschirmgröße nun größer geworden ist – es sind nun 178 mal 128 Pixel statt 100 mal 64 wie im NXT-Block geworden. Durch das Vorhandensein einer Fensteroberfläche mit integrierten Schaltflächen und Bildlaufleisten kann man davon ausgehen, dass Geräte wie ein externes Touchpad wird jetzt noch mehr Sinn machen.


Aus dem ersten Fenster können auf den Baustein geladene Programme sowie direkt auf dem Baustein erstellte Programme aufgerufen werden. Jene. Um das Programm zu starten, müssen Sie jetzt weniger Klicks ausführen als beim NXT-Block.

Das Navigieren durch die geladenen Programme sowie zum zweiten und weiteren Bildschirmen (Menüpunkten) erfolgt über die nun 4 Bedientasten.


Der zweite Bildschirm - ermöglicht die Navigation durch die Objekte des Dateisystems auf dem Block. Dateisystem unterstützt jetzt die traditionelle Hierarchie von Dateien und Verzeichnissen.


Der dritte Bildschirm enthält ein Untermenü - Anwendungen, mit denen Sie verschiedene Aktionen mit dem Block ausführen können:


V aktuelle Version Die Software des Blocks solcher Anwendungen ist vier:

  • Sensoren anzeigen
  • Motorsteuerung
  • Fernbedienung
  • Blockprogrammierung
Der vierte Bildschirm ist der Konfigurationsbildschirm. Zusätzlich zu Grundeinstellungen: Lautstärke, Leerlauftimer, Bluetooth aktivieren und WiFi, können Sie sich über die Gerätesoftware informieren:



Die Auswahl eines bestimmten Menüpunktes / einer Anwendung erfolgt mit der mittleren Taste auf der Tastatur. Um ein Menüelement oder eine Anwendung zu beenden, müssen Sie auf die Schaltfläche "Beenden" klicken, die sich jetzt getrennt von den Hauptschaltflächen befindet - auf der linken Seite unter dem Bildschirm.

Jetzt sollten Sie zum dritten Bildschirm zurückkehren und sich mit den Anwendungen vertraut machen. Also die Anwendung "Sensoren anzeigen" (Port View).

Im Gegensatz zu einem ähnlichen Modus auf dem NXT-Block können Sie jetzt Informationen zu allen 8 mit dem Block verbundenen Geräten gleichzeitig anzeigen. Darüber hinaus können Sie mit der deklarierten Funktionalität der automatischen Sensorerkennung nicht mit den Händen angeben, mit welchem ​​Sensor verbunden ist.

Oben werden Informationen von den Encodern der Motoren angezeigt, unten Informationen von den Sensoren. In der Mitte des Bildschirms - Informationen zu einem bestimmten Gerät (an einem bestimmten Port), die durch Drücken der Steuertasten auf der Tastatur ausgewählt werden können. Informationen beinhalten grafische Darstellung Sensor, Name und aktuelle Messwerte:

Berührungssensor:


Gyrosensor:


Farbsensor im Auflicht-Messmodus:


Ultraschall-Distanzsensor:

Hier sieht man übrigens, dass der Sensor nun behauptet, Distanzen millimetergenau messen zu können, und die minimal messbare Distanz nun ab 3 cm liegt.

Informationen vom linken Motorgeber.


Die nächste Anwendung ist die Motorsteuerung. Im Wesentlichen können Sie die Motoren mit den Tasten drehen. Mit der mittleren Taste müssen Sie auswählen, welche Motoren gedreht werden sollen. Verwenden Sie dann Tastenpaare nach oben und unten oder nach links und rechts, um bestimmte Motoren zu drehen.


Die dritte App haben wir nicht ausprobiert, da im Standardlieferumfang der Bildungsversion des EV3-Kits kein Infrarot-Entfernungssensor und kein Infrarot-Bake enthalten sind. Aber anscheinend können Sie auf diesem Bildschirm konfigurieren, welche Motoren von der Infrarot-Bake gesteuert werden.


Natürlich die meisten interessante Anwendung ist - Programmierung auf dem Block. Es wurde deutlich überarbeitet: Das Programm kann nun bis zu 16 Programmelemente (Blöcke) enthalten, die erstellten Programme können gespeichert und natürlich zum Ändern wieder geöffnet werden.


Beim Öffnen der Anwendung zum Schreiben eines Programms wird eine leere Laufschleife (es wird nur eine Iteration durchgeführt) und ein Vorschlag zum Einfügen des ersten Blocks angezeigt. Über die Schaltfläche "Auf" kann der Baustein eingefügt werden.


Im erscheinenden Blockauswahlfenster stehen 17 Blöcke zur Verfügung (6 Aktionsblöcke und 11 Warteblöcke) plus die Aktion zum Löschen des aktuellen Blocks.



Die Reihenfolge der Auswahl und Reihenfolge der Blöcke wird vom Programmierer bestimmt. Es bedeutet nicht, dass hinter jedem Aktionsblock ein Warteblock stehen muss, wie es beim NXT-Block zuvor der Fall war.

Der ausgewählte Block im Programm sieht so aus:


Das Verhalten des Blocks kann durch Drücken der mittleren Taste verfeinert werden. Für diesen Block können Sie zum Beispiel den Drehrichtungswinkel des Roboters ändern oder die Motoren ganz stoppen (zum Beispiel nach dem vorherigen Warteblock).


Durch Bewegen des "Cursors" nach links oder rechts können Sie einen weiteren Block einfügen:


Zum Beispiel ein Block zum Warten auf ein Ereignis an einem Distanzsensor:


Und ändern Sie sein Verhalten (das Ereignis tritt ein, wenn der Abstand mehr als 60 cm beträgt.):


Blöcke können zwischen bestehenden Blöcken oder sogar am Anfang eines Programms eingefügt werden.


Hier sind einige weitere Beispiele für Warteblöcke:

Warteblock nach Zeit (Sie können einstellen, wie lange Sie warten möchten):


Oder ein Block zum Warten auf ein Ereignis von einem Kreiselsensor (Sie können den Drehwinkel des Sensors einstellen).


Es sei noch einmal darauf hingewiesen, dass die Sensor-Auto-Detect-Funktionalität den Programmiervorgang am Gerät vereinfacht. Jetzt muss man sich nicht mehr an die Regel halten, dass bestimmte Sensoren an bestimmte Ports angeschlossen werden müssen.

Wenn das Programm mehrmals ausgeführt werden muss, kann die Anzahl der Iterationen des Regelkreises geändert werden:


Das Programm wird durch Auswahl des allerersten Blocks gestartet:


Wenn Sie das Programm starten, zeigt der Bildschirm Folgendes an:


Das Programm kann gespeichert werden und Sie können einen Dateinamen für die anschließende Suche angeben:



Buchstaben werden über die Tastatur ausgewählt (Hallo Touchpad!)

Wenn Sie versuchen, ein nicht gespeichertes Programm zu schließen, wird die folgende nicht ganz eindeutige Meldung angezeigt und ein unangenehmer Ton ausgegeben:


Zukünftig können Sie das erstellte Programm öffnen und Änderungen daran vornehmen.


Natürlich werden nur Programme geöffnet, die auf dem Baustein erstellt wurden.

Abschließend möchte ich zeigen, wie das Abschalten eines Blocks aussieht:


Traditionell gebaute Roboter auf einer Plattform Lego Mindstorms EV3 werden mit der grafischen Umgebung von LabVIEW programmiert. In diesem Fall laufen die Programme auf dem EV3-Controller und der Roboter arbeitet autonom. Hier erzähle ich dir davon alternativer Weg Robotersteuerung - unter Verwendung der .NET-Plattform, die auf dem Computer ausgeführt wird.

Aber bevor wir direkt zur Programmierung kommen, schauen wir uns einige Fälle an, in denen dies nützlich sein kann:

  • Erforderlich Fernbedienung ein Roboter von einem Laptop (zum Beispiel durch Drücken von Knöpfen)
  • Es ist erforderlich, Daten vom EV3-Controller zu sammeln und auf einem externen System zu verarbeiten (z. B. für IoT-Systeme)
  • Alle anderen Situationen, in denen Sie einen Steueralgorithmus in .NET schreiben und von einem Computer ausführen möchten, der mit dem EV3-Controller verbunden ist

LEGO MINDSTORMS EV3-API für .NET

Steuern des EV3-Controllers von externes System durch Senden von Befehlen an die serielle Schnittstelle ausgeführt. Das Befehlsformat selbst ist im Communication Developer Kit beschrieben.

Aber dieses Protokoll manuell zu implementieren ist langweilig. Daher können Sie einen vorgefertigten .NET-Wrapper verwenden, der sorgfältig von Brian Peek geschrieben wurde. Der Quellcode für diese Bibliothek wird auf Github gehostet und das gebrauchsfertige Paket ist auf Nuget zu finden.

Anschließen an einen EV3-Controller

Die Brick-Klasse wird verwendet, um mit dem EV3-Controller zu kommunizieren. Beim Erstellen dieses Objekts müssen Sie die Implementierung der ICommunication-Schnittstelle an den Konstruktor übergeben - ein Objekt, das beschreibt, wie eine Verbindung zum EV3-Controller hergestellt wird. Es stehen Implementierungen von UsbCommunication, BluetoothCommunication und NetworkCommunication zur Verfügung.

Die beliebteste Verbindungsmethode ist Bluetooth. Schauen wir uns diese Verbindungsmethode genauer an.

Bevor wir uns programmgesteuert über Bluetooth mit dem Controller verbinden können, muss der Controller über die Betriebssystemeinstellungen mit dem Computer verbunden werden.

Nachdem der Controller verbunden ist, gehen Sie zu den Bluetooth-Einstellungen und wählen Sie die Registerkarte COM-Ports. Wir finden unseren Controller, den wir brauchen ausgehende Hafen. Wir werden es beim Erstellen eines BluetoothCommunication-Objekts angeben.

Der Code zum Verbinden mit dem Controller sieht so aus:

Public async Task Connect (ICommunication-Kommunikation) (var communication = neue BluetoothCommunication ("COM9"); var brick = _brick = neuer Brick (Kommunikation); wait _brick.ConnectAsync ();)

Optional können Sie das Timeout für die Verbindung zum Controller angeben:

Warten Sie _brick.ConnectAsync (TimeSpan.FromSeconds (5));

Die Verbindung zum Gerät über USB oder WiFi erfolgt auf die gleiche Weise, jedoch werden die Objekte UsbCommunication und NetworkCommunication verwendet.

Alles Weitere Maßnahmen die mit dem Controller ausgeführt werden, werden über das Brick-Objekt ausgeführt.

Lass uns die Motoren drehen

Informationen zum Ausführen von Befehlen auf dem EV3-Controller finden Sie in der DirectCommand-Eigenschaft des Brick-Objekts. Versuchen wir zunächst, die Motoren zu starten.

Angenommen, unser Motor ist an Port A des Controllers angeschlossen, dann sieht das Starten dieses Motors mit 50% Leistung so aus:

Warten Sie _brick.DirectCommand.TurnMotorAtPowerAsync (OutputPort.A, 50);

Es gibt andere Methoden zur Steuerung des Motors. Sie können beispielsweise einen Motor mit den Methoden StepMotorAtPowerAsync() und StepMotorAtSpeedAsync() um einen bestimmten Winkel drehen. Insgesamt stehen mehrere Methoden zur Verfügung, bei denen es sich um Variationen der Einschaltmodi der Motoren handelt - in Zeit, Geschwindigkeit, Leistung usw.

Ein erzwungener Stopp wird von der Methode StopMotorAsync() ausgeführt:

Warten Sie _brick.DirectCommand.StopMotorAsync (OutputPort.A, true);

Der zweite Parameter gibt die Verwendung der Bremse an. Bei „false“ läuft der Motor bis zum Stillstand aus.

Auslesen von Werten von Sensoren

Der EV3-Controller verfügt über vier Sensoranschlüsse. Darüber hinaus verfügen die Motoren über eingebaute Encoder, wodurch sie als Sensoren verwendet werden können. Als Ergebnis haben wir 8 Ports, von denen wir Werte lesen können.

Auf Ports zum Lesen von Werten kann über die Ports-Eigenschaft des Brick-Objekts zugegriffen werden. Ports ist eine Sammlung von Ports, die auf dem Controller verfügbar sind. Um mit einem bestimmten Port zu arbeiten, müssen Sie ihn daher auswählen. InputPort.One ... InputPort.Four sind Sensorports und InputPort.A ... InputPort.D sind Motorgeber.

Var port1 = _brick.Ports;

Die Sensoren in EV3 können in verschiedene Modi... Beispielsweise kann ein EV3-Farbsensor verwendet werden, um Umgebungslicht zu messen, reflektiertes Licht zu messen oder Farbe zu erkennen. Um dem Sensor genau mitteilen zu können, wie wir ihn verwenden möchten, müssen wir daher seinen Modus einstellen:

Brick.Ports.SetMode (ColorMode.Reflective);

Nachdem der Sensor angeschlossen und seine Betriebsart eingestellt ist, können Sie Daten von ihm auslesen. Sie können Rohdaten, verarbeitete Werte und Prozentwerte abrufen.

Float si = _brick.Ports.SIValue; int raw = _brick.Ports.RawValue; Byte-Prozent = _brick.Ports.PercentValue;

Die Eigenschaft SIValue gibt die verarbeiteten Daten zurück. Es hängt alles davon ab, welcher Sensor verwendet wird und in welchem ​​Modus. Bei der Messung von reflektiertem Licht erhalten wir beispielsweise Werte von 0 bis 100, abhängig von der Intensität des reflektierten Lichts (schwarz / weiß).

Die RawValue-Eigenschaft gibt den vom ADC empfangenen Rohwert zurück. Manchmal ist es bequemer, es für die weitere Verarbeitung und Verwendung zu verwenden. In der EV3-Entwicklungsumgebung gibt es übrigens auch die Möglichkeit, "Rohwerte" zu erhalten - dazu müssen Sie den Block aus dem blauen Panel verwenden.

Wenn der von Ihnen verwendete Sensor Werte in Prozent erwartet, können Sie auch die PercentValue-Eigenschaft verwenden.

Ausführung von Befehlen in einem "Batch"

Angenommen, wir haben einen Roboterwagen mit zwei Rädern und möchten ihn an Ort und Stelle einsetzen. In diesem Fall müssen sich die beiden Räder in die entgegengesetzte Richtung drehen. Wenn wir DirectCommand verwenden und zwei Befehle nacheinander an den Controller senden, kann es zwischen ihrer Ausführung einige Zeit dauern:

Warten Sie _brick.DirectCommand.TurnMotorAtPowerAsync (OutputPort.A, 50); wait _brick.DirectCommand.TurnMotorAtPowerAsync (OutputPort.B, -50);

In diesem Beispiel senden wir einen Befehl, um Motor A mit Geschwindigkeit 50 zu drehen. Nach dem erfolgreichen Abschluss des Sendens dieses Befehls wiederholen wir dasselbe mit dem an Port B angeschlossenen Motor. Das Problem ist, dass die Befehle nicht sofort gesendet werden, also Motoren können zu unterschiedlichen Zeiten anlaufen - während der Befehl für Port B gesendet wird, Motor A schon beginnt sich zu drehen.

Wenn es für uns wichtig ist, die Motoren gleichzeitig drehen zu lassen, können wir Befehle in einem "Batch" an die Steuerung senden. In diesem Fall sollten Sie die BatchCommand-Eigenschaft anstelle von DirectCommand verwenden:

Brick.BatchCommand.TurnMotorAtPower (OutputPort.A, 50); _brick.BatchCommand.TurnMotorAtPower (OutputPort.B, -50); wait _brick.BatchCommand.SendCommandAsync ();

Jetzt werden zwei Befehle auf einmal vorbereitet, die dann in einem Paket an den Controller gesendet werden. Der Controller, der diese Befehle erhalten hat, beginnt gleichzeitig mit dem Drehen der Motoren.

Was kannst du noch tun

Neben dem Drehen der Motoren und dem Lesen der Sensorwerte gibt es eine Reihe anderer Dinge, die Sie mit dem EV3-Controller tun können. Ich werde nicht auf jeden von ihnen im Detail eingehen, ich werde nur eine Liste dessen auflisten, was getan werden kann:

  • CleanUIAsync (), DrawTextAsync (), DrawLineAsync (), etc. - Manipulation des eingebauten Bildschirms des EV3-Controllers
  • PlayToneAsync () und PlaySoundAsync () - Verwenden des integrierten Lautsprechers zum Abspielen von Sounds
  • WriteFileAsync (), CopyFileAsync (), DeleteFileAsync () (von SystemCommand) - Arbeiten mit Dateien

Abschluss

Verwenden von .NET für die Steuerung Roboter Mindstorms EV3 ist ein gutes Beispiel dafür, wie Technologie „aus verschiedenen Welten“ zusammenarbeiten kann. Als Ergebnis der Erforschung der EV3-API für .NET wurde eine kleine Anwendung erstellt, mit der Sie den EV3-Roboter von einem Computer aus steuern können. Leider gibt es ähnliche Anwendungen für die NXT, und sie haben den EV3 umgangen. Gleichzeitig sind sie in schneidigen gesteuerten Robotern nützlich, zum Beispiel beim Roboterfußball.

Die Anwendung kann unter diesem Link heruntergeladen und installiert werden:

- Wen möchten Sie - einen Sohn oder eine Tochter?
- Sohn!
- Wieso den?
- Ich möchte einen ferngesteuerten Hubschrauber !!!
Eine nicht witzige und akkordeonartige Anekdote, aber man kann diese Veröffentlichung nicht einfach nehmen und nicht mit ihm beginnen - er ist in auf die bestmögliche Weise zeigt die Essenz dessen, was im Folgenden besprochen wird. Aus dem Titel hast du jedoch schon verstanden, worum es ging.

Sorgfältig! Veröffentlichen kann einen unwiderstehlichen Wunsch nach einem Sohn auslösen.

Geschichtsunterricht

Die Firma LEGO (der Name kommt von dem dänischen Ausdruck "leg godt", "Spiel mit Vergnügen") braucht keine Einführung - sie wurde bereits 1932 gegründet, obwohl die ersten allen bekannten Plastiksteine ​​viel später, im Jahr 1947, auftauchten Bemerkenswert ist, dass LEGO-Steine, die in diesen Jahren hergestellt wurden, vollständig mit denen kompatibel sind, die jetzt produziert werden.

LEGO Pixar Firmengeschichte zum 80. Jubiläum:

Mittlerweile produziert das Unternehmen rund 20 Milliarden Teile pro Jahr, also mehr als 630 Stück pro Sekunde. Im Strom ausrichten mehr als 600 verschiedene Designer und es ist einfach so, dass die Mindstorms-Serie eine Art Gipfel des technischen Denkens ist, der anspruchsvollste Designer. Kurz gesagt, es ermöglicht Ihnen, vollwertige Roboter für sich selbst zu bauen.

Wie von Wikipedia angegeben, wurde die LEGO Mindstorms-Serie erstmals 1998 eingeführt. 8 Jahre später (2006) wurde das LEGO Mindstorms NXT 1.0 Set geboren und bereits 2009 - das LEGO Mindstorms NXT 2.0 Set. Heute reden wir über LEGO Mindstorms EV3- die letzte (dritte) Generation des Konstruktor-Terminators, der vor fast einem Jahr am 4. Januar 2013 vorgestellt wurde (er erschien nur sechs Monate später im Handel).

Unterschiede zwischen EV3 und NXT 2.0

Im Prinzip bleibt der Grundgedanke gleich – die Serie ist für die Montage von programmierbaren Robotern gedacht. Daher stellt sich als erstes die Frage, was sich seit der Veröffentlichung des vorherigen Konstruktors geändert hat und lohnt es sich, einen neuen zu kaufen? Der Hauptunterschied sind die aktualisierten Sensoren / Motoren und vor allem der Smart EV3 Brick (EV steht für EVolution):
Wie Sie sehen, ist der Unterschied ziemlich groß - es wäre seltsam, wenn in 4 Jahren nur die Bildschirmauflösung und ein Satz Aufkleber geändert würden.

Ein weiterer Unterschied besteht darin, dass die NXT-Serie in mehreren Versionen (in verschiedenen Jahren) verkauft wurde und in verschiedenen Sets, Basic und Resource, präsentiert wurde. Der neue EV3 ist damit einfacher - obwohl er in der Basisversion verkauft wird - (601 Teile), aus denen Sie alles zusammenbauen können. Wenn Sie möchten, können Sie jedoch ein Grundset (541 Teile) mit zusätzlichen Sensoren und Teilen kaufen (auch keine Teile von gewöhnlichen Designern verwenden). Achten Sie übrigens auf die fünfstelligen Teilenummern – auf diese Nummerierung hat das Unternehmen 2013 umgestellt.

Hinsichtlich der Kompatibilität wurde hier alles Mögliche getan. Alle NXT-Sensoren und -Motoren sind EV3-kompatibel und werden als NXT erkannt. EV3-Sensoren funktionieren nicht mit NXT, aber EV3-Motoren scheinen kompatibel zu sein. Ein NXT-Stein kann mit der EV3-Software programmiert werden, aber einige Funktionen sind möglicherweise nicht verfügbar, aber Sie können einen EV3-Stein nicht mit der NXT-Software ohne Lösungen von Drittanbietern programmieren.

In der Kiste

Schon als ich selbst klein war und mit meinen Eltern in die zentrale Kinderwelt (als es noch war), in die Lubjanka ging - schon damals konnte ich die Augen nicht von den Kisten mit LEGO lassen. Damals gab es weder Giktime, noch Habr, aber seitdem sind die Boxen gleich hell und saftig geblieben, auch im Erwachsenenalter aktivieren sie den Speichelfluss) In dieser Hinsicht müssen andere Hersteller noch viel lernen.

Teil der Box ist eigentlich (wenn geschnitten) eine Schiene mit verschiedenen Farbzonen, die für Roboter mit Farbsensoren verwendet werden kann.

Alle Teile sind ordentlich in Sachets geordnet, das Set enthält eine Anleitung und ein Set Aufkleber. Schauen wir uns kurz an, was im Kit enthalten war.

Mich selber EV3, er ist ein intellektueller Block, er ist das Herz des Systems, er ist ein "Ziegel" oder "Würfel". Dient als Schaltzentrale und Kraftwerk für Ihren Roboter und verfügt über folgende Funktionselemente:

- Multifunktionales Monochrom-Display mit einer Auflösung von 178x128
- Sechs-Tasten-Bedienoberfläche mit Hintergrundbeleuchtungs-Wechselfunktion (3 Farben) zur Anzeige des Betriebsmodus
- 4 Eingänge (1, 2, 3, 4) zum Anschluss von Sensoren
- 4 Ausgangsports (A, B, C, D) für die Befehlsausführung
- 1 Mini-USB-Anschluss zum Anschließen des EV3 an einen Computer
- 1 USB-Host-Port (zum Beispiel zum Verbinden mehrerer EV3 in einer Kette)
- 1 Steckplatz für microSD-Speicherkarten (bis zu 32 GB) - um den verfügbaren EV3-Speicher zu erhöhen
- Eingebauter Lautsprecher

Der EV3-Stein unterstützt auch Bluetooth, WiFi (über den NETGEAR WNA1100 Wireless-N 150 USB-Adapter) und verfügt über eine Programmierschnittstelle für die Kommunikation mit Computern, mit der Sie Programme erstellen und Datenprotokolle direkt auf dem EV3-Mikrocomputer einrichten können.

»Großer EV3-Servomotor (2 Stück)... Entwickelt für die Arbeit mit dem EV3-Mikrocomputer und verfügt über einen integrierten Rotationssensor mit einer Messgenauigkeit von 1 Grad. Mit diesem Sensor kann der Motor mit anderen Motoren verbunden werden, sodass sich der Roboter mit konstanter Geschwindigkeit bewegen kann. Darüber hinaus kann der Rotationssensor in verschiedenen Experimenten verwendet werden, um Entfernungs- und Geschwindigkeitsdaten genau auszulesen.

- Eingebauter Rotationssensor mit Messgenauigkeit bis zu 1 Grad
- Maximale Drehzahl bis 160-170 U/min
- Maximales Drehmoment 40 Ncm

»Mittleres EV3-Servo. Ideal für Aufgaben, bei denen Geschwindigkeit und Reaktionsfähigkeit sowie die Größe des Roboters wichtiger sind als seine Kapazität.

- Eingebauter Rotationssensor mit Messgenauigkeit bis zu 1 Grad
- Maximale Drehzahl bis 240-250 U/min
- Maximales Drehmoment von 12 Ncm
- Automatische Identifizierung Software EV3

»Farbsensor (EV3). Kann 8 verschiedene Farben erkennen, kann aber auch als Lichtsensor verwendet werden.

- Misst reflektiertes Rotlicht und Umgebungslicht von völliger Dunkelheit bis zu hellem Sonnenlicht
- Behebt und definiert 8 Farben
- Abtastrate bis 1 kHz
- Automatische Identifizierung durch EV3-Software

»Berührungssensor (EV3). Ermöglicht dem Roboter, auf Berührungen zu reagieren, erkennt drei Situationen: berühren, klicken und loslassen. Es ist auch in der Lage, die Anzahl der Klicks zu bestimmen, sowohl einzelne als auch mehrere.

»Digitaler IR-Sensor (EV3). Um die Annäherung des Roboters zu bestimmen. Auch in der Lage, IR-Signale von einem IR-Beacon zu erfassen, was die Erstellung von ferngesteuerten Robotern ermöglicht, Navigationssysteme Hindernisse zu überwinden.

- Messungen der Annäherung / Entfernung in einem Radius von 50-70 cm
- Erfassungsradius von IR-Signalen bis zu 2 Meter
- Bis zu 4 einzelne Signalempfangskanäle
- Empfangen Sie IR-Fernsteuerungsbefehle
- Automatische Identifizierung durch EV3-Software

»Infrarot-Fernsender. Entwickelt für die Verwendung mit dem EV3-IR-Sensor. Die Bake sendet ein vom Sensor erfasstes IR-Signal aus - kann als Fernbedienung für den EV3-Mikrocomputer verwendet werden und Signale an den IR-Sensor übertragen.

- Bis zu 4 einzelne Signalübertragungskanäle (Schalter direkt am Körper)
- Hat eine Taste und einen Kippschalter für Ein/Aus
- Wenn die IR-Bake funktioniert, leuchtet die grüne LED
Automatische Abschaltung bei Leerlauf von mehr als 1 Stunde
- Aktionsradius bis zu 2 Meter

Eine separate Tasche enthält Kabel zum Anschluss von Sensoren und Motoren an den Cube sowie ein USB-Kabel zum Anschluss des Cubes an einen Computer.

Es ist erwähnenswert zwei wichtige Punkte... Erstens gibt es andere Lego-Sensoren wie:

»Kreiselsensor (EV3). Der digitale Kreiselsensor EV3 misst die Drehbewegung des Roboters und erkennt Änderungen seiner Bewegung und Position. Winkelmessmodus mit einer Genauigkeit von ± 3 Grad; das eingebaute Gyroskop erkennt Drehungen mit einem Drehmoment von bis zu 440 Grad / s; Abtastrate bis 1 kHz.

»Ultraschallsensor (EV3). Erzeugt Schallwellen und zeichnet deren Reflexionen von Objekten auf und misst so die Entfernung zu Objekten. Kann auch im Sonarmodus verwendet werden und einzelne Wellen aussenden. Es kann Schallwellen einfangen, die die Ausführung von Programmen auslösen. Misst Entfernungen von 1 bis 250 cm und die Messgenauigkeit beträgt ± 1 cm.

Und zweitens werden Sensoren und weiteres Zubehör von Drittherstellern wie HiTechnic und Mindsensors unterstützt – sie bieten alle Arten von Joysticks, Infrarot-Entfernungssensoren, Magnetsensoren, Kompasse, Gyroskope, Beschleunigungsmesser, Timer, Multiplexer, Kugelgelenke usw. Wenn Sie also die Frage stellen, können Sie viele interessante Dinge finden.

Im Allgemeinen ist LEGO, wie Sie bereits verstanden haben, für echte Kerle!

Erstes Modell

Dem Set liegt eine Papierbauanleitung bei, nach der Sie ein einzelnes Modell zusammenbauen können - eine Art selbstfahrendes Kettenfahrzeug.

Zuerst war ich überrascht, denn selbst in den einfachsten Sets (Serien wie LEGO Creator) gibt es immer mehrere Anleitungen, und dann haben sie plötzlich das Papier bereut oder sie fanden keinen Platz in der Box. Es stellte sich heraus ... dass nur auf der offiziellen Website vorgeschlagen wird, 17 verschiedene Roboter aus einem Teilesatz zusammenzubauen! Daher wären 17 Anleitungen in einer Box wirklich überflüssig (sowohl für die Logistik als auch für die Wälder der Natur). Die Roboter heißen EV3RSTORM, GRIPP3R, R3PTAR, SPIK3R und TRACK3R. ROBODOZ3R, BANNER PRINT3R, EV3MEG, BOBB3, MR-B3AM, RAC3 TRUCK, KRAZ3, EV3D4, EL3CTRIC GUITAR, DINOR3X, WACK3M und EV3GAME - Anleitungen dafür müssen aus dem Internet heruntergeladen werden, sowie Software zum Verbinden von EV3 mit ein Computer.

Die Anleitung ist am ausführlichsten, es ist schwer zu vermasseln. Der Sohn sagte dass die Teile in den Tüten nicht sehr gut verpackt sind - auf der allerersten Seite müssen Sie möglicherweise 3 verschiedene Tüten öffnen, aber das sind auch Kleinigkeiten.

Der EV3-Cube muss mit Strom versorgt werden, wofür Sie einen Akku (nicht im Lieferumfang enthalten) oder 6 AA-Batterien verwenden können. Vorausschauend - 2 weitere Batterien (aber schon kleine Finger) werden benötigt, um das IR-Beacon (auch bekannt als die Fernbedienung) mit Strom zu versorgen.

Das Kind (7 Jahre alt) baute das erste Modell in etwa 30 Minuten zusammen.

Der Vorgang stellte sich als nicht so spannend heraus wie zum Beispiel das Zusammenbauen von LEGO Technics Modellen – die Anleitung legt den Zusammenbau weit entfernt vom interessantesten Roboter nahe: Es gibt nur große Teile, darunter fast alle Sensoren und Motoren, anscheinend um die Arbeit zu demonstrieren von jedem von ihnen.

Aber das Ergebnis übertraf alle Erwartungen der Kinder - zum ersten Mal baute er ein Modell zusammen, das sich selbst bewegen konnte: hin und her, drehen, an Ort und Stelle drehen, mit Tentakeln verdrehen ...

Der Start erfolgt vom EV3-Würfel aus durch Drücken einiger Tasten auf der Vorderseite. Einige Aktionen können direkt auf dem Würfel programmiert werden: Wählen Sie die Anzahl der Iterationen, richten Sie das Tonsignal ein usw. - Sie können nicht alles in einem Artikel, Rauchanleitungen, erzählen.

Software

Das obige Modell musste nicht über einen Computer programmiert werden. Nichtsdestotrotz gibt es eine solche Möglichkeit, während auf verschiedenen Ebenen von Hardcore.

Am einfachsten ist es für ein Kind, mit der vom Hersteller angebotenen Software zu beginnen, die sowohl für Windows als auch für OS X verfügbar ist. Im zweiten Fall wiegt das Distributions-Kit 666 MB und installierte Anwendung wird ein Gigabyte beanspruchen. Es heißt LEGO Mindstorms EV3 Home Edition und wurde in Zusammenarbeit mit der berüchtigten Firma LabView entwickelt. Auf der LEGO-Website gibt es einige Programmier-Tutorials.

Unmittelbar nach dem Start erscheint vor uns eine interaktive "Garage" von Robotern, die sich aus einem Set zusammenbauen lässt:




Wir wählen diejenige aus, die uns gefällt und beginnen mit dem Sammeln: Wir sehen eine interaktive Montageanleitung, Videos sowie eine Auswahl verschiedener Missionen, die mit dem zusammengebauten Roboter durchgeführt werden können. Deshalb wog die Verteilung so viel.








Ich sehe keinen Grund, alles im Detail zu beschreiben: Sie werden die Anwendung schneller selbst herunterladen und sehen, was da ist und auf welchem ​​​​Level. Es sei denn, ich erwähne einen der Nachteile, an die ich mich am meisten erinnere: Die Benutzeroberfläche ist nicht die freundlichste (insbesondere für Kinder) - die Anwendung riecht nach Bankkunde.

Anzumerken ist noch einmal, dass der EV3-Würfel von einem Smartphone aus gesteuert werden kann Betriebssysteme Android oder iOS, für die es separate Anwendungen gibt.

Wem das alles nicht reicht, der kann den Hardcore-Grad erhöhen. Es gibt verschiedene Firmwares für den EV3-Cube, mit denen Sie seine Fähigkeiten, Geschwindigkeit usw. Zum Beispiel, alternative Firmware leJOS EV3 ist eine Firmware mit jvm, mit der Sie den EV3 in der Sprache Java programmieren können. Möchten Sie in einer anderen Sprache? Ok Google - Sie haben fast 60 Optionen zur Auswahl: ASM / C / C ++ / Perl / Python / Ruby / VB / Haskell / Lisp / Matlab / LabVIEW und vieles mehr.

Ich werde aus mehreren Gründen nicht näher darauf eingehen: Erstens ist der Programmierer von mir völlig falsch (alle Hoffnungen für meinen Sohn), zweitens haben wir es bisher geschafft, nur ein Modell zusammenzubauen (und am Wochenende werden wir nehmen im zweiten) und im dritten - Sie haben diesen Designer bereits bestellt und werden bald alles selbst herausfinden;) Aber im Ernst, der Artikel ist bereits riesig - es ist besser, zwei Referenzen zu studieren: eins und zwei.

Ein weiteres großes Plus sind die LEGO Communities, die auf der ganzen Welt voll sind. Sie können sicher sein, dass Sie in jeder Phase von Experimenten mit Robotern immer Gleichgesinnte und diejenigen finden, die bei der Lösung des Problems helfen können. Neben befreundeten Communities werden im Internet eine Vielzahl unterschiedlicher Anleitungen, Modelle, Quellen, Videos und Schulungsmaterialien gepostet. All dies bedeutet eines: Sie werden sich mit Mindstorms nicht langweilen.

Vorteile und Nachteile

Die Produkte der Firma LEGO sind seit mehreren Jahren für ihre Qualität bekannt, daher gibt es diesbezüglich keine Beschwerden: eine spektakuläre Box, Teile, Aufkleber, Anleitung - alles ist bis ins kleinste Detail ausgearbeitet. Deshalb erlaube ich mir, die Augen vor all den "kleinen Pluspunkten" gegenüber einem großen zu verschließen: die Vielfalt der Kombinationsmöglichkeiten von Designs, die sich schon aus einem Standard-Teilesatz zusammensetzen lassen (über zusätzliches muss nicht gesprochen werden) Sets) ist nur durch Ihre Vorstellungskraft begrenzt. Die Möglichkeit, das zusammengebaute Modell auf unterschiedliche Weise zu programmieren, ist ein weiteres Plus, das in der Tat viel mehr ist, als es auf den ersten Blick erscheint.

Aber von den wirklich erheblichen Nachteilen fand ich nur einen: den Preis. Im Sommer konnte LEGO Mindstorms EV3 für 14-15.000 gekauft werden, aber der schnelle Anstieg der Rate des immergrünen Präsidenten erhöhte den Preis auf 17.000. Jemand wird sagen: „ ja, cooler Konstrukteur ... ABER TEUER F!„Und er wird Recht haben. Während ich das Kit und seine Fähigkeiten studierte, war ich überwältigt von der Menge der Ressourcen, die in seine Erstellung investiert wurden. Ich verstehe, dass es eine Menge Elektronik und alles andere gibt ... aber immer noch kann ich mich mit solchen Kosten für den Konstrukteur nicht abfinden. Für dieses Geld können Sie eine Person aus dem Gefängnis holen (c) viele andere Geschenke auswählen: einen Quadrocopter, ein funkgesteuertes ICE-Modell, ein Elektromotorrad in Originalgröße, ein Ausbildungsjahr im Sportbereich, ein Tablet .. .und vieles mehr! Aber Sie können jederzeit Sport treiben und es scheint, als ob es kein Geschenk ist, und der gleiche Quadrocopter wird bis zur ersten schweren Panne summen. Lego ist in dieser Hinsicht ein viel länger anhaltendes Geschenk, das das Geschäftliche mit dem Vergnügen verbindet, mit unrealistisch großem Potenzial. Ja, Sie können auch auf demselben Tablet programmieren lernen, aber wenn Sie das Ergebnis Ihrer Arbeit nicht mehr mit den Händen spüren können, ist es nicht mehr so ​​aufregend. Entscheiden Sie daher selbst.

Oh ja. Der Hersteller positioniert dieses Set für Kinder ab 10 Jahren, aber auch ein 7-jähriges Kind interessierte sich für das Spielen - der Prozess der rasanten Entwicklung begann. Wieviel denkst du diese Männer und wann kaufen sie ihren ersten Porsche?)

Das Ende

Jeder von uns verbindet das neue Jahr mit Schneewittchen, einem Weihnachtsbaum, Mandarinen, einer Schüssel Olivier und natürlich Geschenken. Und wenn wir über Kinder sprechen, dann stehen die Gaben, die sie haben, bei weitem nicht an letzter Stelle auf dieser Liste. Und wenn es so ist, dass Ihr Sohn erwachsen wird, können Sie nicht einmal daran zweifeln, dass dieser Konstrukteur unter dem Baum ihn zum Freudenkreischen der Schweine bringen wird. Und wenn man bedenkt, dass Sie nach dem Neujahrsfeuerwerk fast eine Woche Zeit haben, mit Ihrem Kind tiefer in die Würfel und Drähte zu graben ... kaufen Sie sein Kind, oder?

Frohes Neues Jahr!

Fortsetzung des Themas:
Computer

Wie aktualisiere ich die Software? Wir bieten Ihnen verschiedene Möglichkeiten, die Software zu aktualisieren, nämlich: Update mit Speicherkarte oder Update "per ...