// Projeto Mede distâncias e imprime valores num Display LCD 16x2 com modulo I2C
// Autor: André Silveira
// Data: 15/02/2018
#include <Wire.h> #include <LiquidCrystal_I2C.h>
// Inicializa o display no endereco 0x3F
LiquidCrystal_I2C lcd (0x3F,2,1,0,4,5,6,7,3, POSITIVE);
int sensorValue = 0;
int cmValue = 0;
int sensorPin = A0;
void setup() {
lcd.begin (16,2); // Inicializa número de colunas e linhas do
pinMode(sensorPin, INPUT); // Define o Pino de entrada no arduino
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin); // Leitura do sinal de distância
// ---- Verifique qual linha abaixo corresponde ao seu sensor
// ---- Apague as demais linhas
cmValue = 13*pow(sensorValue * 0.0048828125 , -1); // Código para Sharp 4-30cm
cmValue = (6762 /(sensorValue-9))-4; // Código para Sharp 10-80cm
cmValue = 10650.08 * pow(sensorValue,-0.935) - 10; // Código para Sharp 20-150cm
// -----------------------------------------------------------------------
lcd.setBacklight(HIGH); lcd.setCursor(0,0); lcd.print("Mede distancia"); lcd.setCursor(0,1); lcd.print("Valor: "); lcd.print(cmValue); lcd.print(" cm "); delay(10);
}
|