Inhaltsverzeichnis:

STEM - Sprach- und Bildsteuerung - Gunook
STEM - Sprach- und Bildsteuerung - Gunook

Video: STEM - Sprach- und Bildsteuerung - Gunook

Video: STEM - Sprach- und Bildsteuerung - Gunook
Video: MINT und Vorlesen in Aktion: Formen / STEM and Reading Aloud Activity: Shapes (engl. subtitles) 2024, November
Anonim
STEM - Sprach- und Bildsteuerung
STEM - Sprach- und Bildsteuerung
STEM - Sprach- und Bildsteuerung
STEM - Sprach- und Bildsteuerung
STEM - Sprach- und Bildsteuerung
STEM - Sprach- und Bildsteuerung

In den letzten Jahren ist es immer einfacher geworden, mit Sprach- oder Bilderkennung etwas zu machen. Beides wird heutzutage immer häufiger verwendet. Und das sind beliebte Themen bei DIY-Projekten. Die meiste Zeit erstellt mit der Software/API von einem der folgenden Unternehmen:

  • Google Voice.
  • Amazon-Alexa.
  • Kognitive Dienste von Microsoft.

Es gibt sogar einige DIY-Kits, wie das Google AIY Voice Kit, um Bastler zu unterstützen. Die meisten dieser Produkte verwenden einen Raspberry Pi oder ein ähnliches Board. Leider ist dies nicht für diejenigen geeignet, die nicht wissen, wie man mit einer Programmiersprache wie Python umgeht.

Bei diesem anweisbaren geht es um Spracherkennung und Bild-OCR, ohne Kenntnisse einer Programmiersprache. Logisches Denken bleibt jedoch eine Voraussetzung. Dabei kommt das Produkt Makeblock Neuron in Kombination mit einer flussbasierten Programmierumgebung zum Einsatz.

Dieses Neuron-Produkt wurde 2017 als Kickstarter-Projekt gestartet. Es ist eine elektronische Bausteinplattform, die alle Arten von elektronischen "Blöcken" verwendet, die durch magnetische Verbinder verbunden werden können. Und ist im Grunde als MINT-Produkt (Science, Technology, Engineering, and Mathematics) gedacht. Dieses Produkt konzentriert sich daher auf logisches Denken und (lernen) zu programmieren.

Es gibt etwa 30 verschiedene Arten von Neuronenblöcken. Zum Beispiel verschiedene Arten von Sendern und Empfängern, Tasten, LEDs, Sensoren und Motoren. Die meisten Blöcke kommunizieren nur miteinander. Aber einer der Blöcke, der WiFi-Block, kann mit dem Internet verbunden werden. Dies ermöglicht den Zugriff auf Internetanwendungen wie die Microsoft Cognitive Services.

Die ersten Schritte dieses Instructable beginnen mit einer kurzen Einführung in das Neuron-Produkt und wie man sie programmiert. Dazu gehören die flussbasierte Programmierung und einige der verfügbaren elektronischen Komponenten. Es folgen einige Beispiele mit Vision und Spracherkennung. Und schließlich ein kleiner Schildkrötenroboter. Die mit einem Joystick ferngesteuert werden kann. Es ist möglich, mit diesem Roboter Spracherkennung zu verwenden. Allerdings müssen die Reaktionszeiten der Sprachsteuerung berücksichtigt werden.

Darüber hinaus gibt es einige zusätzliche technische Informationen. Diese Schritte liefern Hintergrundinformationen und geben einen Einblick in das Neuron-Produkt.

G o s s e A d e m a

Schritt 1: Neuron Explorer-Kit

Neuron Explorer-Kit
Neuron Explorer-Kit
Neuron Explorer-Kit
Neuron Explorer-Kit

Neuronenblöcke sind wie elektronische Bausteine und die Farbe jedes Neurons zeigt seine Hauptfunktion. Energie- und Kommunikationsblöcke sind grün; Eingabeblöcke sind gelb; Kontrollblöcke sind orange; Und Ausgabeblöcke sind blau. Jedes Neuron hat seine eigene dedizierte Funktion, und sie beginnen miteinander zu kommunizieren, wenn sie miteinander verbunden sind.

Das Produkt begann als Kickstarter-Projekt im April 2017. Und dieses instructable verwendet das Explorer-Kit. Dieses Kit enthält die folgenden Teile:

  • WLAN (Neuron)
  • Kraft (Neuron)
  • Mikrofon & Lautsprecher (USB)
  • LED-Panel 8x8 RGB (Neuron)
  • Joystick (Neuron)
  • Knopf (Neuron)
  • LED-Streifentreiber (Neuron)
  • LED-Streifen 50cm (15 LEDs)
  • Dualer DC-Motortreiber (Neuron)
  • Gleichstrommotor (2x)
  • Motorhalterung (2x)
  • Räder (2x)
  • Mini-Rad
  • Dual-Servomotortreiber (Neuron)
  • Servomotor (2x)
  • Spracherkennung (Neuron)
  • Ultraschallsensor (Neuron)
  • Drahtloser Sender (Neuron)
  • Drahtloser Empfänger (Neuron)
  • Kamera (USB)
  • Laserpointer
  • Neuronentafel (4x)
  • Magnetdraht 10 cm (2x)
  • Magnetdraht 20 cm (2x)
  • Micro-USB-Kabel 20 cm (2x)
  • Micro-USB-Kabel 100 cm (2x)

