산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Manufacturing Technology >> 제조공정

1Sheeld/Arduino를 사용한 청각 장애인용 통신

구성품 및 소모품

1쉴드
× 1
Arduino UNO
× 1
Adafruit Standard LCD - 파란색 바탕에 16x2 흰색
× 1
회전 전위차계(일반)
× 1

이 프로젝트 정보

기본적으로 이 프로젝트는 시각 장애인 커뮤니케이션 문제를 해결합니다.

시각 장애인은 말과 청각밖에 의사소통이 되지 않는 반면, 청각 장애인은 타이핑과 보기만 할 수 있으니 이를 활용하자!

시각 장애인:

<울>
  • 말하기 → 문자 → 보기
  • 청각 장애인과 시각 장애인:

    <울>
  • 문자 → 문자 → 음성
  • 이제 이를 하드웨어로 변환해 보겠습니다.

    1단계:하드웨어 설정

    <울>
  • Arduino Uno 또는 기타
  • <울>
  • LCD(이 튜토리얼에서는 16*2를 사용함)
  • <울>
  • 스마트폰
  • <울>
  • 전위차계(10k로 가능)
  • 2단계:연결

    1Sheeld를 사용하려면 먼저 1Sheeld 라이브러리를 다운로드하여 Arduino에 추가해야 합니다. 또한 1Sheeld 앱을 휴대폰에 다운로드하여 설치해야 합니다. 1Sheeld 사이트:https://1sheld.com/downloads/

    에서 다운로드할 수 있습니다.

    1Sheeld를 Arduino에 연결하는 방법과 코드를 업로드하는 방법은 이 튜토리얼을 따르십시오:https://1sheeld.com/tutorials/getting-started/

    이제 회로가 약간 지저분해 보일 수 있지만 간단한 LCD 회로입니다.

    <울>
  • LCD RS 핀 → 디지털 핀 12
  • <울>
  • LCD 활성화 핀 → 디지털 핀 11
  • <울>
  • LCD D4 핀 → 디지털 핀 5
  • <울>
  • LCD D5 핀 → 디지털 핀 4
  • <울>
  • LCD D6 핀 → 디지털 핀 3
  • <울>
  • LCD D7 핀 → 디지털 핀 2
  • <울>
  • LCD R/W 핀 → 접지
  • <울>
  • LCD VSS 핀 → 접지
  • <울>
  • LCD VCC 핀 → 5V
  • <울>
  • 10K 저항 끝 → +5V 및 접지
  • <울>
  • 와이퍼 → LCD VO 핀(핀 3)
  • 이제 통신은 다음과 같이 진행됩니다.

    시각 장애인

    <울>
  • 음성 인식 → 문자 → LCD
  • 청각 장애인

    <울>
  • 키보드 → 텍스트 → 텍스트 음성 변환
  • 기본적으로 음성 인식은 음성을 텍스트로 변환한 다음 LCD로 전송하여 청각 장애인이 볼 수 있도록 합니다. TTS(텍스트 음성 변환)는 키보드에서 텍스트를 가져와서 시각 장애인이 들을 수 있도록 음성으로 변환합니다.

    휴대폰의 1Sheeld 앱에서 음성 인식, 키보드, TTS(텍스트 음성 변환) 및 SMS 쉴드를 선택해야 합니다. SMS 실드를 사용하여 멀리 떨어진 연락처에 메시지를 보낼 수 있습니다. 다음은 작동 방식을 보여주는 동영상입니다.

    이제 우리가 하려는 일에 대해 잘 알았으니 이제 코드에 대해 이야기해 보겠습니다.

    3단계:소프트웨어

    문자열 MSG를; <코드> ​​#DEFINE의 CUSTOM_SETTINGS 번호가 INCLUDE_VOICE_RECOGNIZER_SHIELD 번호가 INCLUDE_TEXT_TO_SPEECH_SHIELD 번호가 INCLUDE_KEYBOARD_SHIELD 번호가 INCLUDE_SMS_SHIELD 번호가 INCLUDE_TERMINAL_SHIELD 번호가 INCLUDE_VIBRATION_SHIELD 번호가 #includeLiquidCrystal LCD (12, 11, 5, 4, 3, 2)를 포함하는 정의 정의 정의 정의 정의 정의 <사전> INT 보낸 =0;int i =0;문자열 phoneNum =""; //여기에 전화번호 쓰기 patternOne[6] ={1000, 2000, 1000, 2000, 1000, 2000};int patternOneSize =6;void setup() { OneSheeld.begin(); 음성인식.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("문자 발송"); 지연(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); (int j =16; j <=msg1.length()-1; j++) { lcd.print(msg1[j]); } } else { lcd.clear(); lcd.print(msg1); } } 

    이 부분에서 제가 원거리 접촉과 밀접 접촉의 2가지 경우를 추가한 것을 볼 수 있습니다. 원거리 연락의 경우 시각 장애인이 먼저 "SMS"라고 말해야 합니다. 그렇지 않으면 LCD에 표시됩니다. 또한 한 줄에 16자만 인쇄할 수 있기 때문에 메시지가 16자보다 길면 두 번째 줄로 이동하도록 지시해야 하므로 LCD 자체에 2가지 경우가 있습니다.

    <사전><코드>무효 MsgBuild(char pC){ i++; if (sent <2) { if (pC =='S') { 보낸 +=1; 메시지 +=PC; } else { 보낸 =0; 메시지 +=PC; } } else if (보낸 =3) { 나는 =나는 - 3; msg.remove(i); msg.toLowerCase();}

    이제 이 부분이 조금 까다롭기 때문에 잠시만 기다려 주세요. 이 함수는 키보드를 사용하는 경우에 호출됩니다. 이 함수가 기본적으로 하는 일은 두 가지입니다. 첫째, 키보드를 사용하여 입력하는 모든 단일 문자를 가져와 나중에 보낼 메시지를 작성하는 데 사용합니다. 둘째, 지금 메시지를 보낼 것인지 확인합니다. 실드 키보드에서 Enter 버튼을 제대로 사용할 수 없다는 것을 깨달았고 대신 이 코드를 사용하여 메시지를 보냈습니다. "s" 버튼을 연속으로 3번 클릭하면. 물론 다른 버튼으로 변경할 수 있습니다. 그리고 이전과 마찬가지로 멀리 떨어져 있는 연락처의 경우 SMS를 먼저 입력합니다.

    나머지 코드는 설명이 필요 없습니다. 그럼, 마음에 드셨기를 바라며 질문이 있으시면 아래에 댓글을 남겨주세요.

    BlindToDeaf.ino

    회로도


    제조공정

    1. Raspi 2 WIOT와 Arduino I2C 통신
    2. K30 센서로 CO2 모니터링
    3. Arduino로 코인 억셉터 제어
    4. Bluetooth가 탑재된 Arduino로 LED 제어!
    5. Arduino 또는 ESP8266이 있는 정전 용량 지문 센서
    6. Nextion 디스플레이로 재생
    7. Nunchuk 제어 로봇 팔(Arduino 포함)
    8. 4x4x4 LED 큐브(Arduino Uno 및 1쉴드 포함
    9. Python3 및 Arduino 통신
    10. Arduino로 태양 복사열 측정