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

Kommunikationshilfe für Taubblinde: 1Sheeld + Arduino + Sprachausgabe & Anzeige

Komponenten

Bauteil Anzahl
Arduino UNO 1
1Sheeld Shield 1 Verbindet Arduino mit Smartphone per Bluetooth
LCD 16×2 (HD44780, z. B. Adafruit White on Blue) 1
Drehpotentiometer 10 kΩ 1 Für LCD-Kontrast
Smartphone (Android/iOS) 1 Läuft 1Sheeld App

Projektziel

Eine Kommunikationsbrücke zwischen einer blinden Person (kann sprechen & hören) und einer tauben Person (kann tippen & sehen).

Hardware-Aufbau (LCD an Arduino)

LCD Pin Arduino Pin
RS 12
Enable (E) 11
D4 5
D5 4
D6 3
D7 2
R/W GND
VSS GND
VCC 5 V
VO (Kontrast) Potentiometer-Schleifer (Enden an 5 V & GND)

1Sheeld Einrichtung

  1. 1Sheeld Library in Arduino IDE installieren (Library Manager oder Download).
  2. 1Sheeld App auf Smartphone installieren & mit Shield koppeln (Bluetooth).
  3. In der App folgende Shields aktivieren: Voice Recognition, Keyboard, Text To Speech, SMS, Terminal, Vibration.
  4. Arduino-Code hochladen (1Sheeld muss im Upload-Modus sein: Schalter auf „Upload“, nach Upload auf „Operating“).

Arduino-Code (Kernlogik)


#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
#define INCLUDE_VIBRATION_SHIELD

#include <OneSheeld.h>
#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

String msg;
int sent = 0, i = 0;
String phoneNum = "+49XXXXXXXXXX"; // Zielnummer für SMS
int patternOne[6] = {1000, 2000, 1000, 2000, 1000, 2000}; // Vibrationsmuster

void setup() {
  OneSheeld.begin();
  VoiceRecognition.start();
  lcd.begin(16, 2);
}

void loop() {
  // --- BLIND → TAUB (Sprache → LCD) ---
  if (VoiceRecognition.isNewCommandReceived()) {
    String cmd = VoiceRecognition.getLastCommand();
    // SMS an ferne Person?
    if (cmd.startsWith("sms")) {
      String smsText = cmd.substring(3);
      SMS.send(phoneNum, smsText);
      TextToSpeech.say("SMS gesendet");
      delay(4000);
    } else { // Lokal: Auf LCD anzeigen
      if (cmd.length() > 16) {
        lcd.clear();
        lcd.setCursor(0, 0);
        for (int k = 0; k < 16; k++) lcd.print(cmd[k]);
        lcd.setCursor(0, 1);
        for (int k = 16; k < cmd.length(); k++) lcd.print(cmd[k]);
      } else {
        lcd.clear();
        lcd.print(cmd);
      }
    }
  }

  // --- TAUB → BLIND (Tastatur → Sprache) ---
  if (Keyboard.isKeyPressed()) {
    char c = Keyboard.getKey();
    MsgBuild(c);
  }
}

// Baut Nachricht zeichenweise auf; 3× 's' nacheinander = Senden
void MsgBuild(char c) {
  i++;
  if (sent < 2) {
    if (c == 's') { sent++; msg += c; }
    else { sent = 0; msg += c; }
  } else if (sent == 2) { // drittes 's'
    if (c == 's') {
      sent = 3;
      i -= 3;
      msg.remove(i); // die drei 's' entfernen
      msg.toLowerCase();
      // Senden:
      if (msg.startsWith("sms")) {
        SMS.send(phoneNum, msg.substring(3));
        TextToSpeech.say("SMS gesendet");
      } else {
        TextToSpeech.say(msg);
      }
      msg = "";
      sent = 0;
      i = 0;
    } else {
      sent = 0;
      msg += c;
    }
  }
}

Funktionsweise im Detail

Spracherkennung → LCD

Die 1Sheeld-App nutzt die Google-Spracherkennung des Smartphones. Erkannter Text wird per Bluetooth an Arduino gesendet. Der Sketch prüft, ob der Text mit „sms“ beginnt → SMS-Versand, sonst Anzeige auf LCD (bei >16 Zeichen auf zwei Zeilen verteilt).

Tastatur (Smartphone) → Sprache

Die taube Person tippt auf der 1Sheeld-App-Tastatur. Jedes Zeichen ruft MsgBuild() auf. Das Drücken von „s“ dreimal hintereinander löst das Senden aus (Enter-Taste funktionierte im Shield unzuverlässig). Beginnt die Nachricht mit „sms“, wird eine SMS gesendet, sonst per TTS vorgelesen.

Vibration & Terminal

Das Vibration-Shield kann haptisches Feedback geben (z. B. bei eingehender SMS). Das Terminal-Shield dient Debugging (Serieller Monitor auf Smartphone).

Erweiterungsideen

Schaltplan

Kommunikationshilfe für Taubblinde: 1Sheeld + Arduino + Sprachausgabe & Anzeige

Herstellungsprozess

  1. Nahtlose Arduino–Raspberry Pi 2 I2C-Integration für IoT-Sensorprojekte
  2. K30 CO₂-Sensor: Echtzeit-Luftqualitätsmessung mit Arduino
  3. Smartes Sparschwein: Münzprüfer mit Arduino Nano steuern
  4. LED per Bluetooth mit Arduino steuern – Einfache DIY-Anleitung
  5. DFRobot Kapazitiver Fingerabdrucksensor mit Arduino oder ESP8266 einbinden
  6. Interaktives Nextion HMI Projekt mit Arduino Mega und Sensoren
  7. Arduino-basierter 6-DoF Roboterarm mit Nunchuk-Steuerung
  8. 4x4x4 LED-Würfel mit Arduino Uno & 1Sheeld bauen – Interaktives LED-Projekt
  9. Python 3 zu Arduino UNO: Einfache Steuerung & LED-Demo
  10. Präzise Solareinstrahlungsmessung mit Arduino UNO & Ethernet Shield