Dieses Kit enthält alle elektronischen Teile für alle Arten von MINT-Projekten. Sein Hauptaugenmerk scheint die Herstellung kleiner Roboter zu sein. Aber die Kamera und die Spracherkennung geben ihm viel mehr Möglichkeiten als nur Roboter.

Jedes Neuron enthält einen Magneten. Und kann auf Metallgegenständen oder auf den mitgelieferten Neuron-Boards platziert werden.

Das einzige Teil, das in diesem Explorer-Kit "fehlt", ist ein Linienfolger-Sensor. Dies ist ein Teil des "All in One"-Kits. Dieser Sensor wäre die logischere Wahl anstelle des LED-Streifens oder der LED-Matrix.

Schritt 2: Neuronenblöcke

Neuronenblöcke
Neuronenblöcke
Neuronenblöcke
Neuronenblöcke
Neuronenblöcke
Neuronenblöcke

Mehrere Neuron-Pakete wurden über eine Kickstarter-Kampagne verkauft. Und in diesem Moment sind die ersten Pakete für den regulären Verkauf verfügbar.

Es gibt etwa 30 verschiedene Blöcke, die mit Magnetverbindern miteinander verbunden werden können. Dadurch entsteht eine Reihe von Blöcken. Die über die App (Android, iOS) miteinander kommunizieren.

Es gibt einen wiederaufladbaren Powerblock, der alle angeschlossenen Blöcke mit Strom versorgt. Und alle Kommunikationsblöcke verfügen über einen Micro-USB-Anschluss, über den die Blöcke mit Strom versorgt werden können. Eine Kette beginnt normalerweise mit einem Kommunikationsblock. Und wenn dieser nicht über USB mit Strom versorgt wird, sollte der nächste Block ein Stromblock sein.

Die Energie- und Kommunikationsblöcke haben eine grüne Farbe, und es gibt 5 davon:

  • Leistung.
  • Drahtloser Empfänger.
  • Drahtloser Sender.
  • W-lan.
  • Bluetooth.

Die App und das Scratch-Programm erfordern eine WiFi- oder BlueTooth-Verbindung. Die 2 Funkblöcke können für ferngesteuerte Projekte mit kurzer Distanz verwendet werden.

Das Explorer Kit enthält drei orangefarbene Kontrollblöcke:

  • Knopf.
  • Joystick.
  • Spracherkennung.

Und zwei gelbe Sensoren:

  • Kamera
  • Ultraschallsensor

Steuer- und Sensorblöcke liefern Eingaben für Ihr Programm. Der Drehknopf gibt einen Wert zwischen 0 und 100 an und kann als Dimmer oder zur Steuerung der Motordrehzahl verwendet werden. Der Joystick gibt zwei Werte zwischen -100 und 100 an, einen Wert für jede Richtung. Der Ultraschallsensor misst den Abstand in Zentimetern. Der Ausgabewert liegt zwischen 0 und 400.

Die fünf blauen Ausgangsblöcke in diesem Kit sind:

  • LED-Streifentreiber + LED-Streifen.
  • LED-Panel.
  • DC-Motortreiber
  • Servomotortreiber
  • Mikrofon und Lautsprecher

Die Ausgabeblöcke sind sehr unterschiedlich. Dies ermöglicht viele verschiedene Arten von Projekten. Wie eine LED-Lampe, ein sich bewegender Roboter und/oder ein Tonaufnahmegerät.

Alle Neuron-Blöcke sind auf der Kickstarter-Seite aufgelistet.

Schritt 3: Programmieren des Neurons

Programmierung des Neurons
Programmierung des Neurons
Programmierung des Neurons
Programmierung des Neurons

Es gibt mehrere Möglichkeiten, die Neuron-Blöcke zu verwenden.

  1. Offline.
  2. Online mit einer App.
  3. Online mit mBlock Scratch.

Offline bietet eine einfache Möglichkeit, die verschiedenen Teile einzuführen. Dies erfordert keine Programmierung. Die Online-Programmierung kann mit einer App (Android/iOS) oder einem Computerprogramm (mBlock 4.0) erfolgen. Der WiFi-Block hat die Möglichkeit, ein Programm zu speichern. Dieses Programm läuft weiter, bis es von der App gestoppt wird.

Die App ist einfacher zu bedienen als die mBlock 4.0 Software. Und nicht alle Neuron-Blöcke sind derzeit in der mBlock-Software vorhanden.

In der Neuron-Box befinden sich einige Karten mit Beispielprojekten. Diese lassen sich mit Hilfe der App zusammenstellen und zeigen die Grundprinzipien der verschiedenen Bausteine.

