Waarde naar LCD

Arduino specifieke Software
Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Waarde naar LCD

Berichtdoor DeDraak » 19 Okt 2015, 20:21

Hallo Allemaal,

Vandaag ben ik bezig geweest met een project voor een inhoud meting van een tank.
Ik heb een Mega en een Ultrasonic sensor, deze draait op de serial monitor goed, alleen wil ik het nivo ook naar mijn 16/2 lcd sturen.
Iemand suggesties?

/* Water Level Meter

Measuring water level with ultrasonic sensor HR S04.

Arduino IDE 1.5.8
*/

#include <LiquidCrystal.h>
LiquidCrystal LCD(8, 9, 4, 5, 6, 7);


int trig = 12;
int echo = 11;

void setup()
{
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);

LCD.begin(16,2); //Tell Arduino to start your 16 column 2 row LCD
LCD.setCursor(0,0); //Set LCD cursor to upper left corner, column 0, row 0
LCD.print("Inhoud Tank:"); //Print Message on First Row

}

void loop()
{
LCD.setCursor(0,1); //Set cursor to first column of second row
LCD.print(" "); //Print measured distance
LCD.print(" Mltr's"); //Print your units.
delay(250); //pause to let things settle

long t = 0, h = 0, hp = 0;

// Transmitting pulse
digitalWrite(trig, LOW);
delayMicroseconds(2);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);

// Waiting for pulse
t = pulseIn(echo, HIGH);


// Calculating distance
h = t / 58;

h = h - 5; // offset correction
h = 11 - h; // water height, 0 - 11 cm

hp = 45 * h; // Afstand in Mili Liters // distance in Mili Liters, 0-600

// Sending to computer

Serial.print(hp);
// Serial.print(" cm\n");
Serial.print("\n");
delay(1250); //pause to let things settle




}

Advertisement

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Waarde naar LCD

Berichtdoor nicoverduin » 19 Okt 2015, 21:00

Daar waar je nu op de serial het nivo print kun je gewoon de lcd.print doen.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Waarde naar LCD

Berichtdoor DeDraak » 19 Okt 2015, 21:33

Oke bedankt, het is gelukt inderdaad!!

Kan je mij ook vertellen hoe deze formule werkt?

// Calculating distance
h = t / 58;

h = h - 5; // offset correction
h = 11 - h; // water height, 0 - 11 cm

hp = 45 * h; // Afstand in Mili Liters // distance in Mili Liters, 0-600

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Waarde naar LCD

Berichtdoor nicoverduin » 19 Okt 2015, 21:37

Wat dacht je van de datasheet lezen? http://www.micropik.com/PDF/HCSR04.pdf
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Waarde naar LCD

Berichtdoor DeDraak » 19 Okt 2015, 21:44

Wat dat betreft ben ik nog een leek met deze dingen.
Ik probeer deze formule te ontcijferen maar kom er niet uit..
Ik heb de sensor op een maatbeker geplakt.
Maatbeker heeft een diameter van 9,5 cm en is 17 cm hoog en er kan een liter in

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Waarde naar LCD

Berichtdoor nicoverduin » 19 Okt 2015, 21:58

Het enige wat die sensor doet is de afstand meten van de sensor naar het oppervlakte. De hoogte van het water is de maximale afstand tussen de sensor en de bodem - de afstand tussen het water en de sensor.
De rest is het berekenen van het volume. Hoe dat ligt aan de constructie van het vat of maatbeker (of whatever).
h = t/58 geeft de afstand tussen de sensor en het water oppervlakte. Daarna past hij een correctie van 5cm toe.
De hoogte is vervolgens het verschil tussen de maximale hoogte (11 en de berekende hoogte
De laatste hp = 45* h = PI * r (=bij jou 4.75) * r * h.
Dit programma is dus weer een typisch geval hoe het niet moet.
Schrijf gewoon die variabelen uit. dus geen h maar hoogte of height. geen t maar bijv. measuredTime.
Dan snap je zelf ook wat het programma doet.

Nog over die formule:
Er wordt geluid door dat ding weggestuurd. Als het terug komt weet je de tijd die het duurt om HEEN en WEER te reizen.
Geluid verplaatst zich op 340 meter per seconde. Dus in een microseconde heb je 340 / 1000000 meter verplaatst = 0.00034 meter. keer 100 heb je centimeter. Dus 0.034 cm. Echter daar het geluid heen en weer beweegt moet je dat getal delen door 2 voor de afstand. = 0.034 / 2 = 0.017 . Dus om nu te weten hoeveel afstand je aflegt in een micro seconden moet je de 1 delen door die 0.017 = 58.8.
Je ziet al gelijk wat afwijkingen. Vandaar die correctie van 5.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Waarde naar LCD

Berichtdoor DeDraak » 19 Okt 2015, 22:11

Ok,

Ik ben ook aan het zoeken naar voorbeelden hiervoor maar kan ze zo snel niet veel vinden..

Gebruikers-avatar
Berichten: 5043
Geregistreerd: 13 Mei 2013, 20:57
Woonplaats: Heemskerk

Re: Waarde naar LCD

Berichtdoor nicoverduin » 19 Okt 2015, 22:13

Als je googled naar HC-sr04 voorbeelden te over. ff beter je best doen zou ik zeggen.
Docent HBO Technische Informatica, Embedded ontwikkelaar & elektronicus
http://www.verelec.nl

Berichten: 247
Geregistreerd: 03 Okt 2015, 13:39

Re: Waarde naar LCD

Berichtdoor DeDraak » 19 Okt 2015, 22:21

Ga ik doen,
Bedankt voor je snelle reacties

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: aqogoxevuruma en 66 gasten