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

Arduino 및 AC 기기 - 자동 조명

구성품 및 소모품

Arduino UNO
× 1
에너지 절약 램프
× 1
5v DC 어댑터
× 1
점퍼 와이어(일반)
× 1
릴레이(일반)
× 1
UTSOURCE 전자 부품
× 1

필요한 도구 및 기계

스크류드라이버

앱 및 온라인 서비스

Microsoft Visual Studio 2015
Arduino IDE

이 프로젝트 정보

스마트 하우스 조명

이 프로젝트에서는 초음파 센서 및 Arduino가 있는 릴레이를 사용하여 가정 조명(또는 모든 장치)을 더 똑똑하게 만드는 방법을 배웁니다.

우리의 목표는 에너지 절약 전구를 외출할 때 끄고 다시 들어올 때 켜지도록 하는 것입니다. 매우 간단합니다. 구현하는 데 약간의 시간이 소요됩니다.

이 가이드는 기본을 가정합니다. 아두이노 지식. 이제 시작하기 전에 Arduino를 사용해 본 적이 있다면.

주의:이 프로젝트는 AC 고전압 전원 공급 장치를 사용합니다. 16세 미만이거나 경험이 충분하지 않은 경우 AC 부분을 도와줄 숙련된 사람이 있어야 합니다.

하지만 저전압에서 실행되는 DC 장치를 사용하여 프로젝트를 완료할 수 있으며 동일한 개념을 증명할 것입니다. 위험해지기 시작하면 분명히 경고하겠습니다.

구성 요소

1) 아두이노 우노

2) 멀티미터

3) 점퍼선

4) 브레드보드

5) 리얼 모듈

6) 초음파 센서( HC-SR04 ) 및 Arduino용 Ultrasonic 라이브러리를 여기에서 찾을 수 있습니다. ( New Ping ) 라이브러리라고 합니다. Arduino에 외부 라이브러리를 처음 설치하는 경우 이 링크를 확인하세요.

7) DC 전원(옵션)

8) 드라이버(릴레이 모듈용 +형)

9) 마운팅 및 벽면 플러그가 부착된 에너지 절약 전구(저는 플러그를 얻기 위해 오래된 라디오 전원 케이블을 사용했습니다).

저도 글루건을 사용해서 전선 끝부분을 붙였으니 절연테이프를 사용하셔야 합니다.

10) Arduino 코드를 작성하기 위한 Visual Studio, 방법을 알고 싶습니까? 이 링크를 확인하세요. 완전히 무료 입니다. 또는 Arduino IDE를 사용할 수 있습니다.

시작하겠습니다.

초음파 준비

먼저 아래 이미지와 같이 아두이노에 초음파 센서를 부착하는 방법을 알아보겠습니다. 초음파 센서를 테스트하는 방법은 추후에 설명드리겠습니다.

릴레이 모듈

그런 다음 릴레이 모듈의 한 채널(내가 가지고 있는 채널이 2개 있음)을 연결하고 Vcc 핀은 5v로, IN1은 Arduino 핀 8(또는 원하는 핀)에 연결합니다.

내 릴레이 모듈이 액티브 로우라는 점은 주목할 가치가 있습니다. 액티브 로우와 액티브 하이의 차이점이 무엇인지 알아보려면 이 링크를 확인하십시오. 따라서 계속하기 전에 릴레이의 활성 모드를 알아야 합니다. 그렇게 하려면 Vcc와 GND를 정상적으로 연결하고 아무 일도 일어나지 않으면 IN 핀을 5V에 연결한 다음 IN 핀을 GND에 연결하도록 활성 로우가 됩니다.

램프

그런 다음 램프를 벽 플러그에 연결할 준비를 하고 릴레이 하나의 터미널은 플러그에 직접 연결되고 다른 하나는 중간에 절단이 생기고 절단의 한쪽 끝은 정상 개방으로 이동합니다. 릴레이 모듈의 핀(NO1 )에 연결하면 다른 하나는 COM1 핀으로 이동한 다음 플러그로 이동합니다.

