제조공정
| × | 1 | ||||
| × | 4 | ||||
| × | 1 | ||||
| × | 1 | ||||
| × | 10 |
|
|
우리가 이것을 만든 이유는 무엇입니까?
Iron man 팬으로서 저는 JARVIS에서 정말 영감을 받았습니다. 음성으로 제어되는 개인 비서와 저는 홈 오토메이션 시스템을 구축하고 싶었습니다. 기존에 사용할 수 있는 시스템이 많이 있지만 Arduino를 사용하여 나만의 홈 오토메이션 시스템을 구축하기로 결정했습니다.
작동 원리:
이 프로젝트는 조명, 팬, TV 등의 전기 및 전자 장치를 제어하는 것을 목표로 합니다. 이것은 Arduino와 집의 각 방에 설치된 릴레이 회로를 사용하여 수행됩니다. 데이터는 블루투스 모듈을 통해 Arduino에 게시되며 추가 구현이 가능합니다.
주요 작업은 데이터를 수집하고 모바일을 사용하여 Arduino에 게시하는 것입니다. 그리고 나중에 데이터로 장치를 켜고 끄는 제어를 만들 수 있습니다.
하드웨어 빌드
회로는 매우 간단합니다. 이 제품의 전체 비용은 $20 미만입니다.
1단계:부품 및 재료
이 프로젝트에 필요한 구성 요소는 다음과 같습니다.
<울>
2단계:연결
다음 연결은 점퍼 케이블을 사용하여 이루어집니다. 이 데모에서는 4개의 릴레이를 사용했는데, 이는 APP를 사용하여 4개의 장치를 제어할 수 있음을 의미합니다.
*Arduino -> BT 모듈*
<울>*Arduino -> 릴레이 보드*
<울>
3단계:코드
아래에서 샘플 코드를 찾을 수 있습니다.
문자열 음성;
int
led1 =2, //LED 1을 핀 #2에 연결
led2 =3, //LED 2를 핀 #3에 연결
led3 =4, //LED 3을 핀 #4에 연결
led4 =5, //LED 4를 핀 #5에 연결
led5 =6; //LED 5를 핀 #6에 연결
//---------------------------------------- 함수 호출------ -------------------------//
알론() 무효{
digitalWrite(led1, HIGH);
digitalWrite(led2, HIGH);
digitalWrite(led3, HIGH);
digitalWrite(led4, HIGH);
digitalWrite(led5, HIGH);
}
무효 alloff(){
digitalWrite(led1, LOW);
digitalWrite(led2, LOW);
digitalWrite(led3, LOW);
digitalWrite(led4, LOW);
digitalWrite(led5, LOW);
}
//----------------------------------------- ------------------------------------------//
설정 무효화 () {
Serial.begin(9600);
pinMode(led1, OUTPUT);
pinMode(led2, OUTPUT);
pinMode(led3, OUTPUT);
핀모드(LED4, 출력);
핀모드(LED5, 출력);
}
//-------------------- -------------------------------------------------- -//
void loop() {
while (Serial.available()){ //읽을 수 있는 바이트가 있는지 확인
delay(10); //안정화를 위한 지연 추가
char c =Serial.read(); //직렬 읽기 수행
if (c =='#') {break;} //단어 뒤에 #이 감지되면 루프를 종료합니다.
voice +=c; //음성 =음성 + c
}
if (voice.length()> 0) {
Serial.println(음성);
//---- -------------------------------------------------- ------//
//----------여러 핀/LED 제어---------- //
if(voice =="*all on") {allon();} //모든 핀 끄기(함수 호출)
else if(voice =="*all off"){ alloff();} //모든 핀 켜기(함수 호출)
//-------------하나씩 켜기-------- --//
else if(음성 =="*TV 켜짐") {digitalWrite(led1, HIGH);}
else if(음성 =="*팬 켜짐") {digitalWrite(led2, HIGH);}
else if(음성 =="*컴퓨터 켜짐") {digitalWrite(led3, HIGH);}
else if(음성 =="*침실 조명 켜짐") {digitalWrite(led4 , HIGH);}
else if(voice =="*욕실 조명 켜짐") {digitalWrite(led5, HIGH);}
//----------하나 끄기 -하나씩----------//
else if(음성 =="*TV 꺼짐") {digitalWrite(led1, LOW);}
else if(음성 =="*팬 오프") {digitalWrite(led2, LOW);}
else if(음성 =="*계산 r 꺼짐") {digitalWrite(led3, LOW);}
else if(음성 =="*침실 조명 꺼짐") {digitalWrite(led4, LOW);}
else if(음성 ==" *욕실 조명 꺼짐") {digitalWrite(led5, LOW);}
//-------------------------- ------------------------------------------//
음성="";}} //초기화 후 변수 재설정
4단계:신청
지금은 미리 만들어진 응용 프로그램을 사용합니다. 다음 날에는 인증서가 처리된 후 신청서를 한 번 게시하겠습니다.
Arduino용 BT 음성 제어 SimpleLabsIN에서 생성:https://apkpure.com/bt-voice-control-for-arduino/robotspace.simplelabs.amr_voice/download?from=details
이 프로젝트의 작업 비디오:
현재 기능은 장치를 켜거나 끄는 것으로 제한되어 있지만 사용자가 다른 프로젝트에 자연어 처리를 통합할 수 있도록 기본 수준에서 자연어를 처리할 수 있습니다.
저와 이 훌륭한 플랫폼의 모든 사용자가 참여할 수 있도록 허락해 주신 Hackster.io에 감사드립니다.
청소년과 청소년이 창작하고 발명하도록 격려하는 활동을 수행해 주셔서 감사합니다.
정말 도움이 되었다면 엄지손가락을 치켜세우고 흥미로운 프로젝트를 위해 내 채널을 팔로우하세요. :)
원한다면 이 동영상을 공유하세요.
구독해주셔서 감사합니다:https://www.youtube.com/c/rahulkhanna24june?sub_confirmation=1
읽어주셔서 감사합니다!
섹션> <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">//Coded By:Angelo Casimiro (4/27/14)//Voice Activated Arduino (Bluetooth + Android)//자유롭게 수정하되 creditString voice;intled1 =2, //Connect LED 1 핀 #2led2 =3에, //LED 2를 핀 #3led3 =4에 연결, //LED 3을 핀 #4led4 =5에 연결, //LED 4를 핀 #5led5 =6에 연결; //LED 5를 핀 #6에 연결//-------------------------- 함수 호출---------- ----------------------// 무효 allon(){ digitalWrite(led1, HIGH); 디지털 쓰기(led2, HIGH); 디지털 쓰기(led3, HIGH); 디지털 쓰기(led4, HIGH); digitalWrite(led5, HIGH);} 무효 alloff(){ digitalWrite(led1, LOW); 디지털 쓰기(LED2, LOW); 디지털 쓰기(LED3, LOW); 디지털 쓰기(LED4, LOW); digitalWrite(led5, LOW);}//---------------------------------------- -------------------------------// void setup() { Serial.begin(9600); 핀모드(LED1, 출력); 핀모드(LED2, 출력); 핀모드(LED3, 출력); 핀모드(LED4, 출력); pinMode(led5, OUTPUT);}//---------------------------------------- -------------------------------// void loop() { while (Serial.available()){ //체크 읽을 수 있는 바이트가 있는 경우 delay(10); //안정성을 위해 추가된 지연 char c =Serial.read(); // 직렬 읽기 수행 if (c =='#') {break;} // 단어 뒤에 #이 감지되면 루프를 종료합니다. voice +=c; //음성 =음성 + c의 약어 } if (voice.length()> 0) { Serial.println(voice);//-------------------- -------------------------------------------------- -// //----------여러 핀/LED 제어----------// if(voice =="*all on") {allon();} / /Turn Off All Pins (Call Function) else if(voice =="*all off"){alloff();} //Turn On All Pins (Call Function) //----------Turn 하나씩----------// else if(음성 =="*TV 켜짐") {digitalWrite(led1, HIGH);} else if(음성 =="*팬 켜짐" ) {digitalWrite(led2, HIGH);} else if(음성 =="*컴퓨터 켜짐") {digitalWrite(led3, HIGH);} else if(음성 =="*침실 조명 켜짐") {digitalWrite(led4, HIGH );} else if(음성 =="*욕실 조명 켜기") {digitalWrite(led5, HIGH);} //----------하나씩 끄기------ ----// else if(음성 =="*TV 꺼짐") {digitalWrite(led1, LOW);} else if(음성 =="*팬 꺼짐") {digitalWrite(led2, LOW);} else if (음성 =="*컴퓨터 꺼짐") {digitalWrite(led3, LOW);} else if(음성 =="*침실 조명 꺼짐") {digitalWrite(led4, LOW);} else i f(음성 =="*욕실 조명 꺼짐") {digitalWrite(led5, LOW);}//--------------- ------------------------------------------// 음성="";}} //초기화 후 변수 재설정
제조공정
Arduino 자습서 시리즈의 여섯 번째 Arduino 자습서에 오신 것을 환영합니다. 이 튜토리얼에서는 Arduino를 Processing에 연결하는 방법과 직렬 포트를 사용하여 통신하는 방법을 배웁니다. 또한 Processing IDE를 사용하여 Arduino 보드에 명령을 보내고 그 반대의 경우도 마찬가지입니다. 이것은 따라하기 쉬운 단계별 비디오 자습서입니다. 또한 동영상 아래에서 이 튜토리얼에 필요한 부품과 동영상의 예제 소스 코드를 찾을 수 있습니다. 이 Arduino 튜토리얼에 필요한 구성요소 구성요소는 아래
전류계/암페어 미터(Ampere meter의 약어)는 회로의 전류를 측정하는 데 사용할 수 있는 장치입니다. 디지털 Arduino 전류계(A)는 전류 흐름을 측정하는 단위이며 전류계의 이름이 여기서 유래합니다. 어떤 사람들은 그것들을 현재 미터라고 부를 수도 있습니다. Arduino 마이크로컨트롤러 및 마이크로프로세서 보드를 사용하면 수많은 프로젝트에 액세스할 수 있습니다. 예를 들어 자신만의 전류계를 만들 수 있습니다. 재사용이 가능하기 때문에 수행하기에 좋은 프로젝트입니다. 따라서 다음 가이드에서는 전류를 측정하는 나만의 Ar