코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
초음파센서를 2개를 사용하는데 안되넨요(자동스톱워치)
김효민 | 2017-07-31
|
|
---|---|
초음파센서를 이용해서 사람이 인식되면 자동으로 시작하고 멈추는 스톰워치를 만드는데 시작은 잘되는데 멈추는게 안되는데 뭐가 문제인가요?? 따로따로 작동시키면 둘다 잘작동됩니다....ㅠㅠ 코드는 아래랑 같아요
#include <LiquidCrystal.h>
#define TRIG_PIN 11 #define ECHO_PIN 12 #define TRIG_PIN2 22 #define ECHO_PIN2 23 LiquidCrystal lcd(7, 6, 5, 4, 3, 2); void setup()
{ pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); pinMode(TRIG_PIN2, OUTPUT); pinMode(ECHO_PIN2, INPUT); lcd.begin(16, 2); lcd.clear(); Serial.begin(9600); pinMode(9, INPUT);
digitalWrite(9, HIGH); } double i1 = 0; double i2 = 0; double a = millis(); double c ; void loop() { int distance = 0; digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(5); digitalWrite(TRIG_PIN, LOW); distance = pulseIn(ECHO_PIN, HIGH)/58.2; int distance2 = 0; digitalWrite(TRIG_PIN2, HIGH);
delayMicroseconds(10); digitalWrite(TRIG_PIN2, LOW); distance2 = pulseIn(ECHO_PIN2, HIGH) / 58;// lcd.clear(); lcd.print("Are you Ready?"); delay(1); if (distance <= 7) { lcd.clear(); a = millis(); while(distance2 > 0) { c = millis(); i1 = (c - a) / 1000; i2 = 180000 / (c - a); lcd.print(i1); lcd.setCursor(11,0); lcd.print("Sec's"); lcd.setCursor(0,0); Serial.println("\n");
Serial.println(i1); Serial.println("Sec's"); Serial.println("........"); Serial.println(i2); Serial.println("km/h"); Serial.println("\n--------"); delay(1); } if(distance2 <= 10) { lcd.setCursor(0,0); lcd.print(i1); lcd.setCursor(11,0); lcd.print("Sec's"); lcd.setCursor(0,1); lcd.print(i2); lcd.setCursor(12,1); lcd.print("km/h"); lcd.setCursor(0,0); delay(2000); } } } |
|
이전글 | 보드 Arduino/Genuino Uno 컴파일 에러. | 2017-07-29 |
다음글 | I2C 통신 질문 | 2017-07-31 |