정보나눔

오픈소스하드웨어 프로젝트에 대한 다양한 정보를 나누는 공간입니다.

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