Läpiviennin vuolee pois ja mutterilla kiristettävä plommi tilalle liiman kanssa?On mutta pitäisi sen johdin irroittaa - tukkia reikä. Oon vuottanu milloin pumppu hajoaa avotan siitä kohon.
Seuraa alla olevaa videota nähdäksesi, miten asennat sivustomme verkkosovelluksena aloitusnäytöllesi.
Huom: This feature may not be available in some browsers.
Läpiviennin vuolee pois ja mutterilla kiristettävä plommi tilalle liiman kanssa?On mutta pitäisi sen johdin irroittaa - tukkia reikä. Oon vuottanu milloin pumppu hajoaa avotan siitä kohon.
Ei muute hajoo sun elinaikana ku tollasia oottelet.Oon vuottanu milloin pumppu hajoaa avotan siitä kohon.
Aliexpressistä saa pässinpallikytkimen himpun yli kympillä.
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
/* --------------------------------------------------------
PC‑pumpun monitorointi ‑ Arduino UNO
‑ Virtausanturi: 595 pulssia per litra
‑ Paineanturi: 0,5 – 4,5 V = 0 – 100 psi (≈ 0 – 6,89 bar)
‑ LCD‑näyttö: 20 × 4, I2C
--------------------------------------------------------*/
LiquidCrystal_I2C lcd(0x27, 20, 4); // vaihda 0x3F tarvittaessa
/* --- Pinimääritykset --- */
const byte FLOW_PIN = 2; // INT0 keskeytyspin
const byte PRESSURE_PIN = A0; // ADC‑kanava paineanturille
/* --- Kalibrointivakiot --- */
const float PULSES_PER_LITER = 595.0; // anturin data‑arvo
auto constexpr PSI_TO_BAR = 0.0689476f; // 1 psi = 0,0689476 bar
const float FULL_SCALE_PSI = 100.0; // anturin skaalaus
const float VOLT_MIN = 0.5; // sensorin 0 psi jännite
const float VOLT_MAX = 4.5; // sensorin 100 psi jännite
const float ADC_TO_VOLT = 5.0 / 1023.0; // 10‑bit ADC → jännite
/* --- Liukuvan ikkunan muuttujat --- */
volatile unsigned long pulseCount = 0; // ISR kasvattaa
unsigned long bucketPulse[3] = {0}; // kolmen sekunnin puskurit
byte bucketIdx = 0; // tunnistin
unsigned long lastBucketTime = 0;
unsigned long lastDisplayTime = 0;
/* --- Painesuodatus --- */
float filtPressureBar = 0.0;
const float ALPHA = 0.20; // 0…1 (suurempi → reagoi nopeammin)
/* --------------------------------------------------------
Keskeytysrutiini: pulssilaskuri — AVR‑alustalla ei tarvita
IRAM_ATTR‑attribuuttia, se on ESP32‑erikoisuus.
--------------------------------------------------------*/
void flowISR() {
pulseCount++;
}
/* --------------------------------------------------------
setup() – alustus
--------------------------------------------------------*/
void setup() {
pinMode(FLOW_PIN, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(FLOW_PIN), flowISR, RISING);
lcd.init();
lcd.backlight();
lcd.print("Pumpun monitori");
delay(1500);
lcd.clear();
lastBucketTime = millis();
lastDisplayTime = millis();
}
/* --------------------------------------------------------
loop() – pääsilmukka
--------------------------------------------------------*/
void loop() {
unsigned long now = millis();
/* --- 1 s: liikuta pulssit puskuritaulukkoon --- */
if (now - lastBucketTime >= 1000) {
lastBucketTime += 1000; // pitää ajastuksen tarkkana
bucketIdx = (bucketIdx + 1) % 3; // kiertävä indeksi 0‑1‑2
bucketPulse[bucketIdx] = pulseCount; // kulunut sekunnin pulssit
pulseCount = 0; // nollaa laskuri
}
/* --- 1 s: laske arvot ja päivitä LCD --- */
if (now - lastDisplayTime >= 1000) {
lastDisplayTime += 1000;
/* Virtaus l/min (kolmen sek. liukuva keskiarvo) */
unsigned long total = bucketPulse[0] + bucketPulse[1] + bucketPulse[2];
float lpm = (total * 60.0) / (PULSES_PER_LITER * 3.0);
/* Paineanturi → jännite → paine (bar) */
int adc = analogRead(PRESSURE_PIN);
float voltage = adc * ADC_TO_VOLT;
float pressureBar = (voltage - VOLT_MIN) * (FULL_SCALE_PSI * PSI_TO_BAR) / (VOLT_MAX - VOLT_MIN);
if (pressureBar < 0) pressureBar = 0; // rajaa negatiiviset
/* Eksponentiaalinen suodatus */
filtPressureBar = filtPressureBar * (1.0 - ALPHA) + ALPHA * pressureBar;
/* --- LCD‑päivitys --- */
lcd.setCursor(0, 0);
lcd.print("Virtaus ");
lcd.print(lpm, 1);
lcd.print(" l/min ");
lcd.setCursor(0, 1);
lcd.print("Pulssit/s ");
lcd.print(total / 3);
lcd.print(" ");
lcd.setCursor(0, 2);
lcd.print("Paine= ");
lcd.print(filtPressureBar, 2);
lcd.print(" bar ");
lcd.setCursor(0, 3);
lcd.print("Voltit= ");
lcd.print(voltage, 2);
lcd.print(" V ");
}
}
Täytyy virtuaalisesti hattua nostaa moiselle luovuudelle!Sain mittaussoftan tuupattua Arduinoon.
Näytä liitetiedosto 154894
Ei kuitenkaan pääse kokeilemaan toimintaa ennen kuin saa roippeet jonkinlaiseen koteloon. Leikkelin lasikuitulevystä asennuslevyn vesiosille ja samaan levyyn tulee myös ohjainboksi. En ehtinyt vielä kyhäillä valmiiksi asti, mutta jos vaikka huomenna...
Näytä liitetiedosto 154895

Kun en itse ymmärrä koodista enempää kuin sika uimahousuista, niin vaikka-mikä on vielä mahdollista.Eihä tuo voi muuta kuin toimia![]()

Kyllä Wagner-sika ymmärtää uimahousuista.Kun en itse ymmärrä koodista enempää kuin sika uimahousuista, niin vaikka-mikä on vielä mahdollista.![]()
Luo tili tai kirjaudu sisään kommentoidaksesi
Sinun täytyy olla jäsen voidaksesi jättää kommentin.
Luo käyttäjätili
Liity Konekansalaiseksi. Se on helppoa ja ilmaista! Rekisteröityneenä et näe mainoksia, voit käyttää hakua, näet alueita, joita nyt ovat piilossa...jne.