1Sheeld / Arduinoとの盲ろう者のコミュニケーション
コンポーネントと消耗品
> |
| × | 1 | |||
| × | 1 | ||||
| × | 1 | ||||
| × | 1 |
このプロジェクトについて
基本的に、このプロジェクトは視覚障害者のコミュニケーションの問題に取り組んでいます。
視覚障害者の唯一のコミュニケーション手段は、話すことと聞くことですが、聴覚障害者はタイプして見ることしかできないので、それを使用しましょう!
盲目から聴覚障害者:
- トーク→テキスト→表示
聴覚障害者:
- タイプ→テキスト→音声
それをハードウェアに変換しましょう。
ステップ1:ハードウェアのセットアップ <図> <図> <図> <図>
- ArduinoUnoまたはその他
- LCD(このチュートリアルでは16 * 2のものを使用しています)
- スマートフォン
- ポテンショメータ(10kで十分)
ステップ2:接続 <図> <図> <図> <図> <図> <図>
1Sheeldを使用できるようにするには、最初に1Sheeldライブラリをダウンロードして、Arduinoに追加する必要があります。また、1Sheeldアプリを携帯電話にダウンロードしてインストールする必要があります。 1Sheeldサイトから入手できます:https://1sheeld.com/downloads/
1SheeldをArduinoに接続する方法とコードをアップロードする方法については、次のチュートリアルに従ってください:https://1sheeld.com/tutorials/getting-started/
回路が少し乱雑に見えるかもしれませんが、それは単純なLCD回路です:
- LCDRSピン→デジタルピン12
- LCDイネーブルピン→デジタルピン11
- LCDD4ピン→デジタルピン5
- LCDD5ピン→デジタルピン4
- LCDD6ピン→デジタルピン3
- LCDD7ピン→デジタルピン2
- LCD R / Wピン→アース
- LCDVSSピン→アース
- LCDVCCピン→5V
- 10K抵抗端→+ 5Vおよびグランド
- ワイパー→LCDVOピン(ピン3)
これで、通信は次のようになります。
盲目から聴覚障害者
- 音声認識→テキスト→LCD
聴覚障害者
- キーボード→テキスト→テキスト読み上げ
基本的に、音声認識は音声をテキストに変換し、LCDに送信するため、聴覚障害者はそれを見ることができます。 Text-to-speechは、キーボードからテキストを取得して音声に変換するため、目の不自由な人でも聞くことができます。
携帯電話の1Sheeldアプリから、音声認識、キーボード、音声合成、SMSシールドを選択する必要があります。 SMSシールドを使用すると、遠くの連絡先にメッセージを送信できるようになります。これがどのように機能するかを示すビデオです:
私たちがやろうとしていることについての良いアイデアが得られたので、コードについて話しましょう。
ステップ3:ソフトウェア
#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_KEYBOARD_SHIELD#define INCLUDE_SMS_SHIELD#define INCLUDE_TERMINAL_SHIELD#define INCLUDE_TERMINAL_SHIELD#define INCLUDE_TERMINAL_SHIELD#define INCLUDE_TERMINAL_SHIELD送信=0; int i =0; String phoneNum =""; //ここに電話番号を書き込みますpatternOne [6] ={1000、2000、1000、2000、1000、2000}; int patternOneSize =6; void setup(){OneSheeld.begin(); VoiceRecognition.start(); lcd.begin(16、2);}
基本的には、使用するライブラリを追加し、後で使用するいくつかの変数を初期化するだけです。振動センサーと変数 patternOne
を使用することに注意してください。 および patterOneSize
それに関連しています。また、長距離通信のためにSMSシールドを使用するため、変数「 phoneNum
」を追加しました。 」は、SMSの送信先の電話番号を保持します。
//盲目から聴覚障害者if(VoiceRecognition.isNewCommandReceived()){String msg1 =VoiceRecognition.getLastCommand(); //ユーザーが最初に「sms」と言った場合は遠方に連絡するif(msg1.substring(0、3)=="sms"){String msg1f =msg1.substring(3); SMS.send(phoneNum、msg1f); TextToSpeech.say( "sms send"); delay(4000); } //連絡先を閉じる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); }}
この部分では、遠方接触と近接接触の2つのケースを追加したことがわかります。遠く離れた連絡先の場合、目の不自由な人は最初に「SMS」と言う必要があります。それ以外の場合は、LCDに表示されます。また、メッセージが16文字を超える場合は、1行あたり16文字しか印刷できないため、2行目に移動するように指示する必要があるため、LCD自体には2つのケースがあります。
void MsgBuild(char pC){i ++; if(sent <2){if(pC =='S'){sent + =1; msg + =pC; } else {送信=0; msg + =pC; }} else if(sent =3){i =i-3; msg.remove(i); msg.toLowerCase();}
さて、この部分は少しトリッキーなので、しばらく我慢してください。この関数は、キーボードが使用されている場合に呼び出されます。この関数が基本的に行うことは2つです。1つは、キーボードを使用して入力したすべての文字を取得し、それを使用して後で送信されるメッセージを作成することです。次に、メッセージを今すぐ送信するかどうかを確認します。シールドキーボードのEnterボタンを正しく使用できないことに気付いたので、代わりにこのコードを使用してメッセージを送信しました。「s」ボタンを3回続けてクリックした場合。もちろん、他のボタンに変更することもできます。以前と同様に、遠く離れた連絡先の場合は、最初にSMSと入力します。
コードの残りの部分は自明です。ですから、気に入っていただければ幸いです。ご不明な点がございましたら、以下にコメントしてください。
BlindToDeaf.ino
回路図
製造プロセス