Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Az operációs rendszerednek megfelelőt (Win esetén ezt: Bővebben: Link).
Ez jónak hangzik. Van erre az ébresztés / altatásra valami kód?
Üdv mindenkinek.
Lenne egy kérdésem. Adott egy mega 2560. Egy 7"-os Lcd megy róla. De az lcd a mega 20 , 21 es SDA -SCL kimenetét is használja. Viszont szeretnék egy ds3231 óramodult is használni ami persze szintén a SDA-SCL lábakat használja. Kérdésem van e megoldás arra hogy az óramodul más kimenetet használjon és ha létezik megoldás mi lenne az. A válaszokat előre is köszönöm.
Nézz utána kicsit az I2C protokollnak. Ugyanazokat a lábakat fogja mindkét eszköz használni, csak más a címük, így tudod őket a programból megkülönböztetni/megszólítani.
Tehát ha rákötöm az óramodult is az SDA -SCL lábakra a program majd lekezeli nekem semmi dolgom vele?
Dehogynem. Neked kell a programod megírni...
Tudom, hogy kel lcd-én megjelenít az órát nem azzal van gondom. 3,5"lcd-men működik is. Csak az nem használja a 20-21 et.
2 megoldás van. Legegyszerűbb, ha átrakod a kijelzőt máshová. Ha nem megy akkor szoftveres I2C-t használj, az működik bármelyik lábon. Kapásból 3-at is találtam. SoftWire, SoftwareWire, SoftI2CMaster. Nem tudom melyik a jobb, még nem használtam. Neked kell kikisérletezni.
Köszi. Ez már magas nekem. Inkább egy másik ardu panelről elindítok egy ds3231 ami másodpercenkén vagy elég ha 24 óránként ed egy kalibráló impulzust amihez a belső óra beállítja majd magát. Hm vagy a különbségből kiszámítja mennyit téved azt lementi az EEPromba és legközelebb már alapból hozzászámolja a tévedését. Persze ez még igy nem hőmérséklet kompenzált.
Egy utolsó kérdés melyik a legegyszerűbb ardu. panel amivel a ds3231 még működik? A hozzászólás módosítva: Máj 27, 2020
Mi ebben a magas? Ugyanúgy működnek min a hardweres wire library. Bármelyiket választod mindegyikhez van példaprogram is, de itt is segítenek ha elakadsz. Ha kell én is, de én csak hétvégén érek rá kódot böngészni.
De ha mégis a bonyolultabb megoldást választod akkor bármelyik ardu panellal megy a DS aminek van I2C portja, azaz szerintem nincs olyan amelyiken nincs. A legegyszerűbb talán a NANO, nem rémlik hogy van attól kisebb ardu panel.
Köszi a választ. Az az igazság csak olyan valamit akarok beépíteni a programba amit értek is mert ez egy 3m x3,2m napellem táblákat is forgat közben (már üzemel) (töltés ,teljesítményt, feszültségeket stb figyel közben) ill forgat majd és ha véletlen elakad és pl nem méri be a szélsebességet és nem állítja be időbe a nap ellem táblákat merőlegesről vízszintesre vagy más egyéb gebasz megjelenne egy esetleges szélvihar az egész napelemes táblákat letéphetné a tetőről. Az óra meg csak mint dizájn kétnt szerepelne az Lcd .
Pakold arréb az LCD-t, ha nem i2c-t használ az is. Ha igen, akkor meg békében megférnek egymás mellett.
Van nekem egy ilyen stringem ( meg még sok hasonló! ) :
Ezt így a RAM-ban tárolja, ami már eléggé fogytán van ... Hogyan lehetne ezt a program memóriába áttenni? ( ESP8266 ... ha az számít ) A hozzászólás módosítva: Máj 27, 2020
Progmem?
Lehet... De hogyan?
Próbáld így:
A hozzászólás módosítva: Máj 27, 2020
Egy kezdökérdés.
Egy alprogramban ( vagy funkcioban ki minek hivja) a funcio neve után nem (); van hanem (void; Pl. void triangle(void); Kösz.
Az azt jelenti hogy nem vár paramétert. Szerintem ez csak C és származékai nem? Ardunál tudtommal nem kell kiírni.
Egy OLED display mintaprogramjában találtam mind a két fajtát, azaz a void nélkülit is meg a void-osat is. A program kimondottan az Arduino/OLED Adafruit mintaprogramja.
A hozzászólás módosítva: Máj 27, 2020
A hogyanra azért nem írtam semmit, mert elég komplikált, ezt sajnos meg kell érteni, mit miért, mi az a pointer, stb. Elmagyarázni nem tudnám, de időm sincs rá sajnos. Csak az utat tudom megmutatni. Esetleg más segít.
A hozzászólás módosítva: Máj 27, 2020
A void azon a helyen elhagyható, mint ahogy a for-nál is tárgyaltunk korábban hasonlót. Nem sok helyen láttam eddig én sem...
A képemen a felső sor 2es és 3as láb is SCL SDA láb. Gondolom azt is lehet használni. A 20 , 21 röl nekem is rtc megy.
A hozzászólás módosítva: Máj 27, 2020
En arra gondoltam hogy 4 kimenetet kapcsoltatok meghatarozott ideig egyás utan majd az egeszet kikapcsolja hosszabb idore. Az RTC vel a két kimenet közti időzítést gondoltad megoldani vagy a program lefutasanak újraindulásának idejét(is)??
Amint látod mind a kettőt használja. Illetve egy és ugyanazon lábak .De ez mega és due shiedel (pajzs ) az Lcd és a mega közzé. Nem olyan egyszerű az lcd arrébb pakolni.
A hozzászólás módosítva: Máj 27, 2020
Erről a shieldről van szó?
Az adatlapja szerint az I2C lábakat ő is I2C-ként használja (vagy nem is használja: csak ki van vezetve rá?), nem pedig egyszerű általános I/O-ként, tehát ráköthetsz további I2C eszközt, nem akad össze.
Szia, itt megtalálhatod a megoldást
Mindkettőt.
Azt is, hogy meddig öntözzön, (pl 10-30 perc) mert az RTC pontosabb, és nem kell a milis()-el játszani. Míg öntöz addig néha megkérdezi a pontos időt. Ha az eltelt idő nem járt le, öntöz. Ha lejárt, kikapcsolja az öntözést, beállítja az RTC-n a következő öntözés idejét (Ekkor fogja feléleszteni az RTC az Arduino-t) majd sleep-módba kapcsolja magát az Arduino.
A te megoldásodnak az a hátránya, hogy ha a kommunikáció során valami zaj zavart okoz, vagy hibás adatod lesz, vagy nem lesz semmi adatod. Legnagyobb problémád akkor lesz, ha akkor jön a zavar, amikor éppen állítod be az ébredési időt -> sosem ébredsz fel. Tehát egy plusz ellenőrzést én mindenféleképpen beleraknék. A hibalehetőségeket le kell kezelni, ez plusz munka. A millis pontossága bőven megfelelő ehhez a feladathoz, és semmivel sem nehezebb leprogramozni, mint amit tervezel.
Fontold meg, hogy tömbökbe pakolod a sorokat tartalmazó szövegeket. Gondolom az egészet kell küldeni valahová. Ha ez igaz, akkor a sor végi /r/n -eket megspórolhatnád, mert a ciklusban csak hozzárakod.
Nem sok, de pár bájt megmaradhatna. |
Bejelentkezés
Hirdetés |