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

taubblinde Kommunikation mit 1Sheeld/Arduino

Komponenten und Verbrauchsmaterialien

1Sheeld
× 1
Arduino UNO
× 1
Adafruit Standard LCD - 16x2 Weiß auf Blau
× 1
Drehpotentiometer (allgemein)
× 1

Über dieses Projekt

Im Grunde befasst sich dieses Projekt mit einem Kommunikationsproblem für Blinde.

Die einzige Möglichkeit der Kommunikation für Blinde besteht darin, zu sprechen und zu hören, während die gehörlose Person nur tippen und sehen kann, also lasst uns das nutzen!

Blind bis taub:

  • Sprechen → Text → Anzeigen

Taub bis Blind:

  • Eingabe → Text → Stimme

Lassen Sie uns das nun in Hardware übersetzen.

Schritt 1:Hardware-Setup

  • Arduino Uno oder andere
  • LCD (für dieses Tutorial verwende ich das 16*2-LCD)
  • Smartphone
  • Potentiometer (10k reicht aus)

Schritt 2:Verbindungen

Um 1Sheeld verwenden zu können, müssen Sie zuerst die 1Sheeld-Bibliothek herunterladen und zu Ihrem Arduino hinzufügen. Außerdem müssen Sie die 1Sheeld-App auf Ihr Mobiltelefon herunterladen und installieren. Sie können das von der 1Sheeld-Site erhalten:https://1sheeld.com/downloads/

Folgen Sie diesem Tutorial, um 1Sheeld an Arduino anzuschließen und den Code hochzuladen:https://1sheeld.com/tutorials/getting-started/

Jetzt weiß ich, dass die Schaltung vielleicht etwas unordentlich aussieht, aber es ist eine einfache LCD-Schaltung:

  • LCD-RS-Pin → digitaler Pin 12
  • LCD-Enable-Pin → digitaler Pin 11
  • LCD D4-Pin → digitaler Pin 5
  • LCD D5-Pin → digitaler Pin 4
  • LCD D6-Pin → digitaler Pin 3
  • LCD D7-Pin → digitaler Pin 2
  • LCD-R/W-Pin → Masse
  • LCD-VSS-Pin → Masse
  • LCD-VCC-Pin → 5V
  • 10K Widerstandsenden → +5V und Masse
  • Wischer → LCD-VO-Pin (Pin 3)

Nun läuft die Kommunikation wie folgt:

Blind für Gehörlose

  • Spracherkennung → Text → LCD

Taub bis Blind

  • Tastatur → Text → Text-to-Speech

Grundsätzlich wandelt die Spracherkennung Sprache in Text um, der dann an ein LCD gesendet wird, damit die gehörlose Person sie sehen kann. Text-to-Speech nimmt Text von der Tastatur und wandelt ihn in Sprache um, damit die blinde Person ihn hören kann.

Sie müssen die Spracherkennungs-, Tastatur-, Text-to-Speech- und SMS-Schilde aus der 1Sheeld-App auf Ihrem Mobiltelefon auswählen. Mit dem SMS-Schild können wir Nachrichten an einen weit entfernten Kontakt senden. Hier ist ein Video, um zu demonstrieren, wie es funktioniert:

Da Sie nun eine gute Vorstellung davon haben, was wir zu tun versuchen, sprechen wir über Code.

Schritt 3:Software

  #define CUSTOM_SETTINGS # define INCLUDE_VOICE_RECOGNIZER_SHIELD # define INCLUDE_TEXT_TO_SPEECH_SHIELD # define INCLUDE_KEYBOARD_SHIELD # define INCLUDE_SMS_SHIELD # define INCLUDE_TERMINAL_SHIELD # INCLUDE_VIBRATION_SHIELD #include #includeLiquidCrystal LCD (12, 11, 5, 4, 3, 2) definieren; String msg; int gesendet =0;int i =0;String phoneNum =""; // Telefonnummer hierin schreiben patternOne[6] ={1000, 2000, 1000, 2000, 1000, 2000};int patternOneSize =6;void setup () { OneSheeld.begin (); Spracherkennung.start(); lcd.begin(16, 2);} 

