Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino

Composants et fournitures

À propos du projet

Ce projet résout un problème de communication entre une personne aveugle et une personne sourde.

La personne aveugle ne peut communiquer que par la parole et l'écoute, tandis que la personne sourde ne peut que taper et lire. Utilisons cela !

Traduisons cela en matériel.

Étape 1 : Configuration matérielle

Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino

Étape 2 : Connexions

Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino
Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino

Pour utiliser 1Sheeld, téléchargez d'abord la bibliothèque 1Sheeld et ajoutez-la à votre Arduino. Téléchargez aussi l'application 1Sheeld sur votre smartphone et installez-la. Disponible sur : 1sheeld.com/downloads

Suivez ce tutoriel pour brancher 1Sheeld sur Arduino et téléverser le code : 1Sheeld Getting Started

Le circuit peut sembler un peu désordonné mais c'est un circuit LCD simple :

La communication se déroule ainsi :

La reconnaissance vocale convertit la voix en texte affiché sur le LCD pour la personne sourde. La synthèse vocale prend le texte du clavier et le convertit en voix pour la personne aveugle.

Vous devez activer les shields Reconnaissance vocale, Clavier, Synthèse vocale et SMS dans l'application 1Sheeld sur votre smartphone. Le shield SMS permet d'envoyer des messages à un contact distant. Voici une vidéo de démonstration :

Maintenant que vous avez une idée de ce qu'on fait, passons au code.

Étape 3 : Logiciel

#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;
int i = 0;
String phoneNum = ""; // écrire le numéro de téléphone ici
int patternOne[6] = {1000, 2000, 1000, 2000, 1000, 2000};
int patternOneSize = 6;

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

On inclut les bibliothèques utilisées et on initialise quelques variables. Notez qu'on utilise un capteur de vibration, les variables patternOne et patternOneSize y sont liées. On utilise aussi le shield SMS pour communiquer à distance, d'où la variable phoneNum qui contiendra le numéro de téléphone destinataire.


// Aveugle vers Sourd
if (VoiceRecognition.isNewCommandReceived()) {
  String msg1 = VoiceRecognition.getLastCommand();
  // Contact distant si l'utilisateur a dit "sms" en premier
  if (msg1.substring(0, 3) == "sms") {
    String msg1f = msg1.substring(3);
    SMS.send(phoneNum, msg1f);
    TextToSpeech.say("sms sent");
    delay(4000);
  }
  // Contact proche
  else {
    if (msg1.length() > 16) {
      lcd.clear();
      lcd.setCursor(0, 0);
      for (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]);
      }
    } else {
      lcd.clear();
      lcd.print(msg1);
    }
  }
}

On voit ici deux cas : contact distant et contact proche. Pour un contact distant, la personne aveugle doit dire « SMS » en premier. Sinon, le message s'affiche juste sur le LCD. Il y a aussi deux cas pour le LCD : s'il faut passer à la deuxième ligne quand le message dépasse 16 caractères (le LCD n'affiche que 16 caractères par ligne).


void MsgBuild(char pC) {
  i++;
  if (sent < 2) {
    if (pC == 'S') {
      sent += 1;
      msg += pC;
    } else {
      sent = 0;
      msg += pC;
    }
  } else if (sent = 3) {
    i = i - 3;
    msg.remove(i);
    msg.toLowerCase();
  }
}

Cette partie est un peu délicate. Cette fonction est appelée quand le clavier est utilisé. Elle fait deux choses : d'abord, elle prend chaque caractère saisi au clavier pour construire le message qui sera envoyé ; ensuite, elle vérifie si vous voulez envoyer le message maintenant. Je n'ai pas pu utiliser correctement la touche Entrée du clavier du shield, alors j'ai utilisé ce code pour envoyer le message : si j'appuie 3 fois de suite sur la touche « s ». Bien sûr, vous pouvez changer pour une autre touche. Et comme avant, pour un contact distant, tapez « SMS » en premier.

Le reste du code est explicite. J'espère que ça vous plaira et si vous avez des questions, commentez ci-dessous.

BlindToDeaf.ino

Schémas

Faciliter la communication sourd-aveugle avec 1Sheeld et Arduino

Processus de fabrication

  1. Intégration I2C fluide entre Arduino et Raspberry Pi 2 pour projets IoT de capteurs
  2. Capteur CO2 K30 : Surveillance en temps réel de la qualité de l'air intérieur
  3. Construire une Tirelire Intelligente : Contrôler un Accepteur de Pièces avec Arduino Nano
  4. Contrôler une LED par Bluetooth avec Arduino et MIT App Inventor
  5. Intégrer un capteur d'empreintes capacitif DFRobot (ID809) avec Arduino ou ESP8266
  6. Station météo interactive Nextion HMI avec Arduino Mega et capteurs
  7. Bras robotique 6 DoF piloté par Nunchuk Wii – Kit Arduino Mega
  8. Construire un Cube LED 4x4x4 avec Arduino Uno et 1Sheeld – Projet LED Interactif
  9. Contrôle Arduino UNO depuis Python 3 – Communication Série et Démo LED