본문 바로가기

OLED10

아두이노 OLED 테스트 박스 제작 제가 즐겨 사용하는 OLED 디스플레이를 디자인하거나 테스트할때 매번 회로를 구성해서 테스트해야 하는 번거로움이 있고 또한 여러개를 사용하는 프로젝트(대시보드 제작 등)에서는 브레드보드에 빽빽하게 점퍼선을 연결해야 하는 불편함이 있었습니다. 이에 아예 OLED 테스트와 그래픽 수정을 위한 테스트 박스를 제작하였습니다.  박스는 바깥에서 OLED를 쉽게 꽂아서 테스트 할수 있도록 했고 단자핀이 배열이 다른것을 다 테스트 할수 있도록 설계했습니다.  알리에서 OLED주문시 단자배열이 2가지 종류로 오다보니 다른 종류 2가지를 4개씩 꽂아서 테스트할수 있도록 했습니다.  보드는 상자 뒤편에 부착해줬고 단자핀만 상자 내부로 넣어서 내부는 점퍼선으로 회로를 구성해 줬습니다. (사진은 없네요)보드는 8개 디스플레이.. 2025. 2. 16.
I2C 멀티플렉서(multiplexer)를 활용하여 여러개의 OLED를 사용해보기 OLED 디스플레이 같은 I2C 모듈을 사용할때의 문제점은 address가 같으면 안된다는 것입니다. 예전의 프로젝트에서 여러개의 OLED 디스플레이를 사용하는 경우가 많았는데, 이때 address가 같아서 여러개의 oled를 아두이노 하나에 연결하지 못해서 아두이노 1개당 하나씩의 oled를 연결하는 방식을 사용하였습니다. 2개 디스플레이 정도는 이 방식이 큰 부담이 없으나 여러개의 디스플레이는 사용하는 경우 매우 비효율적인 방식입니다. 과거 프로젝트에서 8개의 최대 oled를 사용하였는데, 이때 아두이노 8개를 사용하여 각각의 oled를 출력하였습니다. 이러한 문제를 해결하는 것이 I2C 멀티플렉서(multiplexer)라고 하는 모듈입니다. 동일한 address를 가진 디바이스를 멀티플렉서에 연결하.. 2023. 1. 2.
아두이노로 PC 실시간 대시보드 만들기 (확장편) PC 대시보드를 확장해서 모두 5개 정보를 뿌려줍니다. CPU, 메모리, 인터넷 전송속도, GPU, 디스크정보 파이썬 소스코드는 몇줄이 추가 되었습니다. 이상으로 이 프로젝트도 끝입니다. 2021. 6. 18.
아두이노로 PC 실시간 대시보드 만들기 (1편) PC를 사용하다보면 이 고가의 장비를 사 놓고 어느정도의 자원을 활용하는지 궁금할때가 있습니다. 그래서 아래 사진과 같은 대시보드를 직접 제작하였습니다. 시스템을 모니터를 하는 방법은 주로 작업관리자를 통한 것입니다. 저는 언제부턴가 이러한 시스템 사용률을 모니터 할 수 있는 대시보드를 만들어보고 싶었습니다. 처음 구상했던것은 AIDA64를 활용하는 방법이었는데, 일단 추가 소형모니터를 준비해야하고 프로그램 구매가격이 년간 구독하는 형식이어서 비용이 지속적으로 발생하는 문제가 있어서 이번에 아두이노로 직접 구형하여 만들게 되었습니다. 먼저 이것을 구현하려면 PC에서 실시간 데이터를 아두이노로 넘겨주어야 합니다. 이게 가장 어려운 점인데요. 일반적으로 시스템 사용률을 모니터하는 프로그램은 여러가지가 있는데.. 2021. 5. 22.
모닝용 GPS 대시보드 확장 이전 글에서 모닝용으로 제작한 액정3개짜리 대시보드를 소개해 드렸습니다. 이번 글은 이 대시보드에 액정 1개를 추가하여 확장한 것을 소개해 드리겠습니다. 기존 액정에서는 1. 방향 2. 속도, 거리, 3. 고도, 속도차트 이렇게 3개의 정보를 표시하고 있었습니다. 4개로 확장한 것은 1, 2번은 그대로 이며 3번의 고도, 속도만 분리해서 2개의 액정에 나눠 표시하였습니다. 먼저 하드웨어 확장을 위해 아두이노1, 액정1개로 회로를 구성한 후에 기존 대시보드에 이어 붙였습니다. 감쪽같다고는 말할수 없지만 이어붙인게 크게 티가 나진 않습니다. 프로그램을 올려서 실행시킨 화면도 정상적으로 잘 표시가 됩니다. 1번 방향, 2번 속도, 주행거리, 3번 속도 차크, 4번 고도차트 입니다. 3번과 4번이 차트인데, 4.. 2021. 2. 14.
아두이노 디지털 게이지 디자인 아날로그 게이지 디자인 기본과 응용에 대해서는 아래 포스트에 작성하였고, 내친김에 디지털 게이지 디자인도 올려 드리겠습니다. 디지털 게이지는 아날로그 게이지에 비하면 너무 쉬어서 크게 설명할 부분이 없습니다. 게이지바가 그려지고 게이지값이 상단에 표시되는게 다 입니다. #include "U8glib.h" U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // 데이터 처리 변수 int val; //그래픽 처리 변수 int level; void setup(void) { } void Disp() { level = map(val, 0, 100, 0, 120); // 레벨박스크기 u8g.firstPage(); do { u8g.drawLine(3, 40,.. 2019. 9. 11.