Fórum témák
- • Hifi erősítők tervezése
- • Rádió építés a kezdetektől a világvevőig
- • Infra távirányítós bemenetválasztó, és hangerőszabályzó
- • Felajánlás, azaz ingyen elvihető
- • Geiger-Müller számláló (hobbi)
- • Gázkazán vezérlő hibák
- • DC-DC konverter
- • Alternativ HE találkozó(k)
- • Hőtárolós kályha
- • Elfogadnám, ha ingyen elvihető
- • DCF77 óra Nixie-csövekkel
- • HESTORE.hu
- • Előerősítő
- • Elektromos sertéskábító
- • Lemezjátszó beállítása, javítása
- • Forrasztópákák - melyik miért jó
- • ESP32 flash problémák
- • Számítógép hiba, de mi a probléma?
- • Hibrid erősítő
- • Villanyszerelés
- • Kávéfőzőgép hiba
- • Érdekességek
- • Vásárlás, hol kapható?
- • Mosógép vezérlők és általános problémáik
- • Autóriasztó és központi zár
- • Androidos okos telefonok
- • 555-ös IC-s kapcsolások
- • TV hiba, mi a megoldás?
- • Mikrohullámú sütő javítás, magnetron csere, stb.
- • Kapcsolási rajzot keresek
- • MyElecParts alkatrészkereső és készletnyilvántartó
- • Riasztószerelés tapasztalatok, ötletek (kizárólag haladóknak)
- • Be-/kikapcsoló nyomógombbal
- • Videomagnó problémák
- • Rendelés külföldről (eBay - Paypal)
- • Modbus programhoz keresek tesztelőket
- • LCD kijelző vezérlése, életre keltése
- • AI/MI/LLM avagy a mesterséges intelligencia felhasználása
- • Ki hol gyártatja a NYÁK-ot ?
- • Szobatermosztát bekötése
- • Házilag építhető fémkereső
- • Akku bekötés párhuzamosan
- • Karácsonyi fényfüzérek
- • Oszcilloszkóp vétel, mit gondoltok?
- • Erősítő mindig és mindig
- • Erősítőhöz való hangsugárzó védelem (koppanásgátló)
- • Rádióamatőrök topikja
- • Hegesztőgép
- • Műhelyünk felszerelése, szerszámai
- • Orion se 1025
- • Csináld magad Solid State Disk (SSD)
- • Multiméter problémák
- • Keverőpult építése, javítása
- • Transzformátor készítés, méretezés
- • Codefon kaputelefon
» Több friss téma
|
Fórum » Akvárium automatika
Szia!
Idézet: „Az első FET mint kapcsoló ha jelet kap az IC-től, akkor nyit, így adva áramot a venti felé, ami a vetni előtt átfolyik még egy FET-en, ami alapból nyitva lenne, csak etetés időben zárna”
Minek ? Ha az egész logikát az Arduino vezérli, akkor az "tudja", hogy mikor etet és addig kapcsolja le a ventilátort(ha megy, ha nem!), majd vissza (ha szükség van még rá!)! Ezért nem kell még egy FET !
Remélem jól értelmeztem a problémádat így hajnalban  ! A hozzászólás módosítva: Máj 19, 2017
Szia! Én a szűrőt kapcsolom ki etetés közben, lenyomok egy gombot, az elindít egy 4 perces visszaszámlálást, utána újra elindul. Az "&&" kikötés nélkül áramszünet után nem indulna a szűrő rögtön, csak 4 perc múlva.
if((millis() - previousMillispump < kikapcsolasiido) && (kikapcsolasiido < millis())) {digitalWrite (pump, LOW);}
else {digitalWrite (pump, HIGH);}
A gomb pedig ennyit csinál: previousMillispump=millis();
Ha a gomb általi parancsot, az etető indításával egyszerre ütemezed, (idő alapján a LED-ek miatt biztos tudsz ütemezni, ha esetleg az etetőt nem az arduino vezérli, de az etető motorjáról is elhozhatsz egy szálat, ami high-ra húzza az arduino bemenetét, így az tudja, hogy akció van) akkor elég 1 FET. Persze a fenti kóddal a ventilátor csak ki-be kapcsolni fog, PWM-mel szebb megoldani, összességében halkabb, és talán a halaknak is jobb, mert így 27 fokig viszonylag egyenletes sebességgel felmelegszik a víz, és ott stagnál. ha pedig például 26 foknál már elindulnak, de 27-nél pörögnek a maximumon, akkor van egy grádiense a folyamatnak. Nálam ez így néz ki: if (indulasivarakozás > (millis())){analogWrite(fan, 20);} //ahogy bekapcsol a rendszer, az elején pontatlan az érték, emiatt ne pörögjön feleslegesen, csak alapjáraton pár másodpercig
else {if (fancntrl==0){ //egy másik menüpontban fix ki/fix be/program között lehet váltani,ezért kell nekem, de itt is jól jön a program felülírásához etetésnél
if (homerseklet <= (tempFanMin)) analogWrite(fan, 20); //kb. 8%-on pörög mindig, hogy ne legyen az elektronikája vizes, stb
if((homerseklet >= tempFanMin) && (homerseklet <= tempFanMax)) {sebesseg = map(homerseklet, minhomerseklet, maxhomerseklet, 20, 255); analogWrite(fan, sebesseg);} //min és max definiálva van a kód elején, 26 és 27 fok
if(homerseklet > maxhomerseklet) digitalWrite (fan, HIGH);}
Ezzel kiegészülve úgy módosulna a fenti kód, hogy:
if((millis() - previousMillisfan < kikapcsolasiido) && (kikapcsolasiido < millis())) {fancntrl=1; digitalWrite (fan, LOW);}
else {fancntrl=0;}
Remélem tudsz belőle hasznosítani ötleteket! A hozzászólás módosítva: Máj 19, 2017
|
|