Schritt 4: Offline-Modus

Offline-Modus
Offline-Modus
Offline-Modus
Offline-Modus
Offline-Modus
Offline-Modus

Dieser Modus ist hauptsächlich zum Kennenlernen des Produkts gedacht und erfordert keine Programmierung.

Jeder Sensor des Ausgangsblocks kann eine Ausgabe an die rechts angebrachten Blöcke liefern. Und jeder Anzeigeblock kann von links Eingangssignale empfangen; Gibt seine Ausgabe an; Und leitet das Eingangssignal an weitere rechts angeschlossene Blöcke weiter.

Dadurch enthält eine Offline-Kette immer mehrere Blöcke in einer festen Reihenfolge: Ein grüner Power-Block; Ein gelber oder oranger (Eingabe- oder Steuer-) Block; Und einen oder mehrere blaue Ausgabeblöcke. Und dieser Offline-Modus funktioniert nur von links nach rechts (mit lesbaren Buchstaben).

Ein Eingangs- oder Steuerblock steuert alle folgenden Ausgangsblöcke. Und die Ausgabe hängt vom Typ des Eingabeblocks ab. Beispiel: Der Regler verhält sich wie ein Dimmer, wenn er an eine LED-Matrix angeschlossen ist. Und der Joystick zeigt die Richtung auf der LED-Matrix an. Signale von mehreren Eingangsblöcken können im Offline-Modus nicht kombiniert werden. Nur das Signal des letzten Blocks wird an die Ausgangsblöcke weitergegeben.

Das Kombinieren von Eingangs- und/oder Steuerblöcken erfordert den Online-Modus (Programmiermodus).

Schritt 5: Flussbasierte Programmierung

Flussbasierte Programmierung
Flussbasierte Programmierung

Wenn Neuron-Blöcke mit einem Tablet (iPad) verbunden sind, werden sie automatisch im Online-Modus aktiv. Jetzt können alle verbundenen Blöcke verwendet werden, um miteinander zu interagieren. Während die Programmumgebung logische und mathematische Operationen hinzufügt.

Die Dokumentation zur Programmierung der Neuron-Blöcke ist auf der Makeblock-Website verfügbar. Es gibt auch ein Forum, das viele Informationen gibt. Da dieses Produkt ziemlich neu ist, gibt es regelmäßige Updates und Ergänzungen der Dokumentation auf der Makeblock-Website.

Die Neuron App verwendet eine flussbasierte Programmierung. Neben den Neuron-Blöcken, die Ausgabewerte liefern oder Eingabewerte benötigen, gibt es alle möglichen Programmierknoten. Diese sind in mehrere Bereiche unterteilt und wurden auf verschiedenen Registerkarten innerhalb der App platziert. Standardmäßig gibt es 4 Registerkarten:

  • Basic
  • Kontrollen
  • Zeit
  • Fortschrittlich

Diese Programmierknoten können ohne Neuron-Blöcke verwendet werden.

Die Makeblock Online-Dokumentation zeigt die Funktionen der App-Schnittstelle.

Logik und Mathematik

Dies sind Grundfunktionen. Und haben einen oder zwei Eingänge und einen Ausgangswert. Es gibt mehrere einfache Berechnungen und Vergleiche.

Anweisbarer Roboter
Anweisbarer Roboter

Die Toggle-Funktion wechselt ihren Zustand jedes Mal, wenn sie ein 'Y' empfängt.

Zahlen

Es gibt zwei Nummernknoten, eine "Basic"- und eine "Controls"-Version (sie befinden sich auf verschiedenen Registerkarten). Die Steuerungsversion ist eine feste Nummer, während die Basisnummer einen "Ein"- und "Aus"-Zustand hat. Das folgende Beispiel zeigt den Unterschied. Das Intervall schaltet jede Sekunde ein ('Y') und aus ('N'). Die Ausgabe der grünen Zahl ist 5, wenn die Eingabe 'Y' ist, ansonsten ist der Wert 0.

Anweisbarer Roboter
Anweisbarer Roboter

Der Kurvenknoten zeigt einen Graphen. Das ist nützlich, um die verschiedenen Ausgabewerte anzuzeigen. Andere nützliche Indikatoren sind das Label und der Indikatorknoten.

Reihenfolge

Die Sequenz wird wiederholt oder nur einmal ausgeführt, wenn die Eingabe 'Y' ist. Dies ermöglicht eine Abfolge von Aktionen.

Anweisbarer Roboter
Anweisbarer Roboter

Die Sequenz erhält ein Signal, wenn der Schalter eingeschaltet wird. Die Ausgabe der Sequenz wird an einen Indikator übergeben.

Beachten Sie die Farbe der Linien: Die blauen Linien zeigen den aktuellen Fluss an. Und der Kreis rechts neben einem Knoten zeigt immer die aktuelle Ausgabe.

Skala

