반응형

https://youtube.com/live/XRhr1-YK7gI

자동차의 ECU와 캔통신을 해서 측정값을 FND와 LCD에 출력해보기!(녹칸다의 CAN통신 시즌2 6편)

녹칸다의 캔통신 시즌2 시리즈이다!
ESP32보드를 이용해서 CAN통신을 해보는 내용이다!
(시즌1에서는 아두이노 우노와 MCP2515를 활용했다)

시즌2에서 사용할 CAN통신 모듈은 SN65HVD230이다.
아두이노 우노를 활용하지 않고 ESP32보드를 활용하는 이유는 SN65HVD230모듈이 3.3V 로직레벨로 통신을 하기 때문이다.

레벨컨버터를 활용하면 되지만 연결하는게 복잡해지고 그럴바에는 ESP32나 ESP8266을 활용하는게 더 좋아 보였다.
(나중에 IoT관련 예제로 응용도 가능할 것 같음!)

녹칸다의 캔통신 시즌2의 최종목표는 자동차와 통신하는 것이다.
자동차에는 다양한 제어시스템이 있고 제어시스템간 CAN BUS로 통신을 한다.
OBD2 프로토콜을 이용해서 차량내 정보를 아두이노에서 다양하게 활용할 수 있다.
결국 CAN통신을 알아야 그것이 가능한 것이다.

크게보면 아래와 같은 목차가 있다.
(1) ESP32보드간 1:1단방향 통신
(2) ESP32보드간 1:1양방향 통신(반이중방식)
(3) ESP32보드간 1:N양방향 통신
(4) 컴퓨터와 ESP32보드간 1:N양방향 통신
(5) ESP32와 자동차간 통신(자동차쪽은 OBD2 시뮬레이터 활용)

(주의!) 녹칸다는 OBD2를 접근하는 방법에 대해서 공부해보자는 것이지 실제 자동차에 작동하는 코드를 공유하는것이 아님!
데이터를 잘못 설정하게 되면 자동차 내부에 문제를 야기할 수 있기 때문에 정확히 이해를 하고 접근해야함!
그러므로 실제 자동차에 연결해서 발생할 수 있거나 이미 발생한 문제는 스스로 해결하기 바람!

이번편은 자동차에서 획득한 정보를 활용해서 FND나 LCD에 값을 출력해보는 것을 목표로 한다!

아래와같은 순서로 접근해보도록 하자!
1.녹칸다가 만들어놓은 시뮬레이터의 값을 순서대로 시리얼모니터에 출력해보기!
2.속도와 RPM값을 FND모듈에 출력해보기!
3.다양한 측정값들을 2004LCD에 출력해보기!

 

(참고자료)
1.TM1637을 활용하기 위해서는 라이브러리를 설치해야한다!

 


(예제목차)
1.엔진부하(0x04)를 측정해서 시리얼모니터에 출력하시오!

can6-1(엔진부하).txt
0.00MB

 

2.냉각수온도(0x05)를 측정해서 시리얼모니터에 출력하시오!

can6-2(냉각수온).txt
0.00MB

 

3.연료압(0x0A)를 측정해서 시리얼모니터에 출력하시오!

can6-3(연로압).txt
0.00MB

 

4.흡기온(0x0F)를 측정해서 시리얼모니터에 출력하시오!

can6-4(흡기온).txt
0.00MB

 

5.쓰로틀포지션(0x11)을 측정해서 시리얼모니터에 출력하시오!

can6-5(쓰로틀포지션).txt
0.00MB

 

6.엔진오일온도(0x5C)을 측정해서 시리얼모니터에 출력하시오!

can6-6(엔진오일온도).txt
0.00MB

 

7.연료량(0x2F)을 측정해서 시리얼모니터에 출력하시오!

can6-7(연료량).txt
0.00MB

 

8.엔진작동시간(0x1F)를 측정해서 시리얼모니터에 출력하시오!

can6-8(엔진시동시간).txt
0.00MB

 

9.속도값을 측정해서 FND모듈(TM1637)에 출력하시오!

can6-9(속도FND출력).txt
0.00MB

반응형
Posted by 덕력킹
,