Professional Documents
Culture Documents
h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
int state=0;
int sense=0;
#define trigPin 13
#define echoPin 12
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buttonPin1, INPUT);
pinMode(buttonPin2, INPUT);
pinMode(buttonPin3, INPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize with the I2C addr 0x3C
(128x64)
void loop() {
float duration, distance;
if(sense==0){
digitalWrite(trigPin, LOW); //PULSE ___|---|___
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
display.setCursor(100,15);
display.setTextSize(2);
if(state==0){
display.println("cm");
}
if(state==1){
display.println("in");
}
if(state==2){
display.println("m");
}
display.display();
delay(500);
display.clearDisplay();
buttonState = digitalRead(buttonPin1);
buttonState2 = digitalRead(buttonPin2);
if (buttonState2 == HIGH) {
sense=1;
}
buttonState3 = digitalRead(buttonPin3);
if (buttonState3 == HIGH) {
sense=0;
}
if(state<=2){
state=state+1;
}
else{
state=0;
}
}
Serial.println(distance);//debug
Serial.println(state);//debug
Serial.println(sense);//debug