코코아팹은 누구나 창의적 아이디어를 현실로 만들어 낼 수 있도록
만들고, 공유하고, 배울 수 있는 터전이
되고자 합니다.
아이디와 비밀번호를 잊으셨나요?아이디 / 비밀번호 찾기
코코아팹 회원이 아니신가요? 회원가입
초음파센서2개써서 스톱워치만들려는데 하나가 안되네요...
김효민 | 2017-08-04
|
|
---|---|
초음파센서를 이용해서 사람이 인식되면 자동으로 시작하고 멈추는 스톰워치를 만드는데 시작은 잘되는데 멈추는게 안되는데 뭐가 문제인가요?? 따로따로 작동시키면 둘다 잘작동됩니다....ㅠㅠ 밑에 시작하고나서 if 부분이잘못된것가타요,,, 코드는 아래랑 같아요 #include <LiqudCrystal.h>
#define TRIG_PIN 9 #define ECHO_PIN 10 #define TRIG_PIN1 11 #define ECHO_PIN1 12 LiquidCrystal lcd(7, 6, 5, 4, 3, 2); void setup()
{ pinMode(TRIG_PIN, OUTPUT); pinMode(ECHO_PIN, INPUT); pinMode(TRIG_PIN1, OUTPUT); pinMode(ECHO_PIN1, INPUT); lcd.begin(16, 2); lcd.clear(); Serial.begin(9600); pinMode(13, INPUT);
digitalWrite(13, HIGH); } double i1 = 0; double i2 = 0; double a = millis(); double c ; void loop() { int distance = 0; int distance1 = 0; digitalWrite(TRIG_PIN1, HIGH); delayMicroseconds(2); digitalWrite(TRIG_PIN1, LOW); distance1 = pulseIn(ECHO_PIN1, HIGH)/58.2; digitalWrite(TRIG_PIN, HIGH); delayMicroseconds(2); digitalWrite(TRIG_PIN, LOW); distance = pulseIn(ECHO_PIN, HIGH)/58.2; lcd.clear(); lcd.print("Just run."); delay(10); if (distance1 <= 20 & distance > 20 ) { lcd.clear();
a = millis(); while( distance > 20) { 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(distance <= 20 & distance1 > 20) { 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); } } }
|
|
이전글 | 아두이노 컴퓨터 입력 | 2017-08-03 |
다음글 | 수도꼭지를 서보모터로 제어하고자 합니다.... | 2017-08-04 |