(유튜브 링크 : https://youtu.be/PqTVPX0_A_k)
아두이노의 ADC를 이용하여 간이 오실로스코프 역할을 하는 프로젝트
전자공학부에서 프로젝트를 진행하거나 공부를 할 때 원하는 시나리오대로 GPIO핀의 출력이 잘 안나올 때가 있었고
이런 상황일 때 오실로스코프같은 장비 없이는 제대로 된 출력이 나오는지 확인하기 어려움이 있었다
따라서 학부생들이 제일 많이 가지고 있는 아두이노를 활용하여 간단한 간이 오실로스코프를 만드는 프로젝트를 진행하였다
- 아두이노와 최대한 적은 부품들, 간결한 회로를 이용하여 제작
- 전용 어플리케이션을 개발하고 아두이노와 블루투스 통신을 하여 추가 디스플레이 제공 및 간결한 회로 구성
- 간이 오실로스코프 기능 뿐만 아니라 처음 배우는 학생들에게도 도움이 될 수 있는 가이드 제공
- 어플리케이션을 활용하여서 2채널 오실로스코프를 사용 가능하게끔 지원
- 전자공학부에서 많이 사용되는 센서들과 액츄에이터들을 시뮬레이션 하는 기능
- 3D 모델링 파일을 지원하여 케이스를 3D프린터로 간단하게 출력을 할 수 있게 함
- 아두이노의 ADC를 이용하여 100회의 sampling을 sampleInterver의 간격을 두고 수행함(sampleInterver은 사용자의 설정에 따라 200us부터 2의 배수로 증가시킴)
- 100회의 sampling이 끝나면 ADC값 배열의 최대값, 최소값을 찾고 이의 중간값을 threshold값으로 설정
- sampling한 파형이 threshold값을 3번 넘으면(ex 아래에서 위로 -> 위에서 아래로 -> 아래에서 위로)한 파형을 측정하였다고 여김
- sampling하는데 걸린 시간을 이용하여 한 파형의 주기, duty ratio를 계산함
- OLED 디스플레이에 파형, 주기, sampling time을 출력
- 위의 내용을 계속 반복하여 파형을 계속 출력함
- 위에서 구한 파형의 주기와 duty ratio를 이용하여 20ms주기의 PWM신호가 맞게 들어오는지 판단함
- 현재 0도, 90도, 180도 구현 완료
-코드의 각주 참고
-코드의 각주 참고
| ProFile | Role | Part | Tech Stack |
|---|---|---|---|
강송구 |
팀장 | HW, SW(오실로스코프) | Arduino, Fusion 360 |
길재훈 |
팀원 | SW(신호 발생기) | Arduino |
최지민 |
팀원 | SW(어플리케이션) | Flutter, Android |


