제조공정
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
![]() |
| × | 1 |
기본적으로 이 프로젝트는 시각 장애인 커뮤니케이션 문제를 해결합니다.
시각 장애인은 말과 청각밖에 의사소통이 되지 않는 반면, 청각 장애인은 타이핑과 보기만 할 수 있으니 이를 활용하자!
시각 장애인:
<울>청각 장애인과 시각 장애인:
<울>이제 이를 하드웨어로 변환해 보겠습니다.
1단계:하드웨어 설정
2단계:연결
1Sheeld를 사용하려면 먼저 1Sheeld 라이브러리를 다운로드하여 Arduino에 추가해야 합니다. 또한 1Sheeld 앱을 휴대폰에 다운로드하여 설치해야 합니다. 1Sheeld 사이트:https://1sheld.com/downloads/
에서 다운로드할 수 있습니다.1Sheeld를 Arduino에 연결하는 방법과 코드를 업로드하는 방법은 이 튜토리얼을 따르십시오:https://1sheeld.com/tutorials/getting-started/
이제 회로가 약간 지저분해 보일 수 있지만 간단한 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섹션>
제조공정
Arduino 자습서 시리즈의 다섯 번째 Arduino 자습서에 오신 것을 환영합니다. 이 튜토리얼에서는 직렬 통신이 작동하는 방식을 배우고 이해를 돕기 위해 몇 가지 예를 만들 것입니다. 이것은 따라하기 쉬운 단계별 비디오 자습서입니다. 또한 동영상 아래에서 이 튜토리얼에 필요한 부품과 동영상의 예제 소스 코드를 찾을 수 있습니다. 이 Arduino 튜토리얼에 필요한 구성요소 아두이노 보드 ........................................................... 브레드보드 및 점프 와이
Arduino 직렬:Arduino를 통한 직렬 통신 직렬 통신의 배경: 마이크로 컨트롤러 또는 마이크로 프로세서가 외부 세계와 통신해야 할 때 데이터를 8비트 패킷 형태로 제공하므로 한 시스템이 다른 시스템과 통신해야 하는 경우 총 8선 케이블이 사용되며 항상 그런 것은 아닙니다. 장거리 여행 시 신호가 왜곡되기 때문에 실용적인 솔루션입니다. 그것은 또한 8선 묶음의 높은 비용 때문에 비싸다 이 프로토콜은 새로운 프로토콜의 필요성이 각성된 이후에 병렬 통신으로 명명되었으며 설계자는 직렬 프로토콜로 명명된 새로운 프로토콜을 도입하여