Der Skalierungsknoten übersetzt einen Eingabebereich in einen Ausgabebereich. Zum Beispiel kann 0 bis 100 in einen Wert zwischen 0 und 255 übersetzt werden.

Anweisbarer Roboter
Anweisbarer Roboter

Werte oberhalb des Maximums des Eingabebereichs führen zu einem Wert oberhalb der maximalen Ausgabeskala! Der Filter kann verwendet werden, um den Wert zu begrenzen.

Ventil

Dies ist ein Knoten, der den unteren Eingabewert übergibt, wenn der obere Eingabewert wahr ist. Dies lässt sich am besten an einem Beispiel erklären:

Anweisbarer Roboter
Anweisbarer Roboter

Der grüne Intervallknoten wechselt jede halbe Sekunde zwischen 0 und 1. Die Ausgabe dieses Knotens ist auf dem oberen Graphen sichtbar. Der violette Pulsknoten gibt einen Sinusausgang mit Werten zwischen -255 und 255. Dies wird in der unteren Grafik angezeigt.

Sowohl das Intervall als auch der Sinus werden für den Ventilknoten eingegeben. Und der Ausgabewert ist 0, wenn der Intervallwert 'N' ist. Wenn der Intervallwert 'Y' ist, entspricht der Ausgangswert dem Sinuseingangswert. Dies ergibt das mittlere Diagramm.

Schritt 6: Flow-Beispiel

Flow-Beispiel
Flow-Beispiel
Flow-Beispiel
Flow-Beispiel

Die Ablaufprogrammierung lässt sich am besten anhand eines Beispiels veranschaulichen. Dieses Beispiel verwendet keine Neuron-Blöcke. Und das kann jeder nach dem Download der App programmieren. Öffnen Sie die Codeumgebung und erstellen Sie ein neues Programm. Wählen Sie '(X)', wenn Sie nach einer Verbindung gefragt werden, und beginnen Sie mit der Programmierung.

Ziehen Sie einfach die gewünschten Knoten in den Programmbereich und verbinden Sie die Linien. Klicken Sie auf die Knoten, um die Möglichkeiten zu sehen und die Werte/Einstellungen zu ändern.

Die Ausgabe der Schaltflächen ist standardmäßig 'N'. Das Drücken einer Taste gibt ein 'Y' als Ausgabe. Diese Ausgabe wird an einen Zufallszahlengenerator weitergeleitet. Dadurch wird jedes Mal, wenn die Eingabe den Wert 'Y' hat, eine neue Zahl (zwischen 0 und 100) generiert und die Ausgabe an den/die nächsten Knoten übergeben.

Die Vergleichsknoten benötigen 2 Eingaben und geben den Wert 'Y' zurück, wenn die Bedingung erfüllt ist. Der obere Vergleichsknoten prüft, ob der Wert des A-Ports größer ist als der Wert des B-Ports. Wenn dies der Fall ist, wird die Lampe grün. Derzeit ist die untere Lampe grün, da 21 unter 23 liegt.

Es erfordert etwas Übung, auf diese Weise zu programmieren. Der große Vorteil ist, dass Sie sich keine Gedanken über die Syntax des Codes machen müssen. Und jeder Knoten zeigt seinen Ausgabewert an. Außerdem repräsentieren die blauen Linien den Datenfluss.

Schritt 7: Bildsteuerung

Bildsteuerung
Bildsteuerung
Bildsteuerung
Bildsteuerung

Es gibt zwei Neuron-Blöcke, die mit einem USB-Kabel an den WiFi-Block angeschlossen werden können: Die Kamera und das Mikrofon/Lautsprecher. Beide Geräte sind normale USB-Geräte und können an einen PC angeschlossen werden. Die Kamera benötigt einige zusätzliche Treiber, aber der Lautsprecher funktioniert wie ein normaler USB-Lautsprecher.

Eine Kamera-Registerkarte und ein Symbol werden in der App angezeigt, wenn die Kamera an den WiFi-Block angeschlossen ist. Das Symbol öffnet ein Vorschaufenster mit dem Bild der Kamera.

Auf der Registerkarte Kamera befindet sich ein Foto-/Kamera-Knoten. Dies nimmt ein Bild auf, wenn ein Eingangssignal mit dem Wert 'Y' (wahr) anliegt. Nach dem Platzieren dieses Knotens im Programmbereich hat er drei Möglichkeiten (Klicken Sie auf den Knoten):

  • Bilderrahmen
  • OCR
  • Emoticon-Test

Der Fotorahmen zeigt die Ausgabe des Fotoknotens. Die nächsten drei Knoten stellen eine "Fotokamera" bereit. Die Kamera nimmt ein Bild auf, wenn die Taste gedrückt wird (dies ergibt 'Y' als Ausgabe). Und das wird im Bilderrahmen gezeigt. Das Bild wird innerhalb des WiFi-Blocks gespeichert, aber überschrieben, wenn ein neues Foto aufgenommen wird.

Anweisbarer Roboter
Anweisbarer Roboter

