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

Communication sourds-aveugles avec 1Sheeld/Arduino

Composants et fournitures

1Sheeld
× 1
Arduino UNO
× 1
Adafruit Standard LCD - 16x2 Blanc sur Bleu
× 1
Potentiomètre rotatif (générique)
× 1

À propos de ce projet

Fondamentalement, ce projet aborde un problème de communication aveugle-sourd.

Le seul moyen de communication de la personne aveugle serait de parler et d'entendre, tandis que la personne sourde ne peut que taper et voir, alors utilisons-la !

Aveugle à sourd :

  • Parler → Texte → Afficher

Sourd à aveugle :

  • Saisie → Texte → Voix

Traduisons maintenant cela en matériel.

Étape 1 :configuration du matériel

  • Arduino Uno ou tout autre
  • LCD (pour ce tutoriel j'utilise le 16*2)
  • Téléphone intelligent
  • Potentiomètre (10k fera l'affaire)

Étape 2 :Connexions

Pour pouvoir utiliser 1Sheeld, vous devez d'abord télécharger la bibliothèque 1Sheeld et l'ajouter à votre Arduino. En outre, vous devez télécharger l'application 1Sheeld sur votre téléphone mobile et l'installer. Vous pouvez l'obtenir sur le site 1Sheeld :https://1sheeld.com/downloads/

Suivez ce tutoriel pour savoir comment connecter 1Sheeld à Arduino et comment télécharger le code :https://1sheeld.com/tutorials/getting-started/

Maintenant, je sais que le circuit peut sembler un peu désordonné, mais c'est un simple circuit LCD :

  • Broche RS LCD → broche numérique 12
  • Broche d'activation du LCD → broche numérique 11
  • Broche LCD D4 → broche numérique 5
  • Broche LCD D5 → broche numérique 4
  • Broche LCD D6 → broche numérique 3
  • Broche LCD D7 → broche numérique 2
  • Broche LCD R/W → masse
  • Broche LCD VSS → masse
  • Broche LCD VCC → 5V
  • La résistance de 10 K se termine → +5 V et la masse
  • essuie-glace → broche LCD VO (broche 3)

Maintenant, la communication se déroule comme suit :

Aveugle à Sourd

  • Reconnaissance vocale → Texte → LCD

Sourd à Aveuglé

  • Clavier → Texte → Synthèse vocale

Fondamentalement, la reconnaissance vocale convertira la voix en texte qui sera ensuite envoyé à un écran LCD, afin que la personne sourde puisse la voir. La synthèse vocale prendra le texte du clavier et le convertira en voix, afin que la personne aveugle puisse l'entendre.

Vous devez choisir les boucliers de reconnaissance vocale, de clavier, de synthèse vocale et de SMS à partir de l'application 1Sheeld sur votre téléphone mobile. En utilisant le bouclier SMS, nous pourrons envoyer des messages à un contact éloigné. Voici une vidéo pour montrer comment cela fonctionne :

Maintenant que vous avez une bonne idée de ce que nous essayons de faire, parlons 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_TEXT_TO_SPEECH_SHIELD#define INCLUDE_KEYBOARD_SHIELD#define INCLUDE_SMS_SHIELD#define INCLUDE_TERMINAL#INCLUDE_SHIELD#define envoyé =0;int i =0;String phoneNum =""; //écrire le numéro de téléphone ici patternOne[6] ={1000, 2000, 1000, 2000, 1000, 2000};int patternOneSize =6;void setup() { OneSheeld.begin(); VoiceRecognition.start(); lcd.begin (16, 2);} 

Fondamentalement, il suffit d'ajouter les bibliothèques que nous utiliserons et d'initialiser certaines variables que nous utiliserons plus tard. Gardez à l'esprit que nous allons utiliser un capteur de vibrations et les variables patternOne et patterOneSize y sont liés. Nous utiliserons également le bouclier SMS afin de communiquer à longue distance, c'est pourquoi nous avons ajouté la variable « phoneNum " qui contiendra le numéro de téléphone auquel vous enverrez le SMS.

 // De l'aveugle au sourd if (VoiceRecognition.isNewCommandReceived()) { String msg1 =VoiceRecognition.getLastCommand(); //contact éloigné 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 envoyé"); retard (4000); } //fermer le contact 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) ; } } 

Vous pouvez voir dans cette partie que j'ai ajouté 2 cas, contact lointain et contact rapproché. Pour les contacts éloignés, la personne aveugle doit d'abord dire « SMS ». Sinon, il sera simplement affiché sur l'écran LCD. De plus, il y a 2 cas pour l'écran LCD lui-même car il doit être dit d'aller à la deuxième ligne lorsque le message fait plus de 16 caractères, car il ne peut imprimer que 16 caractères par ligne.

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

Maintenant, cette partie est un peu délicate, alors supportez-moi un moment. Cette fonction sera appelée en cas d'utilisation du clavier. Cette fonction fait essentiellement 2 choses :d'abord, elle prend chaque caractère que vous entrez à l'aide du clavier et l'utilise pour construire le message qui sera envoyé plus tard; Deuxièmement, il vérifie si vous souhaitez envoyer le message maintenant. J'ai réalisé que je ne pouvais pas utiliser correctement le bouton Entrée du clavier du bouclier, j'ai donc utilisé ce code pour envoyer le message :si je cliquais sur le bouton « s » 3 fois de suite. Bien sûr, vous pouvez le remplacer par n'importe quel autre bouton. Et comme précédemment, pour un contact éloigné, tapez d'abord SMS.

Le reste du code est explicite. Alors, j'espère qu'il vous plaira et si vous avez des questions, n'hésitez pas à commenter ci-dessous.

BlindToDeaf.ino

Schémas


Processus de fabrication

  1. Communication Arduino I2C avec Raspi 2 WIOT
  2. Surveillance du CO2 avec le capteur K30
  3. Contrôler l'accepteur de pièces avec Arduino
  4. Arduino avec Bluetooth pour contrôler une LED !
  5. Capteur d'empreintes digitales capacitif avec un Arduino ou ESP8266
  6. Jouer avec Nextion Display
  7. Bras robotique contrôlé par Nunchuk (avec Arduino)
  8. cube LED 4x4x4 avec Arduino Uno et 1sheeld
  9. Communication Python3 et Arduino