Im Grunde fügen Sie einfach die Bibliotheken hinzu, die wir verwenden werden, und initialisieren einige Variablen, die wir später verwenden werden. Denken Sie daran, dass wir einen Vibrationssensor und die Variablen patternOne . verwenden werden und patterOneSize sind damit verwandt. Wir werden auch den SMS-Schild verwenden, um über große Entfernungen zu kommunizieren, deshalb haben wir die Variable „phoneNum . hinzugefügt “, die die Telefonnummer enthält, an die Sie die SMS senden.

 //Blind für Gehörlose if (VoiceRecognition.isNewCommandReceived()) { String msg1 =VoiceRecognition.getLastCommand(); // Fernkontakt, wenn der Benutzer zuerst "sms" sagte if (msg1.substring (0, 3) =="sms") { String msg1f =msg1.substring (3); SMS.send (phoneNum, msg1f); TextToSpeech.say("SMS gesendet"); Verzögerung (4000); } // Kontakt schließen else { if (msg1.length ()> 16) {lcd.clear (); lcd.setCursor(0, 0); für (int i =0; i <=16; i ++) {lcd.print (msg1 [i]); } lcd.setCursor(0, 1); for (int j =16; j <=msg1.length()-1; j++) {lcd.print(msg1[j]); }} sonst {lcd.clear(); lcd.print (msg1); } } 

Sie können in diesem Teil sehen, dass ich 2 Fälle hinzugefügt habe, Fernkontakt und Nahkontakt. Bei weit entfernten Kontakten muss die blinde Person zuerst „SMS“ sagen. Andernfalls wird es nur auf dem LCD angezeigt. Außerdem gibt es 2 Fälle für das LCD selbst, da es angewiesen werden muss, in die zweite Zeile zu gehen, wenn die Nachricht länger als 16 Zeichen ist, da es nur 16 Zeichen pro Zeile drucken kann.

void MsgBuild (char pC){ i++; if (gesendet <2) { if (pC =='S') { gesendet +=1; Nachricht +=PC; aufrechtzuerhalten. Sonst { gesendet =0; Nachricht +=PC; }} else if (gesendet =3) { i =i - 3; msg.entfernen(i); msg.toLowerCase();} 

Jetzt ist dieser Teil ein wenig knifflig, also habt Geduld mit mir für eine Weile. Diese Funktion wird aufgerufen, wenn die Tastatur verwendet wird. Diese Funktion macht im Wesentlichen zwei Dinge:Erstens nimmt sie jedes einzelne Zeichen, das Sie über die Tastatur eingeben, und verwendet es, um die Nachricht zu erstellen, die später gesendet wird; zweitens prüft es, ob Sie die Nachricht jetzt senden möchten. Ich habe festgestellt, dass ich die Eingabetaste in der Schildtastatur nicht richtig verwenden kann, also habe ich stattdessen diesen Code verwendet, um die Nachricht zu senden:wenn ich dreimal hintereinander auf die Schaltfläche „s“ geklickt habe. Natürlich können Sie es in jede andere Schaltfläche ändern. Und wie zuvor geben Sie für einen weit entfernten Kontakt zuerst SMS ein.

Der Rest des Codes ist selbsterklärend. Also, ich hoffe, es gefällt Ihnen und wenn Sie Fragen haben, kommentieren Sie bitte unten.

BlindToDeaf.ino

Schaltpläne


Herstellungsprozess

  1. Arduino I2C-Kommunikation mit Raspi 2 WIOT
  2. CO2-Überwachung mit K30-Sensor
  3. Münzprüfer mit Arduino steuern
  4. Arduino mit Bluetooth zur Steuerung einer LED!
  5. Kapazitiver Fingerabdrucksensor mit einem Arduino oder ESP8266
  6. Mit Nextion Display spielen
  7. Nunchuk-gesteuerter Roboterarm (mit Arduino)
  8. 4x4x4 LED-Würfel mit Arduino Uno und 1sheeld
  9. Python3- und Arduino-Kommunikation
  10. Messung der Sonneneinstrahlung mit Arduino