ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Water, SW-520D(기울기 스위치), 다이오드
    Arduino/기타 센서 2020. 11. 4. 18:37

    1. Water Sensor

    water 센서의 Signal핀은 아두이노의 A5핀에 연결하고 

    나머지 두 선은 아두이노의 5V와 GND핀에 연결한다.

    하드웨어의 연결은 무리 없이 연결할 수 있다.

    아래의 소스는 업로드를 하고 실행해보자.

    그리고 센서에 약간의 수분을 뿌려주면 값이 변화될 것이다.

    소스 코드

    더보기
    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600);
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      Serial.println(analogRead(A5));
    
      delay(100);
    }

     

     

    2. SW-520D(기울기 스위치) 센서

    기울기와 충격 센서로 활용가능하다.

    아두이노의 GND핀과 A5핀에 각 각을 연결한다. 

    풀업 저항으로 만든다.

    손으로 치면 값이 1로 변한다.

     

    소스 코드

    더보기
    void setup() {
      // put your setup code here, to run once:
      pinMode(A5,INPUT_PULLUP);
      
      Serial.begin(9600);
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      Serial.println(digitalRead(A5));
      
      delay(100);
    }

     

    이 센서를 유심히 보면, 센서를 하늘 쪽으로 똑바로 들고 있으면 값이 0으로 출력됨을 알 수 있다.

    그러다가 천천히 오른쪽 혹은 왼쪽으로 90도 만큼 회전 했을 때, 값이 1로 변함을 알 수 있다.

    이 센서에 피에조 부저와 응용하여 연결해보자.

    피에조 부저의 소리 핀은 A0에 연결하자.

    센서의 값이 1이 되면, 부저에서 소리가 나도록 구현해보자. 

     

    소스 코드

    더보기
    #define   SORI_PIN    A0  //  부저의 소리 핀 
     
    void setup() {
      // put your setup code here, to run once:
      pinMode(A5,INPUT_PULLUP);
    
      pinMode(A0,OUTPUT);
      
      Serial.begin(9600);
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      Serial.println(digitalRead(A5));
    
      if (digitalRead(A5) == HIGH)  tone(SORI_PIN, 200);
      else                          noTone(SORI_PIN);
      
      delay(100);
    }

     

     

    3. 다이오드

    다이오드의 다리가 긴 쪽은 VCC에 연결한다. (다리가 긴쪽이 초록색 선 쪽이다.)

    초록색 선은 아두이노의 5V핀에 연결된다.

    아두이노의 입력핀은 A0을 사용하며, 센서의 다리가 짧은 쪽의 흰색선이 A0와 연결된다.

    10k 저항을 연결하고 흰색선은 빵판의 GND와 점프선으로 연결된다.

    그리고 검은선은 아두이노의 GND와 연결된다.

    아래의 사진들을 참고해서 연결해보자.

     

    소스 코드

    휴대폰의 손전등을 비춰보면 값이 0에서 2~3사이의 값으로 변경됨을 볼 수 있다.

    더보기
    #define   FIRE_SENSOR_PIN   A0
    
    void setup() {
      // put your setup code here, to run once:
      Serial.begin(9600);
    }
    
    void loop() {
      // put your main code here, to run repeatedly:
      Serial.println(analogRead(FIRE_SENSOR_PIN));
    
      delay(100);
    }

     

    댓글

Designed by Tistory.