디시인사이드 갤러리

마이너 갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

[질문] 딜레이 안쓰고 LED 깜빡

대딩입니다(1.241) 2021.01.10 20:56:55
조회 72 추천 1 댓글 0
														

#include <SoftwareSerial.h>

#include "ELMduino.h"



SoftwareSerial mySerial(2, 3); // RX, TX

#define ELM_PORT mySerial

#define BUZZER 10


ELM327 myELM327;


int green = 8;

int red = 9;


uint32_t rpm = 0;

uint32_t kph = 0;

uint32_t engineload = 0;

uint32_t enginetemp = 0;

uint32_t throttleposition = 0;

uint32_t intakeairtemp = 0;

int32_t fueltype = 0;


const int beepFrequencyS1 = 1500; //1000Hz, 연결성공시 부저 주파수1

const int beepFrequencyS2 = 2500; //1000Hz, 연결성공시 부저 주파수2

const int beepFrequencyF = 750; //500Hz, 연결실패시 부저 주파수

const int beepDurationS = 150; //1.0sec ,성공시 지속시간, (31~65535 Hz)

const int beepDurationF = 450; //0.35sec ,실패시 지속시간,


unsigned long pre_time = 0;

unsigned long cur_time = 0;

int ledState = LOW;


void setup()

{

pinMode(green, OUTPUT);

pinMode(red, OUTPUT);

pre_time = millis();

#if LED_BUILTIN

pinMode(LED_BUILTIN, OUTPUT);

digitalWrite(LED_BUILTIN, LOW);

#endif


Serial.begin(38400);

ELM_PORT.begin(38400);


Serial.println("Attempting to connect to ELM327...");


if (!myELM327.begin(ELM_PORT))

{

Serial.println("Couldn't connect to OBD scanner");

do {

digitalWrite(red, HIGH);

digitalWrite(green, LOW);

tone(BUZZER, beepFrequencyF, beepDurationF);

delay(850); //ELM327 연결 실패시 0.85초 간격으로 Fail 부저 울림

} while (1);

}


Serial.println("Connected to ELM327");

digitalWrite(green, HIGH);

digitalWrite(red, LOW);

tone(BUZZER, beepFrequencyS1, beepDurationS);

delay(600);

tone(BUZZER, beepFrequencyS1, beepDurationS);

delay(600);

tone(BUZZER, beepFrequencyS1, beepDurationS);

delay(600);

tone(BUZZER, beepFrequencyS2, beepDurationS);

delay(600);

noTone(10);


//ELM327 연결 성공시 Success 부저 4회 울림


}



void loop()

{

cur_time = millis();

float tempRPM = myELM327.rpm();

int32_t tempVEHICLE_SPEED = myELM327.kph();

float tempENGINE_LOAD = myELM327.engineload();

float tempENGINE_COOLANT_TEMP = myELM327.enginetemp();

float tempTHROTTLE_POSITION = myELM327.throttleposition();

float tempINTAKE_AIR_TEMP = myELM327.intakeairtemp();

float tempFUEL_TYPE = myELM327.fueltype();


digitalWrite(red, LOW);


if (cur_time = pre_time >= 500)

{

pre_time = cur_time;

if (ledState == LOW) {

ledState = HIGH;

}

else {

ledState = LOW;

}

digitalWrite(green, ledState);

}

if (myELM327.status == ELM_SUCCESS)

{

rpm = (uint32_t)tempRPM;

Serial.print("RPM : "); Serial.println(rpm);


kph = (int32_t)tempVEHICLE_SPEED;

Serial.print(kph); Serial.println("km/h");


engineload = (uint32_t)tempENGINE_LOAD;

Serial.print("EngineLoad : "); Serial.print(engineload); Serial.println("%");


enginetemp = (uint32_t)tempENGINE_COOLANT_TEMP;

Serial.print("EngineCoolantTemp : "); Serial.print(enginetemp); Serial.println("˚C");


throttleposition = (uint32_t)tempTHROTTLE_POSITION;

Serial.print("ThrottlePosition : "); Serial.print(throttleposition); Serial.println("%");


intakeairtemp = (uint32_t)tempINTAKE_AIR_TEMP;

Serial.print("IntakeAirTemp : "); Serial.print(intakeairtemp); Serial.println("˚C");



fueltype = (int32_t)tempFUEL_TYPE;

Serial.print("FuelType : "); Serial.print(fueltype);


if (fueltype == 0)

Serial.println("Not Available");

else if (fueltype == 1)

Serial.println("Gasoline");

else if (fueltype == 2)

Serial.println("Methanol");

else if (fueltype == 3)

Serial.println("Ethanol");

else if (fueltype == 4)

Serial.println("Disel");

else if (fueltype == 5)

Serial.println("LPG");

else if (fueltype == 6)

Serial.println("CNG");

else if (fueltype == 7)

Serial.println("Propane");


tone(BUZZER, beepFrequencyS2, beepDurationS);



delay(500);


}

else

digitalWrite(green, LOW);

if (cur_time - pre_time >= 1300)

{

pre_time = cur_time;

if (ledState == LOW) {

ledState = HIGH;

}

else {

ledState = LOW;

}

digitalWrite(red, ledState);

}

printError();

}



