본문 바로가기

아두이노30

자동차 대시보드 확장 - 2편 자동차 대시보드 확장 - 2편 처음에 4개로 시작해 6개까지 확장하였던 대시보드를 다시 욕심을 부려 액정 2개를 추가하여 최종 8개로 제작하였습니다. 기존 6개에서 새로 추가된 것은 위쪽열 3번째 액정에서 표시하고 있는 엔진부하(Engine load)와 아래열 4번째 액정 차량 기울기입니다. 차량 기울기를 측정하기 위해 3축 기울기센서를 회로에 추가해 주었습니다. 제일 윗부분 왼쪽에 얹혀져 있는게 GPS수신기이며, 오른쪽이 3축 기울기센서입니다. PCB에 회로 납땜해 놓은 상태에서 테스트하는 화면입니다. 윗열 1번 아두이노에서 나머지 7개 아두이노에 software시리얼로 정보를 일괄로 뿌리는 구조를 가지고 있습니다. PCB 작업하기 전에 아두이노간에 통신이 잘 되고 있는지 확인하고 있습니다. 위에 적은.. 2020. 1. 1.
자동차 대시보드 확장 - 1편 자동차 대시보드 확장 - 1편 처음 제작된 대시보드는 총 4개의 액정으로 완성이 되었습니다. 이후 다소 욕심이 생겨 2개의 액정을 추가하여 다시 제작을 하였습니다. 이번에는 GPS수신모듈을 추가로 연결하였고, GPS신호를 직접 파싱하여 현재 진행하고 있는 방향과 고도를 표시하도록 하였습니다. (왼쪽 상단) 그리고 진행방향에 대한 막대 그래프도 표시하도록 디자인 하였습니다. (GPS 신호 파싱에 대해서는 이전 글을 참고하세요) https://clemencyking.tistory.com/9?category=310596 그리고 또 추가된 것은 차량 주행거리와 엔진가동시간을 표시하는 액정입니다. (왼쪽 하단) 주행거리는 차량속도를 0.5초마다 한번씩 체크하도록 하여 계산값으로 구했습니다. (생각보다 오차가 크지.. 2020. 1. 1.
아두이노 디지털 게이지 디자인 아날로그 게이지 디자인 기본과 응용에 대해서는 아래 포스트에 작성하였고, 내친김에 디지털 게이지 디자인도 올려 드리겠습니다. 디지털 게이지는 아날로그 게이지에 비하면 너무 쉬어서 크게 설명할 부분이 없습니다. 게이지바가 그려지고 게이지값이 상단에 표시되는게 다 입니다. #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.
아두이노로 GPS 신호를 직접 처리(분석) 하기 아두이노로 GPS 신호를 직접 처리(분석) 하기 현재 작업중이 차량 대시보드에 붙이려고 GPS수신모듈을 구매하여 진행방향과 고도 정보를 표시하려고 작업을 진행하였습니다. GPS수신기는 UBLOX 제품으로 NEO-6M GPS 모듈 GY-GPS6MV2 입니다. 이 제품은 아두이노에서 일반적으로 많이 사용하는 수신기로 알리로는 4~5천원대에 구매가 가능한 가성비 GPS수신기 입니다. GPS를 통해 얻을 수 있는 정보는 매우 다양한데, 그중 차량용 대시보드에 사용하려는 정보는 차량 진행방향과(0~359도 방위각) 고도값(미터) 2가지만 뽑아내려고 합니다. 가장 쉬운 방법은 tinyGPS 같은 라이브러리를 사용하는 방법입니다. #include #include TinyGPS gps; SoftwareSerial ns.. 2019. 3. 10.