Waterput detectie

Arduino specifieke Software
Berichten: 79
Geregistreerd: 08 Apr 2013, 20:16
Woonplaats: Lokeren

Waterput detectie

Berichtdoor Sembot » 23 Aug 2020, 10:52

Hai,

Ik heb volgende Water Level monitor gebouwd en zou graag weten wat de volgende regel wil zeggen vooral die 20
d = map(d, 0, 20, 0, 20); // d = map(d, 0, 20, 20, 0);

Het is namelijk zo dat de ultrasonic sensor aan geeft dat hij vol is als hij leeg is en omgekeerd , zit de fout hier in de arduino code of misschien in het Mit app inventer programma

https://www.instructables.com/id/Water-Level-Monitoring/

Code: Alles selecteren
byte trig = 12;
byte echo = 11;
int vcc = 8;
int t = 0;
int d = 0;
#define MAX_Distance

void setup() {
 
Serial.begin(9600);               // 9600
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(vcc, OUTPUT);
}
void loop() { 
  digitalWrite(vcc, HIGH);
  trig_fun();
  t = pulseIn(echo, HIGH);
  d =  t * 0.034/2 ;              // d = 0.012 * t ;
                                         // String s = String(d);
  [color=#FF0000]d = map(d, 0, 20, 0, 20);  // d = map(d, 0, 20, 20, 0);[/color]
  Serial.print(d);
  delay(2000);                    // 2000
}
void trig_fun() {
 
  digitalWrite(trig, LOW);
  delayMicroseconds(5);           // 5
  digitalWrite(trig, HIGH);
  delayMicroseconds(10);          // 10
  digitalWrite(trig, LOW);
}

DSC02035 Klein.jpg
DSC02035 Klein.jpg (94.98 KiB) 4023 keer bekeken


mvg
Bijlagen
Blocks 2.png
Blocks 2.png (82.21 KiB) 4016 keer bekeken

Advertisement

Berichten: 78
Geregistreerd: 03 Okt 2014, 17:16

Re: Waterput detectie

Berichtdoor ilioSS » 23 Aug 2020, 15:21

Sembot,

Kijk eens naar de arduino example map,

Die 20 welke bedoel je ik zie er 4?

Mapping word gebruikt om een ruwe input waarde van bv 0 tot 1024 om te zien naar bv 1 tot 100.

Bv temp = analogreadA0;
Temperatuur = map(temp,o,1023,1,10);
Serial.println(Temperatuur);



Het lijkt me dat je de juiste variabele moet benoemen en gebruiken. Ik kan het niet proberen maar bij d krijg ik het idee dat er iets niet klopt.
Succes,

ilioSS

Berichten: 79
Geregistreerd: 08 Apr 2013, 20:16
Woonplaats: Lokeren

Re: Waterput detectie

Berichtdoor Sembot » 23 Aug 2020, 15:54

Hai,

Ik denk ook dat daar iets moet veranderen of zo maar weet niet wat
Oorspronkelijk was het zoals achter het remark teken , ik heb dit veranderd maar werkt ook niet
Of moet het d = map(d, 0, 1023, 0, 20); // d = map(d, 0, 20, 20, 0); zijn ????
In ieder geval klopt het scherm van mijn smartphone niet ,vol moet leeg en leeg moet vol worden

d = map(d, 0, 20, 0, 20); // d = map(d, 0, 20, 20, 0);

Berichten: 78
Geregistreerd: 03 Okt 2014, 17:16

Re: Waterput detectie

Berichtdoor ilioSS » 24 Aug 2020, 16:36

Hallo Sembot,

Hier een example van de map functie.

De ruwe sensorValue word omgezet naar een nieuwe variabele,

de mappedValue of de moppedValue.
Deze laatste is tevens van signaal omgezet val vol naar leeg.

Hoop dit geeft je enig idee wat er speelt.
Succes,
ilioSS

// map example
int sensorPin = A0;
int sensorValue = 0;

void setup() {
Serial.begin(9600);
}
void loop() {
sensorValue = analogRead(sensorPin);
byte mappedValue = map(sensorValue,0,1023,1,100);
byte moppedValue = map(sensorValue,1023,0,1,100);
Serial.print(" ruwe analog input ");
Serial.print(sensorValue);
Serial.print(" mapped ");
Serial.print(mappedValue);
Serial.print(" mopped ");
Serial.println(moppedValue);
delay(100);
}

Berichten: 4064
Geregistreerd: 16 Okt 2013, 14:31
Woonplaats: s hertogenbosch

Re: Waterput detectie

Berichtdoor shooter » 24 Aug 2020, 21:15

de waarde die je met pulsein krijgt is een tijd (ook wel afstand noem die dan ook zo.
dan heb je dus een lege toestand dat is dus een grote afstand en een vol toestand waarbij de afstand dus klein is. die map zorgt ervoor dat die omgedraaid wordt. geef het dus ook een andere naam dus je hebt een tijd en daar komt een afstand uit, en daar komt met die map dus een volheid van put uit.
leuk dat je alles in d wilt schrijven maar duidelijk is het zeker niet, als je een blok omhoog brengt komt er door de wijziging van berekenen ineens iets heel anders uit, (in excel hetzelfde)
die getallen kun je overigens zelf kiezen. bijvoorbeeld 20,0,0,100
paul deelen
shooter@home.nl

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: bsezwela, Clarazkaessew, emuxizuye, Google [Bot], ovajicutuvu en 16 gasten