Es ist möglich, den Timer für die Eingabe in die Kamera zu verwenden, aber machen Sie das Intervall nicht zu kurz (> 1 Sekunde). Andernfalls kann der WLAN-Block die Daten nicht verarbeiten und hängt eine Weile.

Der OCR-Knoten übersetzt Bilder in Text. Dabei werden die kognitiven Dienste von Microsoft verwendet. Der WLAN-Block muss mit dem Internet verbunden sein und die App muss mit dem WLAN-Block verbunden sein.

Das nächste Programm macht ein Bild, wenn die Taste gedrückt wird. Dieses Foto wird vom OCR-Knoten angezeigt und verarbeitet. Die Ausgabe wird durch drei Textvergleichsknoten verglichen. Diese prüfen auf die Werte „eins“, „zwei“und „drei“. Und jeder Wert zeigt ein anderes Bild auf dem LED-Panel. Die Ausgabe des OCR-Knotens wird auch durch einen "Label"-Knoten angezeigt. Dies zeigt "Nein" (Falsch) an, wenn nichts erkannt wird.

Anweisbarer Roboter
Anweisbarer Roboter

Blaue Linien zeigen den Datenfluss innerhalb des Programms an. Und das 'Y' und 'N' nach jedem Knoten repräsentiert seinen Ausgabewert. Dies vereinfacht die Fehlersuche innerhalb eines Programms. Leider wird die Ausgabe der LED-Matrix in der App nicht angezeigt.

Die letzte Option für den Kameraknoten ist der Emoticon-Test. Dies übersetzt Gesichter auf einem Bild in eine Emotion.

Anweisbarer Roboter
Anweisbarer Roboter

Die obigen Beispiele sind einfach, aber sie zeigen das Grundprinzip. Zusätzliche Logik- und Neuronenblöcke können hinzugefügt werden, um komplexere Programme zu erstellen

Schritt 8: Spracherkennung (Mikrofon)

Spracherkennung (Mikrofon)
Spracherkennung (Mikrofon)
Spracherkennung (Mikrofon)
Spracherkennung (Mikrofon)

Zusätzlich zur Kamera kann ein Mikrofon/Lautsprecher Neuron an den WiFi-Block angeschlossen werden. Dies kann zum Aufnehmen und Abspielen von Audiofragmenten verwendet werden. Wenn Sie dieses Neuron anschließen, erhalten Sie in der App eine zusätzliche Registerkarte "Sound".

Der Aufnahmeknoten nimmt nur Ton auf, wenn die Eingabe "Y" ist, dies erfordert eine Taste oder einen Schalter. Das aufgenommene Audiofragment ist die Ausgabe des Aufnahmeknotens. Wenn Sie den Knoten "Sound abspielen" hinzufügen, wird dieser Ausgang sofort wiedergegeben. Dies kann verwendet werden einen Papagei machen:

Anweisbarer Roboter
Anweisbarer Roboter

Ein Klick auf den Mikrofonknoten bietet 2 Optionen: "Voice to Text" und "Save record".

Der Knoten "save record" speichert die Audiodatei im Dateisystem innerhalb des WiFi-Blocks. Diese Datei wird jedes Mal überschrieben, wenn eine neue Aufnahme beginnt.

Der Knoten "Sound abspielen" kann Eingangsaudio wiedergeben, aber es ist auch möglich, einen Soundeffekt oder eine aufgenommene Datei auszuwählen. Es erfordert einen Input-Trigger, um den gegebenen Sound zu starten. Und es stoppt sofort, wenn die Eingabe 'N' (false) ist. Das folgende Beispiel ist eine Art Diktiergerät. Die obere Taste macht eine Aufnahme und die untere Taste spielt diese Aufnahme ab.

Anweisbarer Roboter
Anweisbarer Roboter

Die Voice-to-Tekst-Option des Mikrofonknotens verwendet die kognitiven Dienste von Microsoft, um die Aufnahme in Text zu übersetzen. Der Label-Knoten kann die Ausgabe anzeigen. Die Aufnahme- und Wiedergabe-Soundknoten sind nicht erforderlich, um Sprache in Text zu übersetzen. Diese sind jedoch während der Programmierung nützlich, um die Ausgabe zu überprüfen.

Anweisbarer Roboter
Anweisbarer Roboter

Das Debuggen dieser Funktion kann durch Einloggen in den WiFi-Block (erweiterte Funktion) erfolgen.

[2018-01-19 23:00:35] [WARN] Der Request-Handler 'Soundserver' wurde aufgerufen:

Es ist möglich, nach mehreren Wörtern zu suchen. Und der Vergleichsknoten funktioniert genauso wie die Kamera-OCR.

Manchmal führt dasselbe Wort zu einer anderen Ausgabe. Beispiel: "Auf Wiedersehen" kann einen der folgenden Werte ergeben: "Auf Wiedersehen" oder "Auf Wiedersehen". Dies erfordert mehrere Textknoten mit derselben Ausgabe:

