아두이노에서 받아들인 온도센서 데이터를 PC로 전송하여 PC 화면으로 출력하는 프로그램을 만들어 보겠습니다. PC쪽 프로그램은 프로세싱(https://processing.org/)을 이용하였습니다.
LM35 온도센서
LM35 온도센서는 측정된 온도 값을 아날로그 데이터(전압)로 출력해 주는 센서입니다. 측정할 수 있는 온도 범위에 따라 다양한 규격과 가격으로 판매되고 있습니다. LM35DZ의 경우 약 천원 내외의 가격으로 판매되고 있습니다.
LM35 온도센서는 연결 및 사용방법이 매우 간단합니다. 외부로 노출된 핀은 3개 입니다. 생긴 것은 작은 트랜지스터 같습니다.
3번 핀을 GND로 하고, 1번 핀에 5V의 전압을 넣어주면 2번 핀으로 현재 온도값이 일정한 전압으로 출력됩니다. 이 전압을 측정하여 온도를 알아냅니다.
2번 핀으로 출력되는 전압 값(V)에 100을 곱한 숫자가 섭씨온도와 정확하게 일치합니다. 따라서 멀티테스터의 숫자에서 소수점만 오른쪽으로 두 칸 옮겨서 읽으면 현재 온도가 됩니다.
즉,
2번 핀의 출력값이 0.10 V 이면 -> 현재 온도는 10 ℃
2번 핀의 출력값이 0.20 V 이면 -> 현재 온도는 20 ℃
2번 핀의 출력값이 0.25 V 이면 -> 현재 온도는 25 ℃
LM35 연결
LM35 2번 핀이 아두이노의 A0에 연결됩니다.
소프트웨어 설치 및 작동 방법
- 아두이노에 Firmata 펌웨어를 업로드 해야 합니다. Firmata는 아두이노에 설치되어 PC와 통신하기 위한 프로그램입니다.
파일 > 예제 > Firmata > StandardFirmata - https://processing.org/download/에 접속하여 프로세싱을 다운로드 받습니다.(processing-x.x.x.zip 파일 형태) 이미 설치되어 있다면 다운로드 단계는 생략합니다.
- 다운받은 zip 파일을 적당한 폴더에 압축을 풀어 놓습니다.
- processing.exe 파일을 실행시킵니다.
- 프로세싱에 아래의 소스코드를 붙여넣습니다.
import processing.serial.*; import cc.arduino.*; Arduino arduino; void setup() { //fullScreen(); size(640, 360); frameRate(1); println(Arduino.list()); arduino = new Arduino(this, Arduino.list()[0]); fill(0); textSize(min(width, height)/3); textAlign(CENTER, CENTER); } void draw() { background(255); text(round(map(arduino.analogRead(0), 0, 1024, 0, 500.0)) + " ℃", width/2, height/2); }
- 키보드 [Ctrl+R] 키를 눌러 프로세싱 프로그램을 실행시키면, 아두이노의 센서 값을 가져와서 PC 화면에 뿌려줍니다.
- 프로세싱 코딩에 대해 잘 알고 있다면 화면을 좀 더 예쁘게 꾸며서 나만의 온도계를 만들 수도 있습니다.
추가내용 – 프로세싱에서 “No library found for cc.arduino” 오류 메시지가 뜨는 경우
프로세싱에 Firmata 라이브러리가 설치되어 있지 않아 생기는 에러 메시지입니다.
아래와 같이 라이브러리를 설치해 주세요.
- 프로세싱 메뉴의 스케치 → 내부라이브러리 → 라이브러리 추가하기를 선택하면, 라이브러리 팝업 창이 뜹니다.
- 라이브러리 중 Arduino (Firmata) | Controls…를 클릭하여 선택한 다음, Install 버튼을 클릭하여 라이브러리를 설치합니다.
이렇게 하신 후 다시 실행시켜 보세요.
목차
- 아두이노 고급키트 무작정 따라하기
- 아두이노 8×8 LED Matrix
- 아두이노 Remote Control Test
- 아두이노 Stepper Speed Control
- 아두이노 RFID Reading Test
- 아두이노 LCD Test
- 아두이노 DHT11 온습도 센서 테스트
- 아두이노 3-Color LED Test
- 아두이노 4×4 Keypad Test
- 아두이노 DS1302 Realtime Clock Test
- 아두이노 시계
- 아두이노 초음파 센서 HC-SR04
- 아두이노 초음파 거리측정기
- 아두이노 LCD Test (I2C 모듈 사용)
- 아두이노 초음파 거리측정기 (I2C LCD 사용)
- 아두이노 LM35 온도계 (with Processing)
- 아두이노 미로게임 (MPU-6050 + 프로세싱)