Hi ,
I make a bar graph (10 segement led's) with a sensor HC-SR04 US . But my code not work , what this the problem ?
#include <Ultrasonic.h>
#define TRIGGER_PIN 12
#define ECHO_PIN 13
Ultrasonic ultrasonic(TRIGGER_PIN, ECHO_PIN);
void setup()
{
Serial.begin(9600);
pinMode(2, OUTPUT);
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
pinMode(8, OUTPUT);
pinMode(9, OUTPUT);
pinMode(10, OUTPUT);
pinMode(11, OUTPUT);
}
void loop()
{
float cmMsec, inMsec;
long microsec = ultrasonic.timing();
cmMsec = ultrasonic.convert(microsec, Ultrasonic::CM);
inMsec = ultrasonic.convert(microsec, Ultrasonic::IN);
Serial.print("MS: ");
Serial.print(microsec);
Serial.print(", CM: ");
Serial.print(cmMsec);
Serial.print(", IN: ");
Serial.println(inMsec);
if ((cmMsec) < 10) { digitalWrite(11, HIGH); }
if ((cmMsec) > 10) { digitalWrite(11, LOW); }
if ((cmMsec) < 20) { digitalWrite(10, HIGH); }
if ((cmMsec) > 20) { digitalWrite(10, LOW); }
if ((cmMsec) < 30) { digitalWrite(9, HIGH); }
if ((cmMsec) > 30) { digitalWrite(9, LOW); }
if ((cmMsec) < 40) { digitalWrite(8, HIGH); }
if ((cmMsec) > 40) { digitalWrite(8, LOW); }
if ((cmMsec) < 50) { digitalWrite(7, HIGH); }
if ((cmMsec) > 50) { digitalWrite(7, LOW); }
if ((cmMsec) < 60) { digitalWrite(6, HIGH); }
if ((cmMsec) > 60) { digitalWrite(6, LOW); }
if ((cmMsec) < 70) { digitalWrite(5, HIGH); }
if ((cmMsec) > 70) { digitalWrite(5, LOW); }
if ((cmMsec) < 80) { digitalWrite(4, HIGH); }
if ((cmMsec) > 80) { digitalWrite(4, LOW); }
if ((cmMsec) < 90) { digitalWrite(3, HIGH); }
if ((cmMsec) > 90) { digitalWrite(3, LOW); }
if ((cmMsec) < 100) { digitalWrite(2, HIGH); }
if ((cmMsec) > 100) { digitalWrite(2, LOW); }
delay(100);
}
Thank you !