프로젝트

나도 메이커! 메이커스 여러분들의 작품/프로젝트를 공유하는 공간입니다.

mini 오실로스코프 만들기

2016-01-08 08:59:15

개요

 

오실로스코프(Oscilloscope)란 특정 시간 간격(대역)의 전압변화를 볼 수 있는 장치입니다. 오실로스코프를 통해 시간에 따라 변화하는 신호를 주기적으로 반복적인 하나의 전압형태로 파악할 수 있습니다.

파형을 통해 관찰자는 파형의 전압 최소/최대치, 주기적 신호의 빈도, 펄스 간의 시간, 관련 신호 간의 시차 등을 분석할 수 있습니다.(위키백과 참조)

 

<그림1. 오실로스코프 화면>

 

 

 

오실로스코프는 전자전기쪽에서는 필수로 쓰이는 고가의 장비 중 하나입니다. 

아두이노로도 완전한 오실로스코프는 아니지만 비슷하게나마 작게 구현할 수 있습니다! 간단히 OLED만 있으면 하나의 핀에서 나오는 전압 파형을 눈으로 볼 수 있습니다.

 

 

 

 

부품이 그렇게 많이 필요치 않기 때문에 누구나 쉽게 따라해 볼 수 있는 프로젝트 입니다.

이번 글에서는 간단히 아두이노 미니 오실로스코프를 제작해 보겠습니다.

  

 

 

 

 

관련 튜토리얼

 

이 프로젝트에서는 OLED와 버튼을 사용합니다. 

kocoafab에 있는 튜토리얼을 참고해 기본 사용법을 익혀두세요!

*제작을 진행하시기 전에 아래 링크를 통해 각 모듈의 라이브러리 다운로드와 함수 사용법을 인지하시는 것을 권장드립니다. 

 

- OLED 사용하기 

- 버튼 사용하기 

 

 

 

 

 

 

필요한 부품 목록

 

NO 부품명 수량 상세 설명
1 오렌지 보드 1 우노 호환 보드
2 OLED 128x64 0.96" 1 adafruit 
3 점퍼 케이블 15  
4 브레드 보드 1  
5 스위치 2 푸시버튼
6 저항 2 330옴

부품명

오렌지 보드 OLED 128x64 0.96" 점퍼 케이블 브레드보드 스위치 저항
부품 사진
 

 

※ 여기서 사용한 OLED의 경우에는 이니프로(http://www.inipro.net/goods_detail.php?goodsIdx=616400)에서 구매하여 사용했습니다.

   꼭 이 제품이 아니더라도 Adafruit의 SSD1306 라이브러리와 호환되는 128 x 64 OLED라면 모두 사용이 가능합니다.

 

 

 

 

하드웨어 making

 

 

※ OLED 핀 연결(SPI통신을 기준으로 합니다)

꼭 이 선대로 연결하지 않으셔도 됩니다. 다만 다른 핀에 연결하실 경우 소스내에서 define한 핀번호를 다르게 설정해주셔야 합니다.

 

CLK(혹은 D0) - 13번 핀

MOSI(혹은 D1) - 11번 핀

CS - 10번 핀

DC - 4번 핀

RST - 12번 핀

VCC - 5V 핀

GND - GND 핀

 

 

 

 

 

 

소프트웨어 coding

 

 

 

 

OLED 사용에 관한 내용은 아래의 링크를 통해 튜토리얼로 확인해보세요!

OLED 사용하기 - http://kocoafab.cc/tutorial/view/448

 

디지털 2번핀은 TRIGGER_ENABLE 핀으로 2번핀에 HIGH값이 들어올 경우 전압값을 받아옴으로써 실시간으로 변화하는 파형을 볼 수 있게 합니다.

디지털 3번핀은 SCREEN_UPDATE_ENABLE 핀으로 2번핀에 HIGH값이 들어올 경우 OLED의 화면에서 움직이는 전압파형을 볼 수 있습니다.

 

코드에서는 아날로그 0번핀에서 받아오는 아날로그 값을 비트 연산자를 통해 값을 재구성합니다.

아날로그의 값은 0~1023사이의 값을 표현하는데 0부터 1023사이의 값은 2^10으로 표현할 수 있고 이 값을 오른쪽으로 4번 옮김으로써 값을 축소시킵니다.

오른쪽으로 4번 BIT shift를 옮기게 된다면 2^10(1024)은 2^6(64)이 되고 2^9(512)은 2^5(32)이 되버립니다. 

값을 축소시킴으로써 작은 OLED화면에 0~1023까지의 값을 표현할 수 있습니다.

 

 

 

 

 

 

 

 

동영상

 

 

 

 

수박쨈

아두이노, OLED, 오실로스코프