Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Einfachster Weg für ein Spracherkennungsprojekt mit c#toarduino

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Widerstand 221 Ohm
Sie können jeden Widerstandswert des Widerstands verwenden, nur stellen Sie sicher, dass Sie nicht zu wenig Widerstandswert verwenden
× 3
LED (generisch)
Ich habe blaue, rote, grüne LEDs verwendet.
× 3
Breadboard (generisch)
× 1
Jumper (generisch)
× 1
Kopfhörer mit Mikrofon
Diese Ohrhörer verwenden Sie mit Smarphonen Einfach!Sie können auch das integrierte Computermikrofon verwenden :)
× 1

Apps und Onlinedienste

Arduino-IDE
Microsoft Visual Studio 2015
Sie können jede Version von Microsoft Visual Studio verwenden, stellen Sie nur sicher, dass sie das .net-Framework enthält, um Windows-Formulare zu erstellen Bewerbung

Über dieses Projekt

Hinweis:Hallo zusammen,

Ich habe dieses Projekt vor 2 Jahren gemacht und ermutigendes Feedback bekommen. Wenn Sie ein neues Mitglied sind, würde ich Ihnen empfehlen, der folgenden Anleitung zu folgen (2020 aktualisiertes Tutorial)

Tutorial-Link aktualisieren:

https://medium.com/illumination/how-to-make-your-first-voice-project-using-arduino-956bfd494947

Danke :)

Projektbeschreibung

Wir alle sind mit verschiedenen Arten von Sensoren wie (Ohr, Zunge, Nase...) gesegnet und wir verwenden sie in unserem täglichen Leben, nicht auf eine Art, sondern auf zwei Wegen. Das gleiche Konzept wenden wir bei Maschinen an!

Als Anfänger fängt fast jeder mit blinkenden LEDs an/aus und das habe ich auch gemacht, aber ich wollte diese elektronischen Komponenten mit meinen Sprachbefehlen steuern. Nachdem ich also im Internet gesucht und gelernt habe, habe ich das Projekt abgeschlossen und bin bereit, dieses Projekt mit der kreativen Community zu teilen. Besonders (Anfänger )!Der einfachste Weg zur Spracherkennung mit Arduino!

Zur Vereinfachung verwenden wir LEDs. In diesem Projekt werden wir LEDs ein- und ausschalten, nicht standardmäßig, aber mit unseren Sprachbefehlen und der aufregende Teil ist, dass es sehr einfach und leicht ist, nur ein wenig Programmierkenntnisse erforderlich, das ist alles!

Warum ich dieses Projekt gemacht habe?

Alles begann, als mein Lehrer uns ein c#-Windows-Formularanwendungsprojekt vorführte. In diesem Projekt steuerte Sir virtuelle BULB mit Sprachbefehlen und es wurde mit der Visual Studio-Software c# erstellt, nur ohne Arduino oder andere Hardware. Es war erstaunlich :) Für ein neues Projekt mit Arduino dachte ich, warum nicht Led mit Sprachbefehlen steuern, da wir in diesem Projekt Hardware physisch steuern, nicht virtuell, was Sir demonstriert hat.

Warum ist dieses Projekt einfach?

Es gibt noch einen wichtigen Grund für dieses Projekt und das seid ihr Macher Ich dachte, dieses Projekt wird der Macher-Community helfen, etwas Neues daraus zu machen und die Spracherkennungsfunktion erhöht die Kreativität und den Wert des Projekts! Nun der erstaunliche Teil, warum es so einfach ist? Denn Sie brauchen kein externes Modul um dieses Projekt zu machen :) Ich war mir sicher, dass es einen Weg geben muss, dieses Projekt zu machen, ohne das Spracherkennungsmodul zu verwenden! und endlich dank des folgenden Links gefunden https://www.c-sharpcorner.com/article/turning-led-off-and-on-through-voice-recognition/

Wie macht man es?

Sammeln Sie alle für dieses Projekt erforderlichen Komponenten.

  • Entwerfen Sie die Schaltung auf dem Steckbrett wie unten im Schaltplan
  • Schließen Sie dann das Arduino-USB-Kabel an Ihren Computer an
  • Laden Sie den Arduino-Code herunter, öffnen Sie die Arduino-IDE und erstellen Sie eine neue Skizze, fügen Sie den Code ein.

Es gibt nur eine Software, die Sie installieren müssen, und das ist das Visual Studio Ich verwende Microsoft Visual Studio Version 2010 und Sie können jede gewünschte Version installieren. Stellen Sie nur sicher, dass Sie eine Windows-Formularanwendung mit c# erstellen können Studio

Klicken Sie unten auf den Link und dann auf Download->Direkter Downloadhttps://www.dropbox.com/sh/pmdflsjui0ayjcs/AAAO4sfb2Tc559CLyOQut_NDa?dl=0

und du bist fertig

  • Laden Sie Ihre Arduino-Skizze hoch und führen Sie die c#-Anwendung aus, indem Sie auf die Startschaltfläche mit dem grünen Pfeil klicken

