CODE 4.4 | 거리 측정 표시기 코드
| 01 | #define ECHO 3 |
| 02 | #define TRIG 4 |
| 03 | #include <Wire.h> |
| 04 | #include <LiquidCrystal_I2C.h> |
| 05 | |
| 06 | // LCD 설정 (주소 0x20, 가로 16, 세로 2) |
| 07 | // 화면이 안 나오면 주소를 0x27로 바꿔보세요! |
| 08 | LiquidCrystal_I2C lcd(0x20, 16, 2); |
| 09 | |
| 10 | void setup() { |
| 11 | pinMode(TRIG, OUTPUT); // 초음파 발사 핀 |
| 12 | pinMode(ECHO, INPUT); // 초음파 수신 핀 |
| 13 | |
| 14 | lcd.init(); // LCD 초기화 |
| 15 | lcd.backlight(); // 백라이트 켜기 |
| 16 | } |
| 17 | |
| 18 | void loop() { |
| 19 | // 1. 초음파 발사! (10마이크로초 동안) |
| 20 | digitalWrite(TRIG, LOW); |
| 21 | delayMicroseconds(2); |
| 22 | digitalWrite(TRIG, HIGH); |
| 23 | delayMicroseconds(10); |
| 24 | digitalWrite(TRIG, LOW); |
| 25 | |
| 26 | // 2. 돌아온 시간 측정 및 거리 계산 (공식 : 시간 / 58.2) |
| 27 | float dist = pulseIn(ECHO, HIGH) / 58.2; |
| 28 | |
| 29 | // 3. LCD 화면 갱신 |
| 30 | // (먼저 빈칸을 덮어씌워 남아 있던 글자를 지웁니다) |
| 31 | lcd.setCursor(0, 0); |
| 32 | lcd.print(" "); |
| 33 | |
| 34 | // 4. 거리 정보 출력 |
| 35 | lcd.setCursor(0, 0); // 첫째 줄 맨 앞으로 이동 |
| 36 | lcd.print("Dist : "); // "Dist : " 글자 출력 |
| 37 | lcd.print(dist, 1); // 계산된 거리 값 출력 (소수점 1자리까지) |
| 38 | lcd.print(" cm"); // 단위 " cm" 출력 |
| 39 | |
| 40 | delay(1000); // 1초마다 갱신 |
| 41 | } |
댓글 없음:
댓글 쓰기