工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

1SheeldとArduinoで盲ろう者のコミュニケーションを支援する

必要な部品と材料

プロジェクト概要

盲ろう者同士、または盲者とろう者の間のコミュニケーション問題を解決するプロジェクトです。盲者は「話す・聞く」、ろう者は「打つ・見る」が主な手段。これを技術で橋渡しします。

ステップ1:ハードウェアセットアップ

1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
1SheeldとArduinoで盲ろう者のコミュニケーションを支援する

必要なもの:

ステップ2:配線

1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
1SheeldとArduinoで盲ろう者のコミュニケーションを支援する
1SheeldとArduinoで盲ろう者のコミュニケーションを支援する

1Sheeldを使うには、まず1SheeldサイトからライブラリをダウンロードしてArduino IDEに追加し、スマホに1Sheeldアプリをインストールします。Arduinoへのシールド取り付けとスケッチ書き込み手順は公式チュートリアルを参照。

LCD接続(標準的な4ビットモード):

通信フロー:

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_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 = ""; // 送信先電話番号をここに記入
int patternOne[6] = {1000, 2000, 1000, 2000, 1000, 2000};
int patternOneSize = 6;

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

// 盲者 → ろう者(近距離/遠距離)
if (VoiceRecognition.isNewCommandReceived()) {
  String msg1 = VoiceRecognition.getLastCommand();
  // 遠隔連絡先へSMS送信(「sms」で始まる発話)
  if (msg1.substring(0, 3) == "sms") {
    String msg1f = msg1.substring(3);
    SMS.send(phoneNum, msg1f);
    TextToSpeech.say("sms sent");
    delay(4000);
  }
  // 近距離:LCD表示
  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);
    }
  }
}

// キーボード入力処理(ろう者 → 盲者)
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();
  }
}

MsgBuild関数はキーボード入力のたびに呼ばれ、メッセージを構築しながら「S」キー3回押しで送信トリガーとして検出します(Enterキーがうまく使えなかったため)。遠隔送信時は先頭に「sms」を付けます。LCDは16文字×2行なので、長文は自動で2行目へ折り返します。

残りのコードは自明です。ご質問はコメント欄へ。

BlindToDeaf.ino(完全版スケッチファイル)

回路図

1SheeldとArduinoで盲ろう者のコミュニケーションを支援する

製造プロセス

  1. ArduinoとRaspberry Pi 2のI2C連携でIoTセンサープロジェクトを実現
  2. K30 CO2センサで室内空気質をリアルタイム監視する
  3. スマート貯金箱を作ろう:Arduino Nanoでコインアクセプターを制御
  4. ArduinoでBluetooth経由でLEDを制御 – シンプルDIYガイド
  5. DFRobot静電容量式指紋センサーをArduino/ESP8266で使う – 登録・認証・削除の完全ガイド
  6. Arduino MegaとNextion HMIで作る高機能ウェザーステーション
  7. Arduinoベースのヌンチャク操作6自由度ロボットアームキット
  8. Arduino Unoと1Sheeldで作る4x4x4 LEDキューブ – インタラクティブLEDプロジェクト
  9. Python 3からArduino UNOを制御 – シリアル通信でLED点滅デモ
  10. Arduino UNOとEthernetシールドで太陽放射を測定する自作ピラノメーター
  11. コンパクトなArduinoレーダーシステム – HC-SR04超音波センサー & 1.8インチST7735ディスプレイ搭載