본문 바로가기

Arduino10

아두이노 UNO TFT LCD 디지털 게이지(gauge) 디자인 아두이노로 차량용 대시보드를 제작하면서 제작한 디지털 게이지의 디자인 코드입니다. 아두이노 UNO와 3.5인치 TFT LCD쉴드 조합인데요. 디자인된 게이지는 디지털 숫자와 바 그래프를 그려주고, 값의 범위는 디자인적으로 변경이 가능합니다. 3.5인치 TFT LCD 디지털 게이지 이 코드블록은 그래프를 그려주는 함수가 분리되어 있어서 추가로 더 그린다면 함수를 추가하면 원하는 개수만큼 그릴수 있습니다. 현 그래프 사이즈로는 최대 4개까지는 그릴 수 있습니다. // 디지털 게이지 #include // Core graphics library #include // Hardware-specific library MCUFRIEND_kbv tft; #include #include #include #define BL.. 2023. 5. 19.
모닝용 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.
아두이노 아날로그 게이지 디자인 응용 이전 글에서 아날로그 게이지를 나름 예쁘게 디자인해 보았습니다. 이번 글에서는 약간 응용하여 변화를 주도록 하겠습니다. 먼저 디자인 결과물은 이렇게 표시됩니다. 변경된 것은 게이지 원의 크기가 작아졌고, 바늘침이 원을 넘어서 표시되도록 하였습니다. 값 표시도 작은 글씨로 하였고 바늘침 기준점도 살짝 위로 올렸습니다. 이 디자인의 스케치입니다. #include "U8glib.h" U8GLIB_SH1106_128X64 u8g(U8G_I2C_OPT_DEV_0|U8G_I2C_OPT_FAST); // 게이지를 그리기 위해 필요한 변수들 int px1=64, py1=50; // 바늘침의 시작 위치 int px2, py2; // 바늘침의 그려지는 위치 int circle, pin; // 게이지 큰원, 바늘침 길이 i.. 2019. 9. 11.
아두이노 아날로그 게이지 디자인 그리기 아두이노를 하다보면 그래픽으로 무언가 표시하고 싶을때가 있습니다. 제 이전 포스트에서 차량정보를 뿌려주는 데시보드 제작에 대한 글을 상세하게 올렸는데 그후에 확장, 업그래이드(?)를 하여 최종적으로 8개의 데이터를 표시하게 하였습니다. 이 데시보드는 8개 OLED 디스플레이 액정에 각기 다른 정보를 그래픽으로 표시하고 있는데, 대부분 다 숫자로 표시해도 되지만 아날로그, 디지털 게이지 형태로 표시해 주면 완성도와 시인성에서도 개선이 되기 때문에 게이지 디자인에 상당히 신경을 써서 디자인 하게 되었습니다. 약간의 수학적 지식이 필요했던 아날로그 게이지 디자인은 외국의 어느 개발자가 공개해 놓은 코드를 그대로 가져다 썻는데 코드 전체가 이해되지 않아 나중에 다시 코드를 짜서 사용하게 되었습니다. 아날로그 게.. 2019. 9. 11.
아두이노로 자동차 대시보드를 완성하다 - 3편 아두이노로 자동차 대시보드를 완성하다 - 3편 (코드편) 이번 연재에서는 4개 아두이노에 올려진 프로그램 소스를 소개하도록 하겠습니다. 먼저 1번 아두이노는 데이터를 추출하고 속도를 액정에 표시하고 나머지 데이터 값들을 2, 3, 4번 아두이노로 넘기는 역할입니다. // 아두이노 1번 - ODB데이터 처리 + 속도표시 // 아두이노 2번 - RPM표시 // 아두이노 3번 - 냉각수, 볼트, 주행거리, 가동시간 표시 // 아두이노 4번 - 온도, 습도 표시 // // softwareserial 핀번호 // 1-2 8:9 // 1-3 14:15 // 1-4 10:16 #include #include #include SoftwareSerial rpmSerial(8,9); SoftwareSerial cvriSe.. 2019. 2. 9.