void printError()

{

Serial.print("Received: ");

for (byte i = 0; i < myELM327.recBytes; i++)

Serial.write(myELM327.payload[i]);

Serial.println();


if (myELM327.status == ELM_SUCCESS)

Serial.println(F(" ELM_SUCCESS"));

else if (myELM327.status == ELM_NO_RESPONSE)

Serial.println(F(" ERROR: ELM_NO_RESPONSE"));

else if (myELM327.status == ELM_BUFFER_OVERFLOW)

Serial.println(F(" ERROR: ELM_BUFFER_OVERFLOW"));

else if (myELM327.status == ELM_UNABLE_TO_CONNECT)

Serial.println(F(" ERROR: ELM_UNABLE_TO_CONNECT"));

else if (myELM327.status == ELM_NO_DATA)

Serial.println(F(" ERROR: ELM_NO_DATA"));

else if (myELM327.status == ELM_STOPPED)

Serial.println(F(" ERROR: ELM_STOPPED"));

else if (myELM327.status == ELM_TIMEOUT)

Serial.println(F(" ERROR: ELM_TIMEOUT"));

else if (myELM327.status == ELM_TIMEOUT)

Serial.println(F(" ERROR: ELM_GENERAL_ERROR"));

tone(BUZZER, beepFrequencyF, beepDurationF);


delay(100);

}


각 상태에서 LED 초록 빨강으로 표시하려고 하는데 열씸히 코딩했는데 깜빡이지를 않네.... 정답을알려도 ㅠㅠㅠ 머가리 부서진다


아그리고 printerror 나오는 속도가 기본예제보다 ㅈㄴ 느려졌는데 이건 printerror 이전 내용이 늘어나서 연산할게 많아져서 printerror 까지 오래걸려서 그런거야 아님 내가 코딩한것중에 좃같이 delay 잘못넣은거 땜에 그런거야?? 머가리 터져버리겠어 형들..

추천 비추천

1

고정닉 1

0

댓글 영역

