전체 글34 아두이노 디지털 게이지 디자인 아날로그 게이지 디자인 기본과 응용에 대해서는 아래 포스트에 작성하였고, 내친김에 디지털 게이지 디자인도 올려 드리겠습니다. 디지털 게이지는 아날로그 게이지에 비하면 너무 쉬어서 크게 설명할 부분이 없습니다. 게이지바가 그려지고 게이지값이 상단에 표시되는게 다 입니다. #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. 아두이노로 자동차 대시보드를 완성하다 - 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. 아두이노로 자동차 대시보드를 완성하다 - 2편 아두이노로 자동차 대시보드를 완성하다 - 2편 브레드보드로 상당히 많은 컴파일과 수정을 거치면서 주문한 OLED도 도착하였고 몇가지 센서들도 도착하였습니다. 완전체로 프로그램 수정과 보완작업을 거치면서 여러차례 차에서도 데이터값 추출, 표시 등을 직접 테스트하며 디버깅을 하였습니다. 이 과정에서 예상치 못했던 문제가 생기게 되었습니다. 우선 차량용 OBD2 단자를 통해서는 상당히 많은 양의 정보가 제공되고, freematics사의 OBD2아답터는 이 정보들을 아두이노로 전달하는 역할을 하는것인데 여기서 문제가 생겼습니다. freematics의 제품정보상에서 제공되는 PID정보를 아래처럼 소개하고 있습니다. 상당히 여러가지 정보를 뽑아낼 수 있는데, 이외에도 표준 PID값을 통해 추가적인 정보도 뽑아낼수 .. 2019. 2. 9. 아두이노로 자동차 대시보드를 완성하다 - 1편 아두이노로 자동차 대시보드를 완성하다 - 1편 이전 글에서 자동차의 OBD2 단자의 차속신호를 아두이노로 받아서 차량 속도를 표시하는 작업을 진행하였습니다. https://clemencyking.tistory.com/2 https://clemencyking.tistory.com/3 그러나 역시 뭔가 많이 부족하고 제가 도전하고자 했던 최종 목표는 아니었기에 결국은 새로 프로젝트를 시작했고 재료 주문과 프로그래밍, 회로작업까지 약 2달정도의 시간이 걸려서 90%정도를 완성하게 되었습니다. TT 목표하는 그림은 아래처럼 여러정보를 동시에 표시하는 것이었습니다. 우선 이번 작업은 차량정보를 제공해 주는 freematics사의 OBD2아답터를 사용하는 것으로 OBD2아답터를 통해서 차량정보를 손쉽게 가져올 수 .. 2019. 2. 9. 3축 지자기장(자이로)센서 GY-273 HMC5883L 제대로 작동하지 않는다면 3축 지자기장(자이로) 센서 GY-273 HMC5883L이 제대로 작동하지 않는다면 아두이노로 구상하고 있는 프로젝트가 있어 몇가지 부품을 구입하면서 3축 자기장 센서인 HMC5883L을 구입하였습니다. I2C통신방식이라 회로는 워낙 간단해서 브레드보드에 회로구성 후에 기본코드를 넣고 컴파일해서 업로딩 후에 시리얼 모니터로 결과를 확인했는데.... 어라 x, y, z값이 바뀌어야 하는데 안바뀝니다. 컴파일과 업로드는 문제가 없었고, 그리고 기본코드는 이미 검증된 것인데 뭐가 문제일지..... /* An Arduino code example for interfacing with the HMC5883 by: Jordan McConnell SparkFun Electronics created on: 6/30/1.. 2019. 1. 11. 아두이노(arduino)로 자동차 ODB2를 통해 자동차 속도 표시하기 - (2부 구현편) 아두이노(arduino)로 자동차 ODB2를 통해 자동차 속도 표시하기 - (2부 구현편) 최초 구상과는 달리 7세그먼트 대신에 OLED를 사용하기로 했습니다. 그런데 이게 0.96인치 OLED라 화면이 좁쌀만합니다. 7세그먼트를 사용하는것도 괜찮을것 같고 전 1.3인치 OLED를 알리로 주문해 놓았습니다. 2.3인치대의 OLED로 있는데, 이건 가격이 거의 2만원정도해서 너무 거금(?)입니다. 아두이노와 OLED 배선은 아래 사진처럼 하면 됩니다. 출처 : https://startingelectronics.org/tutorials/arduino/modules/OLED-128x64-I2C-display/ ODB2의 차속신호는 13번핀으로 입력을 넣어 주었습니다. 전체적인 배선이 사진처럼 되는대요, 단 사.. 2018. 12. 10. 아두이노(arduino)로 자동차 ODB2를 통해 자동차 속도 표시하기 - (1부 구상편) 아두이노(arduino)로 자동차 ODB2를 통해 자동차 속도 표시하기 (1부 구상편) 먼저 이글은 아두이노로 자동차 속도를 표시하는 프로젝트를 진행하면서 인터넷을 통해 상당히 많은 정보를 얻어 큰 어려움 없이 제작이 가능했어서, 나 또한 누군가에게 도움을 주어야겠다고 생각되어 소개하고자 합니다. 먼저 본 프로젝트를 진행하게 된 계기를 말씀드리면, 아주 오래전부터 자동차에 HUD를 달고 싶었고, 그래서 중국산 싸구려 HUD를 아주 오래전부터 장착하여 사용하였으나 품질에 만족하기 어려웠고, 이후 블루투스 ODB2 장비를 구매하여 핸드폰에 어플을 설치하여 한동안 재미있게 사용해 왔습니다. (제가 그간 구매한 블루투스 ODB2 개수만 해도 4개나 되네요 ㅎㅎ) 그런데 이게 문제가 여름철에 자동차 실내 온도가 .. 2018. 12. 3. 이전 1 2 3 다음