Hinweis#0: Dieses Projekt funktioniert nicht, wenn Sie using.system.speech nicht eingebunden haben Bibliothek in Ihrem Visual Studio c#-Code keine Sorge befolgen Sie einfach die nachstehenden Anweisungen, um eine Bibliothek einzubindenGehe zur Symbolleiste oben Projekt->Referenz hinzufügen->.Net ->Suche mit.system.speech und klicke auf OK das ist alles :)

Hinweis#1: Stellen Sie sicher, dass Ihr COM-Port, den Sie in Ihrer Arduino-IDE ausgewählt haben, der gleiche ist wie in Visual Studio c#-Code. Wie Sie unten sehen können, ist mein COM-Port COM5 gleich in Arduino- und C#-Code.

Wenn Sie irgendwelche Verwirrung haben, schauen Sie sich einfach dieses Demonstrationsvideo an und Sie sind bereit, LEDs mit Ihrer Stimme zu steuern :)

Klicken Sie hier, um die Youtube-Projektdemo anzusehen

Was hast du aus diesem Projekt gemacht?

Nutze deine Kreativität, um aus diesem Projekt etwas Neues zu machen.

Lernen, erstellen, teilen und wiederholen

Code

  • Arduino-Quellcode
  • C#-Code
Arduino-Quellcode C/C++
Arduino-Quellcode für das Spracherkennungsprojekt
/* Dieses Programm befasst sich mit der Steuerung von LED-Zuständen mit der Spracherkennungsbibliothek von c# (unter Verwendung von system.speech) * Aufregender Teil ist, dass Sie kein externes Modul benötigen, um Daten zu übertragen arduino, weil Sie ganz einfach * Ihr eingebautes Computermikrofon oder Kopfhörermikrofon verwenden können. * * Dieses Programm soll nur Anfängern eine Grundidee geben und dann ist es Ihre eigene Kreativität, wie Sie es sinnvoll einsetzen können. * Lernen Sie weiter, teilen Sie, denken Sie und wiederholen Sie * Viel Spaß! * * Von Jalal Mansoori */const int blueLed=10;const int redLed=9;const int greenLed=8;char eingehendeData='0'; Void setup () { // Geben Sie Ihren Setup-Code hier ein, um ihn einmal auszuführen:// Get LEDs readySerial.begin (9600);pinMode (blueLed, OUTPUT);pinMode (redLed, OUTPUT);pinMode (greenLed, OUTPUT);} void loop() { // Setzen Sie Ihren Hauptcode hier ein, um ihn wiederholt auszuführen:eingehendeDaten=Serial.read(); // Schaltergehäuse zur Steuerung von LEDs In unserem Fall haben wir nur 3 blaue, grüne und rote Schalter (incomingData) {// Diese Fälle gelten nur für den Zustand EIN der LED // Für den blauen LED-Fall 'B':digitalWrite (blueLed, HIGH ); brechen; // Für rotes LED-Gehäuse 'R':digitalWrite (redLed, HIGH); brechen; // Für grünen LED-Fall 'G':digitalWrite (greenLed, HIGH); brechen; // Diese Fälle sind für den Zustand AUS von LED und Fallnamen z , x, c werden nur zufällig vergeben. Sie können sie auch ändern, aber // stellen Sie sicher, dass Sie sie auch in einem c#-Code ändern. // Für blaues LED-Gehäuse 'Z':digitalWrite (blueLed, LOW); brechen; // Für roten LED-Fall 'X':digitalWrite (redLed, LOW); brechen; // Für grünen LED-Fall 'C':digitalWrite (greenLed, LOW); brechen; // Zum gleichzeitigen Einschalten aller LEDs :) Fall 'V':digitalWrite (blueLed, HIGH); digitalWrite (rote LED, HIGH); digitalWrite (grüne LED, HIGH); brechen; // Zum Ausschalten aller LEDs auf einmal :) Fall 'M':digitalWrite (blueLed, LOW); digitalWrite (rote LED, NIEDRIG); digitalWrite (grüne LED, NIEDRIG); brechen; }}
C#-CodeC#
Dieser Code ist für Visual Studio. In diesem Code können Sie oben sehen, dass einige Bibliotheken enthalten sind. Es gibt die using.system.speech-Bibliothek, die Sie in Ihre Projektreferenz aufnehmen müssen
Das ist wie man es macht
Symbolleiste
Projekt->Referenz hinzufügen->.Net-> Suche mit system.speech->Klicken Sie auf OK
Das ist alles. // Diese Bibliothek dient zum Verbinden von c# und Arduino zum Senden und Empfangen von Daten über Ports // Nachfolgend sind Bibliotheken für die Spracherkennung mit System.Speech;mit System.Speech.Recognition;mit System.Speech.Synthesis;Namespace CsharpCode{öffentliche Teilklasse Form1 :Form {//Erstellen von Objekten SerialPort myPort =new SerialPort (); SpeechRecognitionEngine re =new SpeechRecognitionEngine(); SpeechSynthesizer ss =new SpeechSynthesizer(); // Wenn das Programm mit Ihnen sprechen soll Choices commands =new Choices(); // Dies ist eine wichtige Klasse, wie der Name vermuten lässt, dass wir unsere Befehle in diesem Objekt speichern werden public Form1() { InitializeComponent(); // Details des Arduino-Boards myPort.PortName ="COM5"; // Mein Portname in Arduino IDE ausgewählt COM5 Sie müssen den Portnamen ändern, wenn er anders ist, überprüfen Sie einfach arduinoIDE myPort.BaudRate =9600; // Diese Rate ist gleich wie Arduino Serial.begin (9600) Bits pro Sekunde Verarbeitung (); } // Definierte Funktionsverarbeitung, bei der die Hauptinstruktion ausgeführt wird! void processing() { //Zuerst das Speichern von Befehlsbefehlen.Add(new string[] { "Blue On", "Red On", "Green On", "Blue Off", "Red Off", "Green Off" , "Exit", "All On", "All Off", "Arduino verabschieden sich von den Machern" }); //Jetzt erstellen wir ein Grammer-Objekt, in dem wir Befehle als Parameter übergeben. Grammar gr =new Grammar(new GrammarBuilder(commands)); // Weitere Informationen zu den folgenden Funktionen finden Sie auf der Website https://docs.microsoft.com/en-us/dotnet/api/system.speech.recognition?view=netframework-4.7.2 re.RequestRecognizerUpdate(); // Spracherkennungs-Engine anhalten, bevor Befehle geladen werden re.LoadGrammarAsync(gr); re.SetInputToDefaultAudioDevice();// Wie Name vorschlägt, eingebautes Mikrofon des Eingabegeräts oder Sie können auch Kopfhörer usw. anschließen... re.SpeechRecognized +=new EventHandler(re_SpeechRecognized); aufrechtzuerhalten. Void re_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { switch(e.Result.Text) {////For LED State ON // Für blau LED Fall "Blue On":sendDataToArduino('B'); brechen; // Für roten LED-Fall "Red On":sendDataToArduino('R'); brechen; // Für grünen LED-Fall "Green On":sendDataToArduino('G'); brechen; // Für den LED-Zustand AUS // Für den blauen LED-Fall "Blue Off":sendDataToArduino ('Z'); brechen; // Für roten LED-Fall "Red Off":sendDataToArduino('X'); brechen; // Für grünen LED-Fall "Green Off":sendDataToArduino('C'); brechen; // Zum Einschalten aller LEDs auf einmal :) case "All On":sendDataToArduino ('V'); brechen; // Zum Ausschalten aller LEDs auf einmal :) Fall "All Off":sendDataToArduino ('M'); brechen; //Programm wird den Fall "Arduino Say Good Bye to Makers" zurücksprechen:ss.SpeakAsync("Good Bye Makers"); // Zu diesem Zweck wird ein Sprachsyntheseobjekt verwendet break; // Programm mit Voice beenden :) case "Exit":Application.Exit(); brechen; aufrechtzuerhalten. myPort.Write(character.ToString()); myPort.Close(); } private void btnStop_Click (Objektsender, EventArgs e) { re.RecognizeAsyncStop(); //btnStart.Enabled =true; btnStop.Enabled =false; btnStart.Enabled =true; } private void btnStart_Click (Objektsender, EventArgs e) { re.RecognizeAsync (RecognizeMode.Multiple); btnStop.Enabled =true; btnStart.Enabled =false; MessageBox.Show("Spracherkennung gestartet!", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } }}

Schaltpläne

Folgen Sie einfach dem Schaltplan und verbinden Sie die Komponenten auf Ihrem Steckbrett
1 -> Zuerst LEDs und Widerstände wie im Diagramm gezeigt anschließen
2-> Dann beginnen Sie nacheinander und verbinden die LED + ive-Klemme in derselben Spalte, in der der Widerstand mit der digitalen Pinbox von Arduino verbunden ist
GreenLed +ive-Klemme zu digitalem Pin 8
RedLed +ive-Klemme zu digitalem Pin 9
BlueLed +ive-Klemme zu digitalem Pin 10
3-> Schließlich verbinden Sie Masse von Arduino mit dem LED-ive-Terminal mit einem Überbrückungsdraht, wie im Diagramm gezeigt schematische_ob2ZmiQwOV.fzz

Herstellungsprozess

  1. MATRIX VOICE GOOGLE ASSISTANT – MATRIX VOICE PROJEKT
  2. Echtzeit-Gesichtserkennung:Ein End-to-End-Projekt
  3. Windows IoT:Tür zur Gesichtserkennung
  4. Smart Pen:Endgültiges Projekt für ECE5725
  5. DIY LUMAZOID Arduino Music Visualiser
  6. Erstellen von Monitor-Ambilight mit Arduino
  7. DIY 37 LED-Roulette-Spiel
  8. ULTRASCHALLLEVITATION-Maschine mit ARDUINO
  9. Bauen Sie ein Go Away! Roboter - Einfaches Starter-Projekt für Kinder
  10. Analoge LED-POV-Uhr