#include <MD_Parola.h>
#include <LiquidCrystal_I2C.h>
#include <EEPROM.h>
#include <MD_MAX72xx.h>
#include <SPI.h>
#include <Adafruit_MPU6050.h>
#include <Adafruit_Sensor.h>
#include <Wire.h>
#define PIN_TRIG 3
#define PIN_ECHO 2
#define HARDWARE_TYPE MD_MAX72XX::PAROLA_HW
#define MAX_DEVICES 8
#define CLK_PIN 52
#define DATA_PIN 51
#define CS_PIN 53
MD_Parola P = MD_Parola(HARDWARE_TYPE, CS_PIN, MAX_DEVICES);
float cm;
String strCM;
String message;
String display;
long readUltrasonicDistance(int triggerPin, int echoPin)
{
pinMode(triggerPin, OUTPUT); // Clear the trigger
digitalWrite(triggerPin, LOW);
delayMicroseconds(2);
digitalWrite(triggerPin, HIGH);
delayMicroseconds(10);
digitalWrite(triggerPin, LOW);
pinMode(echoPin, INPUT);
return pulseIn(echoPin, HIGH);
}
void setup() {
Serial.begin(115200);
P.begin();
P.setSpeed(10);
P.setPause(100);
}
void loop() {
cm = 0.0344/2 * readUltrasonicDistance(3, 2);
strCM = String(cm);
if (cm > 200){
// P.print(cm);
//delay(500);
message = "FAR";
// P.print("CLOSE");
// delay(250);
}
else if (cm > 80 && cm < 200){
message = "CAREFUL";
}
else if (cm < 80){
message = "VERY CLOSE";
}
display = strCM + ": " + message;
P.print(display);
}