Fórum témák
» Több friss téma |
Sziasztok
Segítséget kérnék MCP9700 szenzor használatához, valamiért nem működik megfelelően. Valakinek van valami tapasztalata amit megosztana? Feltöltöm a programot amit használnék.
Mi konkrétan a hiba?
Feltöltöm az enyémet, ebben 2db MCP9700 van, valamint külső 2,56V-os referencia feszültség forrás. Látom HMI teszthez lesz, az enyém is úton van A hozzászólás módosítva: Aug 31, 2016
A konkrét hiba az ingadozás amit a kijelzés idejével kompenzálok illetve belső ref-et használnék (nem teljesen pontos de 5v ami ugyebár a táp) mert most ez a PIC amit tesztelek, egy másik projekthez készült.
Javallom a nextion oldal áttanulmányozását sok buktató lehet benne amit már a többiek kiszürtek akár a maguk bőrén akár az én bőrömön keresztül.
Vegyél több mintát és átlagolj a programban. Ha a szenzor messzebb, van használj hozzá árnyékolt kábelt, valamint tegyél közvetlenül az MCP9700 táp lábaira 100nF kerámia kondit.
Már olvasgatom, ott tetszett meg, az első projectet is elkezdtem szerkeszteni. A hozzászólás módosítva: Aug 31, 2016
Sziasztok
Lenne esetleg valakinek egy LCD- ébresztő óra programja, amit tanulmányozhatnék? Az óra megírása nem gond, a megszakítás stb, de én az idő figyeléssel vagyok gondba, főleg, ha azt szeretném, hogy ne csak egy adott időben jelezzen, hanem akár 20 ébresztést tudjon. Köszönöm előre is a segítséget. A hozzászólás módosítva: Aug 31, 2016
Szia a forrásfájl nem publikus esetleg?
Szia
Nem tudom hogy állsz a projektel de néhány ötlet amit a saját bőrömön tapasztaltam: A tápra mindenképp egy pufferkondi kell (nem tudom hogyan szeretnéd megtáplálni de oda is illik 100nF), én a PIC elé a egy 5.1V zéner ellenállás kombó a megfutások végett. A reléhez vagy RC tagot használsz (nekem special nem sikerült), vagy SSR-t használsz, akár saját készítésüt akár gyárit. Sajnos a relé rángatja a tápvonalat és vissza vissz rug amit a PIC megérez illetve az LCD is. Én fűtésvezérléseket készítek és sok problémám volt az erősáram kapcsolásával. Ha valamilyen gyengeáarmú vezetéket viszel messzebb akkor arra is érdemes zéner vagy esetleg optos leválasztás.
Szia Bakman
Egy locsolásvezérlőt akarnék csinálni, aminek a lényege, a viszonylag pontos óra. Lehet itt olyan megoldást olvasni aki kvarcal oldotta meg az órát, valaki a belső oszcilátorát használta a PIC-nek, de valaki külön RTC-vel oldotta meg. Én gondoltam egy nagyot, és ebbe kérném a segítségedet. GPS órádat használnám. Mit szólsz az ötlethez, és hogy lehetne ezt két soros lcd-n tesztelni? A pic a jól megszokott és bevált 18f14k22 A forrásfájlt felteszem ide. Gombok: menu c4 fel gomb b6 le gomb a2 Az lcd kiosztása: adat1 c1 adat2 c0 adat3 a1 adat4 a0 rs b4 engedély c2 Át tudnád kreálni nekem a programot, mert nem tudom hol kell az lcd-t megadni neki, és hogy hol kell a programból a ledkijelzőt kiszedni.
A LED kijelző szegmenseit hajtja közvetlen a kontroller, tehát amikor kimenetet kapcsol, akkor szegmenst kapcsol. Az LCD kijelző hozzáadása kb. mindenféle trükk mentes, csak a kivezetéseit kell megadni a Flowcode-ban, mit hova kötsz. Ha egy kicsit átnézed a programot, könnyen kiderítheted, melyik makró mit csinál.
Az önözésvezérlés viszont egy pontos órától kicsit több, pl. nedvességérzékelő sem árt, mert esőben felesleges járatni a szivattyút, szárazon futás elleni védelem stb. Lányokat locsolni, növényeket öntözni. A hozzászólás módosítva: Szept 1, 2016
Szia!
Szerintem időre locsolni teljesen értelmetlen, mivel 10 perc öntözés esős hét után sarat csinál, de ugyanennyi idő a 45 fokban semmit nem ér.. talaj nedvesség érzékelők kellenek és a nedvességet kell figyelni. járdát lemosni viszont lehet ilyen módszerrel
Persze igazad van, lesz esőérzékelő ami a kimenetet tiltja. A talaj nedvesség érzékelő is egy nagyszerű gondolat. Persze az elején tartok még, a fejembe nem ált még össze, hogy hogyan kéne a progit megírni. A másik gond, hogy én 4* akarom bekapcsolni a köröket naponta. Ha csak egy kört számolok az 8 változó kikapcsolással együtt. De nem lehet úgy megadni, hogyPl 1234 értéknél kapcsoljon be hanem csak 12ora 34perc. Tehát kell néznem az órát is egy változóval, és a percet is. ezt természetesen memóriába rögzítenem kell a pic-nél. Tehát egy kör 16 memória helyet foglal el. Ha ezt a vezérlőt 4 körösre tervezem, akkor 4*16 memória helyre van szükségem. Lehet, hogy most legyintetek, hogy van hely ebben a típusú pic-ben (18f14k22) bőven hely, de lehetne esetleg valami jobb megoldás is erre? Mondjatok ötletet nyugodtan.
A hozzászólás módosítva: Szept 2, 2016
Az egyszerűség kedvéért a bekapcsolási időt tárold négyjegyű számokként. Pl. 14:45 -kor akarsz valamit bekapcsolni, akkor a bekapcsolási idő legyen 1445, az aktuális időt pedig egy változóba átkonvertálod: óra * 100 + perc. 14 * 100 = 1400 és ehhez hozzáadod a percet. Vagy használsz két változót: Ha (aktuális óra = bekapcsolási óra) és (aktuáis perc = bekapcsolási perc) akkor kimenet bekapcsolása.
DS1307 ic használatával még ramot is kapsz ajándékba, ahová ennyi adatot simán el tudsz menteni.
DS 3234 el pedig kap 2 riasztást amit szabadon programozhat heti vagy havi ciklusokban.
Sziasztok
Küldöm a mai nap termését, több dologban kérem a segítségeteket. Az első, hogy hogy tudom a picnek azt mondani, hogy programégetés után az első indulásnál az Eeprom 0-255 ig 0 értékű legyen. előfordul ugyanis, hogy égetés után az első ram irás elött tetszőleges számot hoz fel. Nekem viszont 0 kell. bocs a kicsi bonyolult progiért. A hozzászólás módosítva: Szept 2, 2016
Ezt hova is kell beírni?
Mclab ipe-be kell? A hozzászólás módosítva: Szept 2, 2016
Configure chipnél kell beállítani?
Most lett meg az időzítés most első kör első idejét szépen csinálja. Beiktattam a programba, ha az idő 0óra0perc akkor bypassoltuk azt az időt. Ugyanis akkor a kimenet off. Ezzel oldom meg, hogy különböző köröknél különböző vízigénynél mennyiszer öntözök.
Szia
Most tettem fel a legújabbat most csinálja az időzítést igaz még csak egyet, de zsong már az agyam. Ja és még valami fontos! Belső óráját használom, és nézd meg a beállítását, nekem így igaz egy napja ketyeg az óra teljesen pontos. Azt most meg ne kérdezd, hogy miért ilyen értékre kell beállítani, de legalább így működik. A hozzászólás módosítva: Szept 2, 2016
Ebbe igazad van, hogy jobb lenne egy ilyen, de a flowba nem tudom, hogy állítsam be, hogy kommunikáljanak egymással.
Így ? Spi kommunikáció , a DS adatlapját kell átböngészni (egy oldal az egész)
A hozzászólás módosítva: Szept 3, 2016
Sziasztok.
Egy dologgal most bajba kerültem, adott az öntözés vezérlőm, abban fut egy timer. A öntözési idő beállításánál az értékeket lementem a picbe EEPROMWrite parancsal, ezután ajánlatos egy 500ms késleltetést berakni. A kérdésem az lenne, hogy késleltetési parancsnál a pic ott helyben leáll és várakozik (olyan mint a delay parancs) mert az nekem nem jó, hisz akkor az óra is áll.
Miért kell késleltetés az EEPROM írása után? Ráadásul ilyen sok? Egyébként igen, leáll a program futása arra az időre. RTC vagy egyéb külső eszköz nélkül igen macera megoldani a pontos óra kivitelezését, beleszámítva az esetleges áramszünetet is.
Szia Bakman
Tudom, hogy egy RTC-vel könnyebb lenne, de egyáltalán nem tudom, hogy kel a programot megírni, hogy kommunikáljon a pic és az RTC. Így marad a pic belső órája. Ha van esetleg RTC órád ami működik, és lcd kijelzős, és ha nem titkos a forráskódja, nagyon megköszönném, ha feltennéd ide.
Info: Bővebben: Link.
Na ez mát nekem kínai OxOO meg i2c ez nekem kínai.
Lehet esetleg olyan megoldás, hogy a pic melé egy nagyon pontos (tipust mondhattok) inpulzus jeladót teszek ami szépen megállás nélkül adja másodpercenként a jelet a pic-nek amit a pic számol. és így oldanám meg a pontos órást. Most lehet hogy sokan a fejükhöz csapnak, hogy úr isten de béna, bocsi érte.
A DS1307 is tud pontos impulzusokat adni, de ahhoz is kell az I2C, azon keresztül lehet beállítani. Szánj pár napot az ilyen alapvető dolgok megtanulására, ezek nélkül, mint az tapasztalhatod, túl nagy feladat lehet egy viszonylag egyszerű program.
Kezdésnek: 0x00 és nem OxOO. Értékeket alapvetően három számrendszerben szokás megadni programozáskor. Decimállis, bináris és hexadecimális rendszerben. Flowcode-ban (és több más programnyelvben is) a hexadecimális rendszert 0x kezdettel, a binárist 0b előtaggal jelölik. 210 = 0b11010010 = 0xD2 A hozzászólás módosítva: Szept 6, 2016
Nem kell túlagyalni , egy locsolóvezérlőnek teljesen jó a kommersz 4 megás kristály ! Egész nyáron siet vagy késik pár másodpercet , teljesen korrekt ...
|
Bejelentkezés
Hirdetés |