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

원쉴드를 사용한 스마트 홈 자동화 및 보안 시스템

구성품 및 소모품

Arduino UNO
× 1
1쉴드
× 1
릴레이(일반)
YW 로봇 릴레이 4 채널을 사용하는 iam
× 1
부저
× 2
온도 센서
LM35DZ 사용 중
× 1
점퍼 와이어(일반)
× 1
PIR 모션 센서(일반)
× 1
SparkFun 마그네틱 도어 스위치
× 2
Adafruit Standard LCD - 파란색 바탕에 16x2 흰색
× 1

필요한 도구 및 기계

레이저 커터(일반)

이 프로젝트 정보

안녕하세요 개요

여기서부터 이야기가 시작됩니다.

우리는 이 모든 것을 함께 구축하는 것이 좋은 움직임이었기 때문에 이 프로젝트를 만들기로 결정했습니다. 이 프로젝트는 많은 개념을 이해하는 데 도움이 될 것이며 좋은 경험을 얻을 것이므로 이 멋진 것을 구축하는 방법을 배우기 시작합시다 :)

프로젝트 작동 방식:

이 프로젝트는 음성 명령이나 SMS를 사용하여 집의 모든 조명을 제어할 수 있게 해줍니다. :) 이 뿐만 아니라 보안 시스템이기도 합니다. 당신이 자거나 집 밖에 있는 동안 낯선 사람이 집에 들어오면 이메일을 보냅니다. 당신의 집에 낯선 사람이 들어왔고 경보 시스템(부저)이 당신의 집에서 작동할 것이라고 말하면서, 또한 당신이 SMS를 보내서 불을 켜거나 끌 때 그것은 당신에게 그 주문을 알리는 이메일을 당신에게 보냅니다 Tmp 센서가 온도를 감지하는 경우에도 실행됩니다. 35개 이상이면 알람(부저)이 집에서 작동하고 시스템이 온도를 알려주는 이메일을 보내드립니다. 35보다 높았습니다.

참고:명령을 내리기 전에 Jarvis라고 말하는 것을 잊지 마십시오. 시스템이 명령을 들을 수 있도록 하십시오.

참고:시스템에 명령을 내리면 Jarvis가 응답합니다 :) 실제 조수와 이야기하는 것처럼 .

참고:보안 시스템을 켜려면 스마트폰에 음성 명령을 내리십시오(보안 켜짐), 보안 시스템을 끄려면(보안 꺼짐)

1Sheld에 대해 자세히 알아보기:

1Sheeld는 스마트폰을 40가지 Arduino 쉴드로 바꿔줍니다. 따라서 스마트폰에 있는 Arduino용 쉴드를 구입할 필요가 없습니다.

이것이 우리가 1Sheld 보드를 사용하는 이유입니다. 이미 스마트폰에 센서가 있기 때문에 센서를 구입할 필요가 없습니다.

1Sheeld를 시작하는 방법에 대해 자세히 알아보려면 여기를 클릭하십시오.

가장 먼저 업로드한 CAD 파일을 레이저 절단기로 절단해야 합니다.

