////////////////////////OLED
#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE);
char buf[9];
char buf2[10];
/////////////// Ultrasonic
#include "Ultrasonic.h"
Ultrasonic ultrasonic(12, 13);
int distanceCM;
int distanceINC;
///////////// LCD
#include <LiquidCrystal.h>
LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
/////////////// lcd i2c
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd2(0x27, 16, 2);
void setup() {
lcd2.init();
lcd2.backlight();
lcd.begin(16, 2);
Serial.begin(9600);
u8g.setFont(u8g_font_gdr10r);
}
void loop() {
lcd.clear();
lcd2.clear();
// Pass INC as a parameter to get the distance in inches
distanceCM = ultrasonic.read(CM);
Serial.print("Distance in CM: ");
Serial.println(distanceCM);
lcd.setCursor(0, 0);
lcd.print(distanceCM);
lcd.setCursor(4, 0);
lcd.print("CM");
lcd2.setCursor(0, 0);
lcd2.print(distanceCM);
lcd2.setCursor(4, 0);
lcd2.print("CM");
distanceINC = ultrasonic.read(INC);
Serial.print("Distance in Inches: ");
Serial.println(distanceINC);
lcd.setCursor(0, 1);
lcd.print(distanceINC);
lcd.setCursor(4, 1);
lcd.print("INC");
lcd2.setCursor(0, 1);
lcd2.print(distanceINC);
lcd2.setCursor(4, 1);
lcd2.print("INC");
delay(500);
show();
}
void show(void){
distanceCM = ultrasonic.read(CM);
distanceINC = ultrasonic.read(INC);
u8g.firstPage();
do{
sprintf (buf,"%d",distanceCM);
u8g.drawStr(20,20,buf);
u8g.drawStr(50,20,"CM");
sprintf (buf2,"%d",distanceINC);
u8g.drawStr(20,50,buf2);
u8g.drawStr(50,50,"INC");
delay(100);
}while( u8g.nextPage() );
}