Anweisbarer Roboter
Anweisbarer Roboter

Hinweis: Die Standardsprache für die Sprachausgabe ist Englisch.

Schritt 9: Spracherkennung (Neuron)

Spracherkennung (Neuron)
Spracherkennung (Neuron)
Spracherkennung (Neuron)
Spracherkennung (Neuron)
Spracherkennung (Neuron)
Spracherkennung (Neuron)

Dies ist ein spezielles Neuron, um Sprache in Text umzuwandeln. Es akzeptiert 22 Befehle, die innerhalb des Blocks und des Neuron-Codes hartcodiert sind:

var COMMAND = {'Licht einschalten': 3, 'Rot': 4, 'Blau': 5, 'Grün': 6, 'Weiß':7, 'Mehr Licht':8, 'Weniger Licht':9, 'Licht aus':10, 'Motor vorwärts':11, 'Motor rückwärts':12, 'Beschleunigung':13, 'Geschwindigkeit':14, 'Liebe':15, 'Lächeln':16, 'Wütend':17, 'Traurig': 18, 'Rock and Roll':19, 'Fire Fire':20, 'Spielstart':21, 'Der Winter kommt':22, 'Start':23, 'Herunterfahren':24};

Dieser Block akzeptiert nur Englisch. Und es erfordert eine korrekte Aussprache. Es gibt nicht viel Raum für Fehler. Und selbst die Sprachausgabe von Google Voice Translate aktiviert nicht immer den entsprechenden Befehl. Aber die Verwendung von Google Speach bleibt ein guter Ausgangspunkt. Beginnen Sie mit „Hallo Makeblock“, „Hallo Makeblok“und/oder „Helo Makeblok“. Gefolgt von "Winter is coming" oder "Turn green".

Diese Befehle wurden in diesem Schritt im Code des ersten Bilds verwendet. Die Anzeige rechts vom oberen Sprachbefehlsknoten ist 'Y' (wahr). Dies zeigt an, dass der Befehl erkannt wurde.

Es braucht etwas Übung, um mit diesem Neuron zu arbeiten. Glücklicherweise wiederholt der Block die Nachricht, nachdem er eine empfangen hat (er enthält einen Lautsprecher und ein Mikrofon).

Schritt 10: Ferngesteuerte LEGO Turtle

Ferngesteuerte LEGO Schildkröte
Ferngesteuerte LEGO Schildkröte
Ferngesteuerte LEGO Schildkröte
Ferngesteuerte LEGO Schildkröte
Ferngesteuerte LEGO Schildkröte
Ferngesteuerte LEGO Schildkröte
Ferngesteuerte LEGO Schildkröte
Ferngesteuerte LEGO Schildkröte

Das Neuron Explorer Kit enthält 2 Gleichstrommotoren und 2 Servomotoren. Dies erfordert einen Roboter: Eine dreirädrige Schildkröte. Es verwendet die Motoren und Räder aus dem Bausatz mit einigen LEGO Teilen als Rahmen.

Auf diesem Rahmen sind 8 Balken kreisförmig befestigt. Diese Balken unterstützen den LED-Streifen. Auf den 8 Balken sind drei magnetische Neuron-Boards platziert. Diese enthalten die folgenden Neuronenteile:

  • Drahtloser Empfänger
  • Leistung
  • 10 cm Kabel
  • Servomotortreiber
  • Gleichstrommotortreiber
  • LED-Streifentreiber
  • 10 cm Kabel

Das letzte 10 cm lange Kabel wird am Ultraschallsensor befestigt, der auf dem Kopf der Schildkröte platziert wird. Dieser Kopf besteht aus dem vierten magnetischen Neuron-Board. Schließlich besteht das Heck aus einem Servomotor, an dem ein Legobalken befestigt ist.

Das Ergebnis sieht nur aus wie "Drähte und Elektronik", aber der Turtle-Schild deckt fast die gesamte Elektronik ab.

Der Roboter kann mit dem Joystick gesteuert werden. Dies erfordert den WiFi- (oder Bluetooth-) Block, den Joystick und den drahtlosen Sender. Die Fernbedienung benötigt eine USB-Stromquelle. Es steht nur ein Powerblock zur Verfügung, der sich im Roboter befindet.

Das erste Bild zeigt ein mögliches Programm für diesen Roboter. Der Joystick ist mit dem DC-Motorblock verbunden. Oben/unten für Geschwindigkeit und links/rechts für Richtung.

Die Ausgabe des Ultraschallsensors wird mit dem Wert von 100 cm verglichen. Ist der Abstand größer, wird auf allen LEDs die Farbe Grün/Gelb angezeigt. Die Farben werden rot/orange, wenn der Abstand unter 100 cm fällt.

Der Schwanz verwendet einen Pulsknoten zwischen -180 und 180. Eine ABS-Funktion macht den negativen Wert positiv. Dieser Wert wird an den Servomotor weitergegeben und das Heck beginnt zu wedeln.

