Compare commits

..

No commits in common. 'b5de58469458c1f909cd76ce193f845aafe3a692' and 'f9802fa127e07132ab10e67355e90776f0fb0220' have entirely different histories.

  1. 40
      Sensors/src/main.cpp
  2. 102
      lessons/lesson61.cpp

40
Sensors/src/main.cpp

@ -1,5 +1,4 @@
// Lesson 61. Ultrasonic Sensor with LCD Display // https://www.youtube.com/watch?v=A6kEroT-g2o&list=PLGs0VKk2DiYw-L-RibttcvK-WBZm8WLEP&index=60
// https://www.youtube.com/watch?v=nC2CDaqJomA
#include <Arduino.h> #include <Arduino.h>
@ -8,6 +7,7 @@
const int rs = 7, en = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12; const int rs = 7, en = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int trigPin = 2; int trigPin = 2;
int echoPin = 3; int echoPin = 3;
int pingTravleTime; int pingTravleTime;
@ -15,20 +15,13 @@ float distance;
const int pulsTime = 40; // uS const int pulsTime = 40; // uS
const float pingTimeToDistance = 0.017; // uS to cm, travletime[s] * 340 m/s / 2 const float pingTimeToDistance = 0.017; // uS to cm, travletime[s] * 340 m/s / 2
int numReadings = 50;
float averageMeasurements;
float averageTime;
float bucketDist = 0.0;
float bucketTime = 0.0;
int buttonPin = A0; int buttonPin = A0;
int buttomState; int buttomState;
int setTime = 500; int setTime = 500;
int dt = 1000; int dt = 1000;
void setup() void setup() {
{
// put your setup code here, to run once: // put your setup code here, to run once:
Serial.begin(9600); Serial.begin(9600);
Serial.println("Measurring Distance"); Serial.println("Measurring Distance");
@ -44,8 +37,7 @@ void setup()
digitalWrite(buttonPin, HIGH); digitalWrite(buttonPin, HIGH);
} }
void loop() void loop() {
{
// put your main code here, to run repeatedly // put your main code here, to run repeatedly
buttomState = digitalRead(buttonPin); buttomState = digitalRead(buttonPin);
while (buttomState == HIGH) while (buttomState == HIGH)
@ -56,12 +48,6 @@ void loop()
lcd.print("Press the Button"); lcd.print("Press the Button");
buttomState = digitalRead(buttonPin); buttomState = digitalRead(buttonPin);
} }
{
bucketDist = 0.0;
bucketTime = 0.0;
for (int i = 0; i < numReadings; i++)
{ {
digitalWrite(trigPin, LOW); digitalWrite(trigPin, LOW);
delayMicroseconds(pulsTime); delayMicroseconds(pulsTime);
@ -73,30 +59,24 @@ void loop()
distance = pingTravleTime * pingTimeToDistance; // Travel time to distance in cm distance = pingTravleTime * pingTimeToDistance; // Travel time to distance in cm
bucketDist = bucketDist + distance;
bucketTime = bucketTime + pingTravleTime;
}
averageMeasurements = bucketDist / numReadings;
averageTime = bucketTime / numReadings;
Serial.print("Ping Time and Distance:"); Serial.print("Ping Time and Distance:");
Serial.print("Ping Time: "); Serial.print("Ping Time: ");
Serial.print(averageTime); Serial.print(pingTravleTime);
Serial.print(" Distance: "); Serial.print(" Distance: ");
Serial.print(averageMeasurements); Serial.print(distance);
Serial.println(" cm"); Serial.println(" cm");
// Display on LCD // Display on LCD
lcd.clear(); lcd.clear();
lcd.setCursor(0, 0); lcd.setCursor(0, 0);
lcd.print("Ping Time: "); lcd.print("Ping Time: ");
lcd.print(averageTime); lcd.print(pingTravleTime);
lcd.print("us"); lcd.print("us");
lcd.setCursor(0, 1); lcd.setCursor(0, 1);
lcd.print("Distance: "); lcd.print("Distance: ");
lcd.print(averageMeasurements); lcd.print(distance);
lcd.print("cm"); lcd.print("cm");
} }
} }

102
lessons/lesson61.cpp

@ -1,102 +0,0 @@
// Lesson 61. Ultrasonic Sensor with LCD Display
// https://www.youtube.com/watch?v=nC2CDaqJomA
#include <Arduino.h>
#include <LiquidCrystal.h>
const int rs = 7, en = 8, d4 = 9, d5 = 10, d6 = 11, d7 = 12;
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
int trigPin = 2;
int echoPin = 3;
int pingTravleTime;
float distance;
const int pulsTime = 40; // uS
const float pingTimeToDistance = 0.017; // uS to cm, travletime[s] * 340 m/s / 2
int numReadings = 50;
float averageMeasurements;
float averageTime;
float bucketDist = 0.0;
float bucketTime = 0.0;
int buttonPin = A0;
int buttomState;
int setTime = 500;
int dt = 1000;
void setup()
{
// put your setup code here, to run once:
Serial.begin(9600);
Serial.println("Measurring Distance");
delay(setTime);
lcd.begin(16, 2);
lcd.print("Hello, World!");
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(buttonPin, INPUT);
digitalWrite(buttonPin, HIGH);
}
void loop()
{
// put your main code here, to run repeatedly
buttomState = digitalRead(buttonPin);
while (buttomState == HIGH)
{
lcd.setCursor(0, 0);
lcd.print("Place the Target");
lcd.setCursor(0, 1);
lcd.print("Press the Button");
buttomState = digitalRead(buttonPin);
}
{
bucketDist = 0.0;
bucketTime = 0.0;
for (int i = 0; i < numReadings; i++)
{
digitalWrite(trigPin, LOW);
delayMicroseconds(pulsTime);
digitalWrite(trigPin, HIGH);
delayMicroseconds(pulsTime);
digitalWrite(trigPin, LOW);
pingTravleTime = pulseIn(echoPin, HIGH);
delay(25);
distance = pingTravleTime * pingTimeToDistance; // Travel time to distance in cm
bucketDist = bucketDist + distance;
bucketTime = bucketTime + pingTravleTime;
}
averageMeasurements = bucketDist / numReadings;
averageTime = bucketTime / numReadings;
Serial.print("Ping Time and Distance:");
Serial.print("Ping Time: ");
Serial.print(averageTime);
Serial.print(" Distance: ");
Serial.print(averageMeasurements);
Serial.println(" cm");
// Display on LCD
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Ping Time: ");
lcd.print(averageTime);
lcd.print("us");
lcd.setCursor(0, 1);
lcd.print("Distance: ");
lcd.print(averageMeasurements);
lcd.print("cm");
}
}
Loading…
Cancel
Save