Raspberry Pi_Kor_25.8.3 Digital DHT11 Humidity/Temperature Sensor 활용

25.8.3 Digital DHT11 Humidity/Temperature Sensor 활용

25.8.3.1 sensor의 특징

여기서는 아래와 같이 DHT11 sensor와 다른 필요한 부품들을 조그마한 PCB에 통합한 모듈을 사용할 것이다. DHT11 sensor는 저항 타입의 습도 측정 부품과, NTC 온도 측정 부품, 그리고 고성능의 8 bit microcontroller가 장치되어 있으며 정밀한 digital 신호 출력을 보내준다. DHT11 sensor는 원래 4개의 선이 있지만, 이 모듈은 3개의 선으로 되어 있다.

Raspberry Pi_Kor_25.8.2 digital sensor DS18b20를 이용한 온도 측정

25.8.2 digital sensor DS18b20를 이용한 온도 측정

25.8.2.1 DS18B20 sensor 특징

시중에는 온도를 측정하는 여러 가지의 센스가 있지만, Raspberry Pi는 ADC (Analog to Digital Converter) 장치가 없으므로 TMP36과 같은 analog 온도 sensor는 직접적으로 사용할 수 없다.

여기서는 digital sensor인 DS18B20을 Raspberry Pi와 직접 연결하여 온도를 측정할 것이다.

시중에서 판매되는 DS18B20 sensor에는 여러 가지가 있는데, 아래 그림과 같이 원래의 원형 sensor도 있고, 일반적인 DS18B20 sensor를 Arduino와 같은 실험용 interface board에서 용이하게 사용할 수 있도록 약간 변형한 것도 있다. 두 가지 모두 모든 성능과 특징은 동일하지만 connector의 배열 위치가 약간 다르게 되어 있다. 어떤 것을 사용하더라도 pin의 위치만 고려하면 모든 것이 동일하다.

Raspberry Pi_Kor_25.8.1 Sensor 개요

25.8 Sensor

25.8.1 Sensor 개요

Sensor는 주위 대상물의 상태를 파악하는 장치로 사람의 감각에 해당하는 기능을 수행하는 소자이다. sensor는 자신의 주위에 있는 대상물의 상태를 탐지하고, 사건의 발생을 탐지하고, 수량의 변동을 감지하고 측정하여, 전기신호 또는 광학신호로 전달해 준다. 이러한 sensor에는 빛 센서, 온도 센서, 가스 센서, 압력 센서, 자기 센서 등 다양한 종류가 있다.

Raspberry Pi_Kor_25.6.3 RPi.GPIO library

25.6.3 library

25.6.3.1 library 개요

이 library는 Python 개발언어에서 Raspberry Pi의 GPIO를 조정할 수 있는 class 모듈을 제공해 준다.

이 library는 실시간이거나 시간 동기화가 중요한 application에서는 부적합하다. 왜냐하면 python이 언제 garbage collect을 할지 예측할 수 없고, 실시간 처리에 적합하지 않는 Linux kernel에서 실행되기 때문이다. Linux는 multitasking O/S로서 CPU에 대해서 GPIO 처리 프로그램보다 다른 프로세서가 더 높은 우선순위를 가질 수도 있고, 그럴 경우는 GPIO 처리 프로그램이 혼란에 빠질 수도 있기 때문이다.

Raspberry Pi_Kor_25.6.2 WiringPi library

25.6.2 library

25.6.2.1 library 개요

library는 Gordon Henderson이 개발한 GPIO 도구이다. 이것은 Raspberry Pi에서 사용되는 BCM2835에서 사용하기 위해 C 언어로 개발된 GPIO 처리 library로서 GNU LGPLv3 라이선스 조건으로 배포되고 있다. 이 library는 원래 Arduino의 “wiring” system에 익숙한 사용자들이 Raspberry Pi를 쉽게 사용할 수 있도록 하기 위해서 개발되었다.

Raspberry Pi_Kor_25.6.1 GPIO library 의미

25.6 GPIO Library

25.6.1 GPIO library 의미

Raspberry Pi에서 GPIO를 프로그램에서 활용하기 위해서는 하드웨어에 대한 깊은 이해가 필요할 뿐만 아니라 하드웨어를 조작하는데 필요한 전문가 수준의 저수준 프로그래밍 지식이 필요하다. 일반 사용자들이 이러한 어려움을 겪지 않고 손쉽게 GPIO기능을 활용할 수 있도록 전문가들이 이미 만들어 놓은 놓은 소프트웨어 모듈을 library라고 한다. library는 공통으로 사용되는 여러 가지 기능을 제공해 주는 프로그램을 미리 만들어서 다른 프로그램들에서 쉽게 가져다 쓸 수 있는 형태로 만들어 놓은 모듈의 집합을 말한다.

Raspberry Pi_Kor_25.5.7 sensor

25.5.7 sensor

Sensor는 주위 대상물의 상태를 파악하는 장치로 사람의 감각에 해당하는 기능을 수행하는 소자이다. sensor는 자신의 주위에 있는 대상물의 상태를 탐지하고, 사건의 발생을 탐지하고, 수량의 변동을 감지하고 측정하여, 전기신호 또는 광학신호로 전달해 준다. 이러한 sensor에는 빛센서, 온도센서, 가스센서, 압력센서, 자기센서 등 다양한 종류가 있다. 또한 작동방식에 따라서 주위의 상태를 수동적으로 받아들이기만 하는 수동적 센서(camera, MSS, TM, HRV)와 전자기파를 보내서 다시 받는 능동적 센서(Radar, Laser)가 있다.

Raspberry Pi_Kor_25.5.5 push button

25.5.5 push button

전자회로에서 사용되는 button은 여러 가지 종류가 있다. 그 중에서 Push-Button는 매우 간단한 입력 장치이다. 버튼을 누르면 회로가 연결되고, 스위치를 놓으면 곧바로 연결이 끊어지므로 순간 접점 스위치(momentary contact switch) 라고도 한다.

아래 왼쪽은 일반적으로 사용되는 push button의 모양을 보여준 것이며, 오른쪽은 push button의 내부의 배선 형태를 보여준 것이다. 그림에서 연결 접점은 4 개이지만 내부적으로 A-C와 B-C는 이미 서로 연결되어 있는 상태이고, 버튼을 누르면 A-C 선과 B-D 선이 서로 연결되는 구조를 가지고 있다.

Raspberry Pi_Kor_25.5.4 저항 또는 저항기(resistor)

25.5.4 저항 또는 저항기(resistor)

25.5.4.1 저항기의 의미

저항기(또는 저항)은 전기회로에서 전류가 잘 흐리지 못하도록 전류의 흐름을 방해하여 전압을 떨어뜨리는 효과를 내는 전자부품을 말하며, 대부분의 전자회로에서 많이 사용된다. 저항의 단위는 오옴(ohm)인데, 기호로는 Ω으로 표기한다.

저항은 성격에 따라 여러 가지 종류가 있다. 고정저항은 가장 일반적으로 사용되는 저항으로 변동하지 않는 일정한 저항치를 가지고 있다. 가변저항은 일정한 범위 내에서 저항 값이 가변 할 수 있게 한 저항으로 음량조절 부품이나 기타 조절 부위에 사용하며, 회전방식과 슬라이드 방식이 있다. 또한 저항의 모양에 따라 lead 형태로 되어 있는 것도 있고, chip 형태로 되어 있는 것도 있다.