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

Arduino 튜토리얼:JARVIS v1 | 홈 오토메이션을 만드는 방법

구성품 및 소모품

Arduino Nano R3
× 1
릴레이 모듈(일반)
× 4
BLE(Bluetooth Low Energy) 모듈(일반)
× 1
브레드보드(일반)
× 1
점퍼 와이어(일반)
× 10

필요한 도구 및 기계

납땜 인두(일반)

앱 및 온라인 서비스

Arduino IDE

이 프로젝트 정보

우리가 이것을 만든 이유는 무엇입니까?

Iron man 팬으로서 저는 JARVIS에서 정말 영감을 받았습니다. 음성으로 제어되는 개인 비서와 저는 홈 오토메이션 시스템을 구축하고 싶었습니다. 기존에 사용할 수 있는 시스템이 많이 있지만 Arduino를 사용하여 나만의 홈 오토메이션 시스템을 구축하기로 결정했습니다.

작동 원리:

이 프로젝트는 조명, 팬, TV 등의 전기 및 전자 장치를 제어하는 ​​것을 목표로 합니다. 이것은 Arduino와 집의 각 방에 설치된 릴레이 회로를 사용하여 수행됩니다. 데이터는 블루투스 모듈을 통해 Arduino에 게시되며 추가 구현이 가능합니다.

주요 작업은 데이터를 수집하고 모바일을 사용하여 Arduino에 게시하는 것입니다. 그리고 나중에 데이터로 장치를 켜고 끄는 제어를 만들 수 있습니다.

하드웨어 빌드

회로는 매우 간단합니다. 이 제품의 전체 비용은 $20 미만입니다.

1단계:부품 및 재료

이 프로젝트에 필요한 구성 요소는 다음과 같습니다.

<울>
  • 아두이노
  • 릴레이 브레이크아웃 보드
  • 블루투스 모듈 - HC-05
  • 점퍼 케이블
  • 2단계:연결

    다음 연결은 점퍼 케이블을 사용하여 이루어집니다. 이 데모에서는 4개의 릴레이를 사용했는데, 이는 APP를 사용하여 4개의 장치를 제어할 수 있음을 의미합니다.

    *Arduino -> BT 모듈*

    <울>
  • TX -> RX
  • RX -> TX
  • VCC -> 3.3v
  • GND -> GND
  • *Arduino -> 릴레이 보드*

    <울>
  • IN1 -> D2
  • IN2 -> D3
  • IN3 -> D4
  • IN4 -> D5
  • VCC -> VCC
  • GND -> GND
  • 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="코드">

    코드

    <울>
  • 샘플 코드
  • 샘플 코드 Arduino
    //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);}//--------------- ------------------------------------------// 음성="";}} //초기화 후 변수 재설정
    프로젝트 리포지토리
    https://github.com/Rahul24-06/Arduino-Tutorial-JARVIS-v1-How-to-make-a-Home-Automation

    회로도


    제조공정

    1. RASPBERRY PI 홈 자동화
    2. 집에서 DIY 숙제 작성 기계 만들기
    3. 나를 찾기
    4. 사용자 정의 가능한 펀치 키보드 버튼을 만드는 방법
    5. Arduino 조이스틱
    6. Arduino로 음악을 만드는 방법
    7. Arduino 기반 자동 문 열림을 만드는 방법
    8. 홈 모니터
    9. Arduino 블루투스 제어 자동차를 만드는 방법
    10. Arduino에서 Modbus를 사용하는 방법