본문 바로가기
Coding/Raspberry pi - node.js

조도센서, 터치센서 다루기

by hyun-am 2019. 10. 7.

1. 조도센서 다루기

 

먼저 조도센서는 디지털방식과 아날로그 방식이 있습니다.

 

 

 

 

저는 여기서 Digital Sensor방식의 조도센서를 사용하겠습니다.

 

먼저 조도 센서의 구조는 아래와 같습니다.

 

 

사용한 부품

 

조도센서 - wpi : 7

LED - wpi : 25

 

요구사항

 

조도를 측정하여 어두우면 LED를 켜고, 밝으면 LED를 끄는 자바스크립트 프로그램

 

코드구현

 

const gpio = require('node-wiring-pi');
const LIGHT = 7;
const LED = 25;

const CheckLight = function(){
    gpio.digitalWrite(LED,0);
    let data = gpio.digitalRead(LIGHT);
    if(!data){
        console.log("Bright!!");
        gpio.digitalWrite(LED,0);
    }
    else{
        console.log("Dark!!");
        gpio.digitalWrite(LED,1);
    }
    setTimeout(CheckLight,500);
}

process.on('SIGINT',function(){
    gpio.digitalWrite(LED,0);
    console.log("exit");
    process.exit();
});

gpio.setup('wpi');
gpio.pinMode(LED,gpio.OUTPUT);
gpio.pinMode(LIGHT,gpio.INPUT);
setTimeout(CheckLight,200);

 

 

2. 터치센서 다루기

 

터치센서의 구조는 아래와 같습니다.

 

 

사용한 부품 

 

터치센서 - wpi : 23

 

요구사항 

 

터치센서를 누를 때 마다 console.log로 터치했다는 문구를 출력하는것

 

코드구현

 

const gpio = require('node-wiring');
const TOUCH = 23;

const CheckTouch = function(){
    data = gpio.digitalRead(TOUCH);
    if(data){
        console.log("Touched");
    }
    setTimeout(CheckToudch,300);
}

process.on('SIGINT',function(){
    console.log("exit");
    process.exit();
}

gpio.setup('wpi');
gpio.pinMode(TOUCH,gpio.INPUT);
setTimeout(CheckTouch,10);
        
    

댓글