최종 회로는 ( 램프가 단순화되었습니다 :) )

이제 하드웨어 작업이 완료되었습니다.

코드는 다음을 수행합니다.

<울>
  • 초음파에서 거리 측정
  • 누군가가 문을 통과했는지 확인
  • 조명 상태 전환
  • 초음파에서 값 읽기

    이제 초음파 센서를 사용해 보겠습니다. 이것은 라이브러리의 예입니다. 읽은 거리를 인쇄하기 때문에 매우 간단하고 간단합니다.

    ( 소나는 초음파 인스턴스 이름임)을 사용하여 센티미터 또는 인치 단위로 거리를 얻을 수 있습니다.

    sonar.ping_cm();
    // 또는
    sonar.ping_inch();

    우리가 볼 수 있듯이 초음파 센서의 핀과 원하는 최대 범위도 설정합니다.

    불행히도 때때로 초음파 센서는 잘못된 거리를 판독합니다.

    이는 의도치 않게 조명을 켜고 끌 수 있습니다. 이 문제를 해결하려면 많은 판독값을 얻고 평균을 선택해야 합니다. 이 문제를 해결하는 또 다른 방법은 중앙값 필터 를 사용하는 것입니다. 단순히 여러 판독 값을 취하여 배열로 정렬하고 중간에 값을 선택하여 자주 발생하는 경우 노이즈를 제거하는 데 매우 좋습니다.

    운 좋게도 NewPing 라이브러리에는

    라는 함수에 이 필터가 구현되어 있습니다.
    sonar.ping_median(unsigned byte numReadings); 

    부호 없는 바이트를 사용하고 있으므로 최대 512개의 샘플로 고려하려는 판독값 수를 전달하기만 하면 됩니다. .

    이 함수는 사용 중인 길이 단위로 변환되어야 하는 반향을 되돌리는 데 사용된 시간을 반환합니다. 이것은 또한

    를 사용하여 라이브러리에서 쉽게 구현됩니다.
    sonar.convert_cm(unsigned int echoTime);
    // 또는
    sonar.convert_in(unsigned int echoTime);

    초음파의 마지막 특징은 앞에 아무것도 없으면 0으로 읽는다는 것입니다. , 이것은 0을 읽는 경우 거리를 MAX_DISTANCE로 설정하도록 지시함으로써 간단히 해결되며, 마지막으로 센서를 읽는 코드는 ( distance is a global variable ) :

    무언가가 지나갔음을 감지

    이제 코딩을 시작하겠습니다. 누군가가 초음파를 통과했다는 것을 알기 위해서는 문 너비의 절반일 수 있는 임계 거리를 읽어야 합니다. 그래서 우리는 항상 누군가가 문을 통과하고 있다고 확신합니다.

    내가 명심하고 싶은 또 다른 한 가지는 빛이 무언가가 초음파 앞에서 지나갔을 때 스위치를 누르십시오. 이것은 누군가가 초음파 앞에 가만히 서 있으면 아무 일도 일어나지 않는다는 것을 의미합니다. 이를 수행하는 코드는 다음과 같습니다.

    축하 해요 !! 이제 완료되었습니다. 라이브러리를 약간 편집하고(Visual Studio에서는 허용하지 않으므로 가변 크기 배열 대신 동적 메모리 할당 사용) 일부 설명서를 추가했기 때문에 전체 Visual Studio 프로젝트를 첨부하겠습니다.

    utsource.net에서 전자 부품을 확인하십시오.

    존중하세요. 이 프로젝트가 유용하다고 생각되면 다른 프로젝트:

    Arduino 컬러 믹서

    1Sheld를 이용한 RC카

    기사

    Visual Studio를 사용하여 Arduino 개발

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

    코드

    <울>
  • 스마트 하우스 조명
  • 초음파 검사
  • 스마트 하우스 조명Arduino
    이 코드는 초음파에서 입력 판독값을 가져와 그에 따라 릴레이를 제어합니다.
    #define TRIGGER_PIN 12 // 초음파 센서의 트리거 핀에 연결된 Arduino 핀.#define ECHO_PIN 11 // 초음파 센서의 에코 핀에 연결된 Arduino 핀 .#define MAX_DISTANCE 200 // 핑할 최대 거리(센티미터). 최대 센서 거리는 400-500cm입니다. [임의의 숫자입니다]#define RELAY_LINE1_PIN 8#include "NewPing.h"NewPing 소나(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // 핀 및 최대 거리의 NewPing 설정.unsigned int critical_distance_cms =50; // 조명이 전환되는 컷오프 거리 [임의의 숫자임]bool state =0;void setup() { Serial.begin(9600); // 115200 보드에서 직렬 모니터를 열어 핑 결과를 봅니다. 핀모드(RELAY_LINE1_PIN, 출력); 디지털 쓰기(RELAY_LINE1_PIN, 높음); // 조명 끄기}void loop() { delay(50); // ping 사이에 50ms를 기다립니다(약 20 ping/sec). 29ms는 핑 사이의 가장 짧은 지연이어야 합니다. unsigned int distance =readDistance(); // 초음파 센서를 향한 모든 물체의 현재 거리 Serial.print("Ultrasonic:"); Serial.print(거리); // 핑을 보내고 거리를 cm 단위로 가져오고 결과를 인쇄합니다 (0 =설정된 거리 범위를 벗어남) Serial.println("cm"); // 누군가가 문 근처에 있습니다 if (distance  
    초음파 테스트Arduino
    초음파가 읽고 있는 값을 인쇄하도록 하는 코드
    // ----------------------------------- ----------------------------------------// ping을 수행하는 NewPing 라이브러리 스케치의 예 초당 약 20회.// ------------------------------------------ ----------------------------------#include #define TRIGGER_PIN 12 // 아두이노 핀 연결 초음파 센서의 트리거 핀.#define ECHO_PIN 11 // 초음파 센서의 에코 핀에 연결된 Arduino 핀.#define MAX_DISTANCE 200 // 핑할 최대 거리(센티미터). 최대 센서 거리는 400-500cm입니다.NewPing 소나(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing 핀 설정 및 최대 거리.void setup() { Serial.begin(115200); // ping 결과를 보기 위해 115200 보드에서 직렬 모니터를 엽니다.}void loop() { delay(50); // ping 사이에 50ms를 기다립니다(약 20 ping/sec). 29ms는 핑 사이의 가장 짧은 지연이어야 합니다. Serial.print("핑:"); Serial.print(sonar.ping_cm()); // ping을 보내고 cm 단위로 거리를 가져오고 결과를 인쇄합니다(0 =설정된 거리 범위를 벗어남). Serial.println("cm");}
    스마트 하우스 조명
    이것은 편집된 라이브러리가 있는 Visual Studio용 전체 프로젝트입니다.https://github.com/shakram02/Arduino_SmartHouseLights.git

    회로도

    이것은 전체 프로젝트를 설명하는 전체 회로입니다.

    제조공정

    1. TinyML-Language Detector 기반 Edge Impulse 및 Arduino
    2. MPU-6050을 사용한 Arduino 자이로스코프 게임
    3. Arduino 디지털 주사위
    4. 온도 및 습도 데이터 로거
    5. Arduino를 사용한 자동 식물 관수 시스템
    6. 나를 찾기
    7. 스마트 신발(자동 끈 및 전기 생성)
    8. arduino를 사용한 소나 및 IDE 처리 시 표시
    9. 생일 축하합니다:조명과 소리
    10. 볼트와 Arduino를 사용하여 LED 밝기 제어