아두이노 나노와 노키아 5110 LCD로 20kHz 오실로스코프 만들기: 쉬운 DIY 가이드
필요한 부품 및 소모품
| 아두이노 나노 R3 (Arduino Nano R3) |
1개 |
| 노키아 5110 LCD 디스플레이 (PCD8544) |
1개 |
| 10kΩ 저항 |
4개 |
| 4.75kΩ 저항 |
1개 |
| 330Ω 저항 |
1개 |
| 순간 푸시버튼 스위치 |
4개 |
필요한 도구 및 기계
앱 및 온라인 서비스
프로젝트 소개
이번 프로젝트에서는 간단한 아두이노 오실로스코프를 만들어보겠습니다. 최대 표시 주파수는 20kHz, 전압 분배기 없이 최대 입력 전압은 5V입니다.
조작 버튼 (4개)
- HOLD 버튼: 현재 화면 상태 고정
- 동기화 버튼: 동기화 레벨 설정
- +/- 버튼: 스윕, 동기화 레벨 제어, HOLD 모드에서 신호 이미지 이동
디스플레이 정보
노키아 5110 화면에서 수직으로 각 셀은 1V, 수평으로 한 셀은 스캔 해상도에 해당하며 값은 0.1, 0.2, 0.5, 1.0, 2.0, 5.0, 10.0, 20.0, 50.0ms입니다. 스윕 값은 +/- 버튼으로 변경되며 좌상단에 표시됩니다. 트리거 레벨은 화면 좌측의 작은 바로, 트리거 전압은 우상단에 표시됩니다.
구성 요소
- 아두이노 나노 마이크로컨트롤러
- 노키아 N5110 LCD 디스플레이
- 버튼 4개
- 풀다운 저항 4개
- 입력 잭
- 전원 스위치와 LED
사인파와 직사각파 발생기로 테스트했으며, 전문 계측기는 아니지만 교육용이나 저주파 신호 테스트용으로 충분히 활용 가능합니다. 제작이 매우 간단하고 비용이 저렴합니다. 최종적으로 PVC 박스에 넣고 시트지로 마감했습니다.
코드
아두이노 코드 (C/C++)
#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h>
#include <SPI.h>
Adafruit_PCD8544 display = Adafruit_PCD8544(7, 6, 5, 4, 3); // CLK, DIN, DC, CE, RST
// VCC +3.3V, BL + 200옴 + 3.3V
int izm, x, y, u, i2, zz, hold, h0, h1, h2, raz = 0, menu, sss = 512, u_dig;
unsigned long time, times;
float per;
byte i;
int data[168] = {};
void setup() {
Serial.begin(9600);
display.begin();
display.clearDisplay();
display.display();
display.setContrast(40);
display.setTextSize(1);
display.setTextColor(BLACK);
pinMode(10, INPUT); // +
pinMode(11, INPUT); // -
pinMode(12, INPUT); // hold
pinMode(13, INPUT); // 동기화
ADMUX = 0b01000000; // 10비트 A0
ADCSRA = 0b11110010; // CLK/4
analogWrite(9, 127); // PWM 9번 핀 출력
}
void loop() {
// 버튼 제어 로직
// 스윕 타임 설정 (발생기로 보정)
// ADC 측정 및 동기화
// 디스플레이 출력 (그리드, 파형, 텍스트)
// 상세 코드는 원문 참조
}
전체 코드는 원문의 code 섹션을 참고하세요. Adafruit GFX 및 PCD8544 라이브러리가 필요합니다.
회로도
회로도 이미지가 제공됩니다.