전체 댓글 0
등록순정렬 기준선택
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 말머리 제목 글쓴이 작성일 조회 추천
2858 설문 SNS로 싸우면 절대 안 질 것 같은 고집 있는 스타는? 운영자 24/05/06 - -
394 공지 아두이노 마이너 갤러리에 오신 것을 환영합니다. [3] Nogojiri갤로그로 이동합니다. 20.05.05 2010 37
5584 질문 허스키렌즈 아두이노 우노 보드에 연결할건데 ㅇㅇ(180.229) 05.10 18 0
5583 질문 펠티어 소자랑 아두이노랑 연결 어떻게함? [3] ㅇㅇ(175.201) 05.10 25 0
5582 일반 전자공학과 3학년 [1] Ddd(124.111) 05.10 27 0
5581 질문 아두이노 우노 연결좀 도와주세요 ㅠㅠ [2] ㅇㅇ(175.208) 05.09 28 0
5580 일반 왜 무한업로드되는지 아는사람 [2] ㅇㅇ(175.198) 05.09 31 1
5579 질문 뉴비인데 오류 질문 하나 해도될까요? [1] ㅇㅇ(1.245) 05.09 22 0
5578 일반 아두이노 pir센서 오류 [1] ㄴㄴㄴㄴㅁ(106.255) 05.09 13 0
5577 질문 아두이노 디지털핀하고 5v핀하고 무슨차이임? [3] ㅇㅅㅇ(211.234) 05.09 30 0
5576 질문 님들 납땜하고 플럭스 닦아낼때 어캐 닦음? [3] 하유은갤로그로 이동합니다. 05.09 37 0
5575 질문 모터드라이버를 이용한 리니어 액추에이터 제어 질문 [1] ㅇㅇ(223.39) 05.09 12 0
5574 일반 나노 328p칩 이식하기 [2] ㅇㅇ(175.213) 05.09 33 2
5573 질문 아두이노 r4 와이파이로 파이어베이스 연결 질문 드립니다 ㅇㅇ(14.63) 05.08 16 0
5572 질문 뉴비 빵판 질문 [2] ㅇㅇ(175.119) 05.07 42 0
5571 질문 esp32 cam 오류 질문 [1] 그렇습니까기린입니다갤로그로 이동합니다. 05.07 28 0
5570 일반 건축 전공 대학생인데 [6] ㅇㅇ(106.102) 05.07 58 0
5568 일반 적외선 리모컨이 작동을 안합니다.. [2] 123(118.41) 05.06 37 0
5567 질문 아두이노 라이브러리 문제 질문 드립니다... ㅜㅜ [1] 오늘은목이아프니신라면한사발갤로그로 이동합니다. 05.05 35 1
5566 일반 전압 관련 질문 드립니다 [4] ㅇㅇ갤로그로 이동합니다. 05.05 36 0
5565 질문 이거 뭐임?? [2] 뒷통수한방(1.213) 05.05 46 0
5564 질문 뉴비 아두이노 질문 [3] (183.96) 05.04 59 0
5563 질문 아두이노 스피커관련 질문드립니다 [1] ㅇㅇ(182.210) 05.04 27 0
5562 질문 아두이노 라이다 연결 [1] kinghing(183.109) 05.03 44 0
5561 질문 아두이노 외부전원 차단 질문드립니다. [7] 지친나그네(166.104) 05.03 54 0
5560 질문 스테핑 모터 각도 절대값 초기화? ㅇㅇ(136.23) 05.03 24 0
5559 질문 초보자 질문... [2] ㅇㅇ(1.246) 05.02 53 0
5558 질문 스위치가 작동 안해요 [1] ㅇㅇ(211.234) 05.02 35 0
5557 질문 esp32 웹 이미지 깨짐 오류 질문 [3] 그렇습니까기린입니다갤로그로 이동합니다. 05.01 63 0
5555 질문 9v배터리 5v짜리 모터에 연결해도 문제없죠?? [3] ㅇㅇ(118.128) 04.30 53 0
5553 질문 스케치 코드에서 for i in range 문 쓰는법.. [4] ㅇㅇ(210.102) 04.30 46 0
5552 질문 형님들 아누이노끼리 can통신은 되는데 stm이랑은 안되는 현상.. [5] dd(121.168) 04.30 48 0
5551 질문 아두이노 시뮬레이터 틴거캐드말고 좋은거있나요? ㅇㅇ(39.7) 04.29 31 0
5550 질문 배터리사용 할 예정인데 몇 v 사용해야 할까요? [7] ㅇㅇ(118.128) 04.29 69 0
5549 질문 아두이노 컴파일 [1] ㅋㅋㅋ(203.246) 04.29 31 1
5548 질문 형님들 서보모터 쉴드 써서 15개 제어하려는데 문제 [3] ㅇㅇ(219.248) 04.29 116 0
5547 질문 esp32 cam 시리얼 코드 오류 질문 [1] 그렇습니까기린입니다갤로그로 이동합니다. 04.28 43 0
5546 일반 교재 아무거나 하나 사길 잘했네 [2] 블루스드라이브갤로그로 이동합니다. 04.28 53 0
5545 질문 이게 CH340 드라이버 설치 된거임? [8] 그렇습니까기린입니다갤로그로 이동합니다. 04.27 58 0
5544 질문 학교 수행평가 좀 도와주실분.. [3] ㅇㅇ(1.11) 04.27 72 0
5543 질문 게임패드 직접 만드려는데 [2] ㅇㅇ(222.121) 04.27 35 0
5542 질문 아두이노로 전화온거 번호 바로 PC에뜨게하는법좀 있을까요? [8] METAMO갤로그로 이동합니다. 04.27 44 0
5541 일반 아두이노 [1] ㅇㅇ(119.204) 04.27 33 0
5540 일반 아두이노로 100초 넘게 녹음하고 출력하려면 어떤 부품 써야하는지 모르겠 [1] ㅇㅇ(121.140) 04.26 39 0
5539 질문 테스트 용도로 원하는 전압을 제공할 수 있는 장치 소개점 ( _ _) [6] ㅇㅇ(59.9) 04.25 36 0
5538 질문 풀다운저항 대신 풀업저항을 쓰는 이유가 뭔가요? [1] ㅇㅇ(211.234) 04.25 46 0
5537 질문 젯슨 나노 음향분류 [2] 33(121.146) 04.25 31 0
5536 질문 Camera 장착 아두이노 [8] o o(211.44) 04.22 64 0
5535 일반 아두이노 가요 노래는 어케 만드는거임 [1] ㅇㅇ(59.17) 04.22 41 0
5534 질문 이거 도대체 뭐에 쓰는거임? [2] 뒷통수한방(1.213) 04.20 92 1
5533 질문 아두이노 코드 저장할때 왜 영어이름으로만 저장가능함?? [2] ㅇㅇ(49.1) 04.20 47 0
5532 질문 뉴빈데 미니 디스플레이 구현하기 힘들까? [3] ㅇㅇ(175.211) 04.20 55 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

뉴스

디시미디어

디시이슈

1/2