Ok, so i am completely new to arduino (this is my first project), and i am just making a project for physics, i did everything according to some tutorial on youtube, but my OLED display is displaying just weird white lines, it is supposed to be distance measuring device and i have no idea what went wrong. I am posting the code here so please let me know cause i need to fix it by tuesday or i get a bad mark:
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SenseMetricSystem
#define triPin 13 //Pulse pin
#define echoPin 12
#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);
void setup() {
Serial.begin (9600);
pinMode(triPin, OUTPUT);
pinMode(echoPin, INPUT);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); //initialize with the I2C addr 0x3C (128x64)
display.clearDisplay();
}
void loop() {
long duration, distance;
digitalWrite(triPin, LOW); //PULSE
delayMicroseconds(2);
digitalWrite(triPin, HIGH);
delayMicroseconds(10);
digitalWrite(triPin, LOW);
duration = pulseIn(echoPin, HIGH);
#ifdef SenseMetricSystem
distance = (duration / 2) / 29.1;
#endif
display.setCursor(5, 1);
display.setTextSize(2);
display.setTextColor(WHITE);
display.print("Distance:");
display.setCursor(15, 30); //OLED Display
display.setTextSize(3);
display.setTextColor(WHITE);
display.println("distance");
display.setCursor(80, 30);
display.setTextSize(3);
#ifdef SenseMetricSystem
display.println("cm");
#endif
display.display();
delay(1000);
display.clearDisplay();
Serial.println(distance);
}