<울>
  • 그렇다면 문에 마그네틱 도어 스위치 센서를 이렇게 배치해야 합니다.
  • <울>
  • 디지털 센서이므로 디지털 값 0 또는 1을 반환합니다.
  • <울>
  • 센서가 열렸을 때와 닫혔을 때 판독값이 무엇인지 확인하려면 센서를 사용하기 전에 보정해야 합니다.
  • AC 램프

    <울>
  • 그런 다음 벽을 잘라서 특정 위치에 램프를 설치해야 합니다.
  • <울>
  • 모든 램프 전선을 병렬로 연결합니다.
  • 온도 센서

    <울>
  • 3개의 다리가 있는 LM35DZ를 사용 중입니다.
  • <울>
  • +V는 Arduino의 5V에 연결됩니다.
  • <울>
  • Arduino의 접지에 GND
  • <울>
  • 우리에게 판독값을 제공할 Arduino의 핀 A0으로 출력
  • 1Sheld는 어떻게 사용하나요?

    1- Arduino 보드 위에 1Sheeld를 쌓고 1Sheeld 라이브러리를 사용하여 코드를 작성합니다.

    2 - Arduino IDE를 사용하여 Arduino에 코드 업로드(여기에서 Arduino IDE를 다운로드할 수 있음)

    3 - 참고:UART 스위치가 업로드 모드에 있는지 확인하십시오.

    4 - 코드 업로드 완료 후 스위치를 작동 모드로 되돌리기

    참고:잊지 마세요! UART 스위치를 작동 모드로 다시 전환하지 않으면 1Sheeld와 Arduino 보드 간에 통신이 이루어지지 않으므로 프로젝트가 제대로 작동하지 않습니다.

    1Sheld 애플리케이션 :

    <울>
  • 여기에서 다운로드할 수 있는 1Sheld 애플리케이션 열기
  • <울>
  • 그런 다음 애플리케이션을 열고 보드와 연결하려면 페어링 코드(기본 페어링 코드는 1234)를 입력하고 블루투스를 통해 1Sheeld에 연결해야 합니다.
  • <울>
  • 그런 다음 우리가 사용할 방패(SMS, 음성 인식, TTS, 시계, 이메일)를 선택하십시오.
  • <울>
  • 이제 작업을 시도해 보세요 :)
  • 참고 :우리는 우리 자신의 여성 자비스를 만들었습니다 :D

    나만의 자비스 만들기 .

    <섹션 클래스="섹션 컨테이너 섹션 축소 가능" id="코드">

    코드

    <울>
  • 스마트 홈 자동화 및 보안 시스템
  • 스마트 홈 자동화 및 보안 시스템Arduino
    /* * 스마트 홈 자동화 및 보안 시스템 팀 SADEE * 이메일:[email protected] * 우리 FB 페이지와 같은 더 많은 프로젝트:https://www.facebook.com/Scientific-%D9%90Association-of- the-Department-of-Electrical-Engineering-ACU-260274217766395/ */#define CUSTOM_SETTINGS //Arduino 메모리를 저장하기 위해 작업할 특정 실드를 정의하는 데 사용#define INCLUDE_VOICE_RECOGNIZER_SHIELD와 통신 //도와주세요 1 음성 명령이 있는 쉴드 보드#define INCLUDE_TEXT_TO_SPEECH_SHIELD #define INCLUDE_CLOCK_SHIELD#define INCLUDE_SMS_SHIELD#define INCLUDE_EMAIL_SHIELD #include #include 12) // 우리는 시간을 24시간 시스템에서 12시간 시스템으로 변경하기 위해 이 작업을 수행하고 다음을 알 수 있습니다. 오전 또는 오후{시간-=12; 정오="PM";}else{ 정오="A M"; }strh =문자열(시간); strm =문자열(분); strh.toCharArray(h,4); //문자열로 변환한 시간을 Char Arraystrm.toCharArray(m,4);VoiceRecognition.start(); //음성인식 시작 ShieldOneSheeld.delay(8000); //주문을 지연한 다음 시작 Agaimif(VoiceRecognition.isNewCommandReceived()){ if(!strcmp(mainCommand,VoiceRecognition.getLastCommand())) //마지막 음성 명령을 "Alexa"인 주 명령과 비교 { TextToSpeech .say("네 선생님"); //이 함수는 텍스트 음성 변환 실드가 작업을 수행하도록 명령하는 것입니다. lcd.clear(); lcd.setCursor(8,0); lcd.write(바이트(0)); 상태 =1; } if(!strcmp(receptionCommandOn,VoiceRecognition.getLastCommand())&&state==1) // 두 문자열 비교 The Last Command Received and The String that I made Before { TextToSpeech.say("ok sir 램프가 켜져 있음 "); OneSheeld.delay(2500); digitalWrite(receptionLamp,LOW); lcd.clear(); lcd.setCursor(0,0); lcd.print("홀 램프는"); lcd.setCursor(8,1); lcd.print("켜기"); 상태 =0; } else if (!strcmp(receptionCommandOff,VoiceRecognition.getLastCommand())&&state==1) { TextToSpeech.say("접수 램프가 꺼져 있습니다."); OneSheeld.delay(2500); digitalWrite(수신램프,높음); lcd.clear(); lcd.setCursor(0,0); lcd.print("홀 램프는"); lcd.setCursor(7,1); lcd.print("꺼짐"); 상태 =0; } else if (!strcmp(bedRoomCommandOn,VoiceRecognition.getLastCommand())&&state==1) { TextToSpeech.say("침대방의 램프가 켜져 있습니다."); OneSheeld.delay(2500); digitalWrite(침실램프,낮음); lcd.clear(); lcd.setCursor(0,0); lcd.print("침실"); lcd.setCursor(0,1); lcd.print("램프 켜짐:켜짐"); 상태 =0; } else if (!strcmp(bedRoomCommandOff,VoiceRecognition.getLastCommand())&&state==1) { TextToSpeech.say("침실의 램프가 꺼져 있습니다."); OneSheeld.delay(2500); digitalWrite(침실램프,높음); lcd.clear(); lcd.setCursor(0,0); lcd.print("침실"); lcd.setCursor(0,1); lcd.print("램프 상태:꺼짐"); 상태=0; } else if (!strcmp(pathRoomCommandOn,VoiceRecognition.getLastCommand())&&state==1) { TextToSpeech.say("화장실 램프가 켜져 있습니다."); OneSheeld.delay(2500); digitalWrite(경로룸램프,낮음); lcd.clear(); lcd.setCursor(0,0); lcd.print("화장실"); lcd.setCursor(0,1); lcd.print("램프 켜짐:켜짐"); 상태=0; } else if (!strcmp(pathRoomCommandOff,VoiceRecognition.getLastCommand())&&state==1) { TextToSpeech.say("화장실 램프가 꺼져 있습니다."); OneSheeld.delay(2500); digitalWrite(경로룸램프,높음); lcd.clear(); lcd.setCursor(0,0); lcd.print("화장실"); lcd.setCursor(0,1); lcd.print("램프 상태:꺼짐"); } else if (!strcmp(balaconyCommandOn,VoiceRecognition.getLastCommand())&&state==1) { TextToSpeech.say("주방의 램프가 켜져 있습니다."); OneSheeld.delay(2500); digitalWrite(balaconyLamp,LOW); lcd.clear(); lcd.setCursor(0,0); lcd.print("주방"); lcd.setCursor(0,1); lcd.print("램프 켜짐:켜짐"); 상태=0; } else if (!strcmp(balaconyCommandOff,VoiceRecognition.getLastCommand())&&state==1) { TextToSpeech.say("주방의 램프가 꺼져 있습니다."); OneSheeld.delay(2500); digitalWrite(balaconyLamp,HIGH); lcd.clear(); lcd.setCursor(0,0); lcd.print("주방"); lcd.setCursor(0,1); lcd.print("램프 상태:꺼짐"); 상태=0; } else if(!strcmp(whatsUp,VoiceRecognition.getLastCommand())&&state==1) { lcd.clear(); lcd.setCursor(0,0); lcd.print("좋은 아침입니다 :)"); lcd.setCursor(0,1); lcd.print("좋은 날입니다"); TextToSpeech.say("안녕하세요 선생님"); OneSheeld.delay(1500); TextToSpeech.say("카이로의 시간은 입니다."); OneSheeld.delay(1500); TextToSpeech.say(h); OneSheeld.delay(1000); TextToSpeech.say(m); OneSheeld.delay(1000); TextToSpeech.say(정오); 상태=0; } else if(!strcmp(timeCommand,VoiceRecognition.getLastCommand())&&state==1) { lcd.clear(); lcd.setCursor(0,0); lcd.print("카이로의 시간은 입니다."); lcd.setCursor(0,1); lcd.print(h); lcd.print(":"); lcd.print(m); lcd.print(" "); lcd.print(정오); TextToSpeech.say("카이로의 시간은 입니다."); OneSheeld.delay(1500); TextToSpeech.say(h); OneSheeld.delay(1000); TextToSpeech.say(m); OneSheeld.delay(1000); TextToSpeech.say(정오); 상태=0; } //**************************************************** ************************************************* 또 다른 if (!strcmp(securityModeOn,VoiceRecognition.getLastCommand())&&state==1) { lcd.clear(); lcd.setCursor(0,0); lcd.write("알겠습니다, 안심하세요"); lcd.setCursor(0,1); lcd.write("보안 모드"); 지연(200); TextToSpeech.say("보안 시스템이 작동되었습니다."); 보안=참; 상태=0; } 그렇지 않으면 (!strcmp(securityModeOff,VoiceRecognition.getLastCommand())&&state==1) { lcd.clear(); lcd.setCursor(0,0); lcd.write("알겠습니다, 보안님"); lcd.setCursor(0,1); lcd.write("꺼짐"); 지연(200); TextToSpeech.say("보안 시스템이 꺼져 있습니다."); 보안=거짓; 상태=0; } }//********************************************** ************보안 시스템 ************************************ *********************** magneticReceptionState =digitalRead(magneticReception);magneticBalaconyState =digitalRead(magneticBalacony);if(보안 ==true){ if(magneticReceptionState ==HIGH || magneticBalaconyState ==HIGH) //보안 시스템이 작동하는 동안 누군가가 문을 열면 알람이 울립니다. { tone(buzzer1 ,1500); Email.send("[email protected]","홈 보안 시스템","누군가 집에 침입했습니다, 조심하세요"); OneSheeld.delay(3500); } else if (magneticReceptionState ==LOW || magneticBalaconyState ==LOW) { noTone(buzzer1); }}else if (security ==false){ noTone(buzzer1);}/*전압 =analogRead(tmp); 전압 =전압 * 1100 / 1024; 정도 =전압 / 10; if(도>=35) { 톤(부저2,1500); Email.send("[email protected]","홈 보안 시스템","주방 온도가 45도 이상이므로 조심하십시오"); OneSheeld.delay(5000); } else if (도<25) { noTone(buzzer2); }*/}//******************************************** ************************************************** *********************************void MyFunction(char* phoneNumber , char* messageBody) // SMS 함수() {if(!strcmp(lightsOn,messageBody)) //SMS로 "light on"을 보내면 모든 조명이 켜집니다{ digitalWrite(receptionLamp,LOW); 지연(500); digitalWrite(경로룸램프,낮음); 지연(500); digitalWrite(침실램프,낮음); 지연(500); digitalWrite(balaconyLamp,LOW); 지연(500); TextToSpeech.say("모든 조명이 켜져 있습니다."); lcd.clear(); lcd.setCursor(0,0); lcd.print("모든 조명이 켜져 있습니다."); 지연(300); Email.send("[email protected]","홈 보안 시스템","모든 조명이 켜져 있습니다"); OneSheeld.delay(3500);}else if(!strcmp(lightsOff,messageBody)) //SMS로 "light off"를 보내면 모든 조명이 꺼집니다{ digitalWrite(receptionLamp,HIGH); 지연(500); digitalWrite(경로룸램프,높음); 지연(500); digitalWrite(침실램프,높음); 지연(500); digitalWrite(balaconyLamp,HIGH); 지연(500); TextToSpeech.say("모든 조명이 꺼졌습니다."); lcd.clear(); lcd.setCursor(0,0); lcd.print("모든 조명이 꺼져 있습니다."); 지연(300); Email.send("[email protected]","홈 시큐리티 시스템"," 모두 꺼져 있습니다 "); OneSheeld.delay(3500);}}

    맞춤형 부품 및 인클로저

    drawing_lasser_cutting_lvvsN9X9Xg.dwg

    회로도


    제조공정

    1. 가정 자동화 애플리케이션
    2. Silicon Labs, 스마트 홈 및 건물 자동화 연결 솔루션 선보여
    3. Sensorflare 및 RaspberryPi가 포함된 433MHz 스마트 홈 컨트롤러
    4. 카메라 및 PIR 센서가 있는 Raspberry Pi 홈 보안 시스템
    5. Python과 함께 Arduino 및 RFID를 사용한 출석 시스템
    6. Arduino, 1Sheeld 및 Android를 사용한 범용 원격 제어
    7. IOT - ESP8266, Arduino 및 초음파 센서를 사용하는 스마트 항아리
    8. arduino를 사용한 소나 및 IDE 처리 시 표시
    9. Arduino를 사용한 간단하고 스마트한 로봇 팔
    10. 간단하고 스마트한 공기 청정기 시스템