Durch die Kombination der Neuronenblöcke und der Funktionsknoten ist es möglich, komplexere Programme zu schreiben. Die Geschwindigkeit des Schwanzes kann von der Geschwindigkeit des Roboters abhängen oder der Roboter könnte stoppen, wenn der Ultraschallsensor weniger als 30 cm misst.

Schritt 11: Schildkröte 2.0

Schildkröte 2.0
Schildkröte 2.0
Schildkröte 2.0
Schildkröte 2.0
Schildkröte 2.0
Schildkröte 2.0

Die vorherige LEGO Schildkröte kann mit einem Stück Pappe/Holz vereinfacht werden. Ich habe ein Stück 8 mm Sperrholz verwendet. Verwenden Sie eine Stichsäge, um einen Kreis mit einem Durchmesser von 19 cm zu erstellen. Bohren Sie alle Löcher mit einem 4,8 mm Bohrer. Verwenden Sie den Bohrer und die Stichsäge, um die quadratischen Öffnungen zu erstellen. Diese sind für die Räder und die Drähte.

Ich habe LEGO-Teile verwendet, um die Neuron-Teile an der Holzplatte zu befestigen. Das Explorer Kit enthält einige kompatible Anschlüsse. Für die meisten Verbindungen können aber auch M4-Schrauben verwendet werden.

An der Unterseite sind zwei Gleichstrommotoren (mit Rädern) angebracht (dunkelrote Quadrate). Genau wie das Hinterrad (schwarzes Rechteck). Für zusätzlichen Abstand zwischen Platte und Hinterrad wird ein LEGO Technikträger verwendet. Die drei violetten Quadrate sind für die magnetischen Neuron-Boards. Die vierte magnetische Neuron-Platine wird für den Kopf-/Ultraschallsensor (oranges Rechteck) verwendet. Der rote Kreis zeigt die Position des LED-Streifens. Verwenden Sie kleine Gummibänder (Loombänder), um den LED-Streifen zu befestigen.

Dieser Roboter arbeitet mit dem gleichen Code wie die LEGO Turtle.

Schritt 12: Software-Interna

Software-Interna
Software-Interna
Software-Interna
Software-Interna
Software-Interna
Software-Interna

Die Programmierung der Neuron-Blöcke ist einfach, es muss kein Code geschrieben werden. Die folgenden Informationen sind daher nur für den fortgeschrittenen Benutzer. Es bietet einen Einblick in die Funktionsweise des Neuron-Produkts.

Die Makeblock-Github-Seite enthält Neuron-Code. Sie können es herunterladen und den Code erkunden. Es ist in Javascript geschrieben und verwendet nodeJS.

Der WLAN-Block sollte mit dem Internet verbunden sein. Wenn sich die App mit der SID des WiFi-Blocks verbindet, erhält sie eine IP-Adresse vom WiFi-Block. Die WiFi-Blöcke wirken nun wie ein Gateway.

Die IP-Adresse des WLAN-Blocks lautet 192.168.100.1. Auf Port 80 läuft ein Webserver, der eine Konfigurationsoberfläche anzeigt (Passwort = Makeblock). Dadurch können verschiedene Einstellungen und Optionen geändert werden.

Sie können die Zeitzone und/oder die WLAN-SSID ändern. Aber Vorsicht, zu den anderen Einstellungen gibt es wenig Dokumentation.

Auf der Registerkarte Dienste/Netzwerkfreigaben werden alle Netzwerkfreigaben angezeigt. Ich habe eine zusätzliche Freigabe "Server" im Ordner "/tmp/run/mountd/mmcblk0p1/neurons-server" erstellt. Dieser Ordner (und Unterordner) enthält alle Log-, Ton- und Bilddateien.

Dadurch ist es möglich, alle Dateien mit dem Windows-Datei-Explorer zu durchsuchen. Das Öffnen der Freigabe "\192.168.100.1\Server" gibt Lesezugriff auf alle Dateien der Neuron-Engine. Einschließlich der Server-Log-Datei:

Geräte-UUID:6A1BC6-AFA-B4B-C1C-FED62004

versuche mqtt.connect mit iot cloud verbunden ok… [2018-01-19 22:56:43] [WARN] serverLog - Request-Handler 'Soundserver': {"startRecord"} [2018-01-19 22:56:43] [WARN] serverLog - Datensatz starten [2018-01-19 22:56:45] [WARN] serverLog - Request-Handler 'Soundserver': {"stopRecord"} [2018-01-19 22:56:45] [WARN] serverLog - Aufzeichnung stoppen [2018-01-19 22:56:46] [WARN] serverLog - Request-Handler 'Soundserver': {"speakerRecognize"} requestSpeech-Ergebnis: hallo

Die Datei config.js enthält alle Einstellungen. Dazu gehören die Microsoft-Schlüssel und die aktuelle Protokollebene. Diese können geändert werden, bewahren Sie jedoch immer eine Kopie der Originaldatei auf.

