Waterput detectie
5 berichten
• Pagina 1 van 1
Waterput detectie
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/
mvg
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);
}
mvg
- Bijlagen
-
- Blocks 2.png (82.21 KiB) 4015 keer bekeken
Advertisement
Re: Waterput detectie
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
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
Re: Waterput detectie
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);
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);
Re: Waterput detectie
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);
}
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);
}
Re: Waterput detectie
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
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
shooter@home.nl
5 berichten
• Pagina 1 van 1
Wie is er online?
Gebruikers in dit forum: esapekox en 19 gasten