|
OLED LCD + 초음파센서 + 버튼
koo | 2017-11-19
|
|
|---|---|
|
OLED LCD 와 초음파센서를 연결해 출력하는데 까지는 성공 했습니다 . 더해서 여기에 BUTTON // 스위치를 추가해 LCD 화면에 찍히는 초음파 센서값을 정지 해두는 기능을 두고싶은데 어떻게해야할지 잘모르겠네요 자꾸 버튼을누르면 LCD에는 값이 아예 떠버리질 않습니다. . .. . . 수정해주시면 정말정말 감사하겠습니다 부탁드립낟 ㅠ ㅠㅠ ㅠ ㅠ ㅠ
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define CommonSenseMetricSystem
//#define ImperialNonsenseSystem
#define trigPin 13
#define echoPin 12
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
}
void loop() {
long duration, distance;
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
#ifdef CommonSenseMetricSystem
distance = (duration/2) / 29.1;
#endif
#ifdef ImperialNonsenseSystem
distance = (duration/2) / 73.914;
#endif
display.setCursor(22,20);
display.setTextSize(3);
display.setTextColor(WHITE);
display.println(distance);
display.setCursor(85,20);
display.setTextSize(3);
#ifdef CommonSenseMetricSystem
display.println("cm");
#endif
#ifdef ImperialNonsenseSystem
display.println("in");
#endif
display.display();
delay(500);
display.clearDisplay();
Serial.println(distance);//debug
}
|
|
| 이전글 | 온도센서 서미스터 모듈 | 2017-11-18 |
| 다음글 | 안드로이드 오레오 버전 BLE 검색 및 연동 관련 문의 건... | 2017-11-20 |