Die Standardprotokollebene ist "WARN". Dies kann bei Bedarf geändert werden:

* `loglevel`: der einzustellende Loglevel, druckt kein Log mit niedrigerer Priorität als eingestellt.

* unterstützt derzeit Loglevel * **TRACE**, * **DEBUG**, * **INFO**, * **WARN**, * **ERROR**, * **FATAL**

Ich habe eine schreibgeschützte Netzwerkfreigabe erstellt. Ein Read-Write-Share ermöglicht es, Bilder-j.webp

Auf Port 22 läuft auch ein ssh-Server. Damit kann man sich in die Linux-Shell einloggen. Verwenden Sie Putty, um eine Verbindung zu 192.168.100.1 herzustellen und sich mit dem Root-Benutzer und dem Passwort makeblock anzumelden. Aber sei sehr vorsichtig.

Auf den WiFi-Blöcken läuft OpenWrt. Dies ist eine Linux-Distribution für eingebettete Geräte. Die Neuron-Software befindet sich im Verzeichnis "/tmp/run/mountd/mmcblk0p1/neurons-server".

Die meisten Neuron-Blöcke können mit der mBlock-Software programmiert werden. Dies erfordert die Version 4.0.4 der Software. Die Microsoft-Dienste sind in dieser Scratch-Version nicht verfügbar. Die Spracherkennung Neuron, die diese Dienste nicht benötigt, kann verwendet werden. Die mBlock Version 5 unterstützt derzeit keine Neuron-Blöcke (Januar 2018).

Die Neuron-Codeblöcke sind im Teil Roboter (blau) verfügbar. Und die mBlock-Software hat den Vorteil, dass nicht nur die angeschlossenen Blöcke verwendet werden können. Es macht keinen Sinn, Blöcke zu verwenden, die Sie nicht haben, aber dies macht es möglich, Code ohne verbundene Neuron-Blöcke zu schreiben.

Das Standardpasswort sollte geändert werden, wenn das Neuron in einem offenen WiFi-Netzwerk verwendet wird.

Schritt 13: Hardware-Interna

Hardware-Interna
Hardware-Interna
Hardware-Interna
Hardware-Interna
Hardware-Interna
Hardware-Interna

Diese Hardwareinformationen dienen nur zur Hintergrundinformation. Es wurde nicht von Makeblock verifiziert!

Die meiste Hardware von Makeblock-Produkten ist gut dokumentiert. Aber es gibt nicht viele Hardware-Informationen über das Neuron-Produkt. Es gibt einige Bilder auf Kickstarter, aber dies zeigt die Interna eines Prototyps. Dieser hat nur einen USB-Anschluss und das eigentliche Produkt hat zwei USB-Anschlüsse.

Der Webserver innerhalb des WiFi-Blocks zeigt die tatsächliche Hardware, die für diesen Block verwendet wird. Es ist ein MediaTek LinkIt Smart 7688. Die Hauptmerkmale dieses Boards sind:

  • Führt OpenWrt Linux aus und unterstützt die Anwendungsentwicklung in Python, Node.js und nativen C-Programmiersprachen.
  • Verwendet einen MT7688AN als eigenständige MPU und unterstützt zwei Betriebsmodi – IoT-Gateway und IoT-Gerätemodus
  • Unterstützt Wi-Fi, USB-Host und SD-Karten.
  • Pinbelegung für PWM, I2C, SPI, UART, Ethernet und I2S.
  • Unterstützt bis zu 256 MB RAM mit zusätzlichem SD-Kartenspeicher.

Das Linux-Dateisystem zeigt den internen Plattenspeicher:

root@makeblock_linkit:~# df -h

Verwendete Dateisystemgröße Verfügbare Verwendung % Gemountet auf rootfs 17,9 Mio. 644,0 KB 17,3 Mio. 4 % / /dev/root 12,8 Mio. 12,8 Mio. 0 100 % /rom tmpfs 61,7 Mio. 812,0 KB 60,9 Mio. 1 % /tmp /dev/mtdblock6 17,9 Mio. 644,0 KB 17,3 Mio. 4% /Overlay-Overlayfs:/Overlay 17,9 Mio. 644,0K 17,3 Mio. 4% / tmpfs 512,0K 0 512,0K 0% /dev /dev/mmcblk0p1 1,8G 101,4 Mio. 1,7G 5% /tmp/run/mountd/mmcblk0p1/

Innerhalb des Blocks befindet sich ein Datenträger-Volume namens mmcblk01. Dieser Name wird hauptsächlich für Speicherkarten verwendet. Es sieht so aus, als ob sich darin eine 2 GByte SD-Karte befindet (1,7 GByte + 256 MByte für das LinkIt 7688).

Die Pogo-Pins haben 4 Anschlüsse: Einen für VCC, einen für Masse und zwei für die Kommunikation. Die Neuron-Blöcke kommunizieren wahrscheinlich mit dem I2c-Protokoll. In jedem Neuron muss sich ein Arduino-kompatibles Board befinden.

Empfohlen: