-
GAMEPOD.hu
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
gyapo11
őstag
válasz TESCO-Zsömle #2687 üzenetére
Szerintem szét kell választani a projectet egységekre, és elkezdeni fölépíteni.
Pl. TSOP a távirányításhoz, próbáltam, működik.
Érintőt szerintem külső áramkörökkel a legkönnyebb, ha jól emlékszem
cmos ic-ből láttam rajzot, két oszcillátor, az egyikbe kapcsolódik az
érintőfelület, elhúzza a frekit, ebből kell csinálni jelet. Vagy két
felület, és az ujj vezetőképessége nyit mondjuk egy tranyót, ami a
felhúzó ellenállást testre húz. Ez már mehet is az arduinoba.
Ledsor sem bonyolult, csak ha sok a led, akkor meg kell gondolni, hogy
minden ledre jut-e arduino kimenet. Ha nem, akkor valami multiplexelés
kell, vagy shiftregiszter.
Ezekből már megy a vezérlés, a hangerő, hangszín és ki-bemenetek nem
tudom mivel lesznek, azokhoz kell illeszteni a jeleket.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
Járműbe szerintem tranyóval/fettel egyszerű az illesztés. Ha 12 V-ot kell valamire rátenni, akkor egy npn és egy pnp tranyó meg két ellenállás, ha testre kell húzni, akkor meg elég egy npn esetleg darlington plusz egy ellenállás a bázisra. És ezek jók a 24 V-os járművekbe is.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz fpeter84 #2777 üzenetére
Mivel a kérdésben a feszosztó egy analóg input bemenetre megy, a lebegésnek itt nincs értelme. 0-5 V között lebeghet. Vagyis nem az a baj, hogy lebeg, hanem az, hogy ha nincs ellenállás a föld felé, akkor 5 V fölé mehet a bemeneten a feszültség.
Mielőtt valaki élesben próbálgatná érdemes bevetni valamelyik áramkör szimulátort, olcsóbban megmutatja a dolgokat.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz krisztianAMG #2847 üzenetére
Folyamatos feszültséget pwm kimeneten lehet generálni (persze szűrni kell), ezt kell áttranszponálni 0-5 V-ról 0-tetszőlegesre. Műveleti erősítő, a pozitív bemenetre az arduino, a negatívra a kimenetről ellenállásokkal leosztott feszültség. Ilyenkor a max kimenő áramot a műveleti erősítő szabja meg, ha az egy 20 W-os ic, akkor 20 V-on 1 A-t tud.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz krisztianAMG #2850 üzenetére
szabályozható áramkorlátos tápot hogyan lehetne megvalósítani?
Ezt is műveleti erősítővel. A terhelés és a föld közé teszel egy ellenállást, ezen át fog folyni az áram, és esik rajta az áramnak megfelelő feszültség. Ez megy a műveleti erősítő pozitív bementére, a kívánt maximális áramnak megfelelő feszültség meg a negatív bemenetére. Ha az áram átlépi a beállított értéket, akkor a pozitív bemeneten magasabb lesz a feszültség, és a műveleti erősítő kimenete pozitív irányba mozdul, ezzel a jellel kell szabályozni a táp kimenő áramát. Kell a műveleti erősítőre negatív visszacsatolás is, hogy ne legyen túl durva a szabályzás.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
Először elteszed az aktuális millis() értéket egy változóba:
elozo=millis()
Utána beteszel egy vizsgálatot a már megírt programod végére:
if (millis()-(60*60*1000) > elozo)
Ha ez igaz, akkor már eltelt egy óra, kiírod hogy kész, ha nem igaz, akkor még nem, mehet tovább a program.
Persze attól, hogy kiírt valamit a loop még fut tovább.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz krisztianAMG #2861 üzenetére
A pwm kimenetre teszel egy r-c szűrőt, és lesz egy feszültséged. Ezt egy erősítőbe kötöd, ami valahányszoros feszültségerősítéssel és valamekkora maximális árammal terhelhető.
Vagy egy olyan tápegységbe, aminek a kimenő feszültségét egy potméter állítja be, ami egy állítható feszültséget küld az ic-be. Ehelyett a potméter helyett küldi a pwm a beállító feszültséget.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz krisztianAMG #2863 üzenetére
Nem tudok erről a modulról semmit, úgyhogy fogalmam sincs, hogy lehet-e vezérelni feszültséggel.
Inkább a feladat felől kellene megközelíteni, és hátha nem túl nehéz tervezni olyan megoldást, ami megfelel az elvárásoknak és lehet vezérelni pwm kimenettel.
Programozható tápot írtál 100 mA kimenettel, ezt egy emitterkövető npn tranyó is tudja.
Az elv ilyen:
Az r1-c1 szűri a pwm jelet, az r4 és az r3+r6+ic osztja le a kimenő feszt. Az alsó ic az áramkorlát, az I bemenetére kell a kívánt áramnak megfelelő feszültség. Ahogy ezt túllépi, az ic2 kimenetén addig emelkedik a feszültség, amíg az ic1 negatív bemenete annyira emelkedik, hogy ezzel a megfelelő mértékig csökken a kimenő feszültség, és ezzel a kívánt mértékig csökken az áram.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
Van egy 200 ms-onként érkező impulzussorozat, amiknek a feldolgozása néhány programsor, tehát időben nagyon rövid. Arduinoval megszakítással akarnám megoldani, és két megszakítás között altatni a minél kevesebb fogyasztás érdekében. Hogyan kell ezt csinálni, van-e valakinek egyszerű példaprogramja erre? És ha leveszem a táp ledet, akkor alvás közben mennyit kajálhat mondjuk a pro mini, amin usb-serial ic sincs?
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
Az elég szimpi fogyasztás. Nem nagyon akarok kutakodni, meg processzor regisztereket tanulmányozni, azért nyomulok arduinoval és nem csupasz chippel. De ha látnék egy interruptos egyszerű programot, akkor könnyen módosíthatnám, gondolom.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
-
gyapo11
őstag
válasz fpeter84 #3139 üzenetére
Hazudni azért nem kellene. Simán az igazat kell megírni, esetleg szemléltetni fényképekkel vagy videóval. Nekem is volt olyan telóakkum, amit nem töltött a teló, mert a beépített ellenállás teljesen más értékű volt. Küldtem fotókat, amin jól látszott a mérés módja és mért érték, és visszaküldte a pénzt.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
Az arduino programozása egy dolog, de a be/kimenetek illesztése a külvilághoz már egy másik, az elektronika. Egy egyszerű leg meghajtása is már probléma lehet, ahogy ez itt a fórumon is történt. Szóval egyáltalán nem árt elektronikát tanulni.
Tégen volt a janelpanel, egy csomó féle, zacskóban minden szükséges alkatrész, kapcsolási rajz. Most inkább csak könyvet találok.
A Conrad boltban is érdemes szétnézni.
Az ebayen is rá lehet keresni a diy kit-re, vannak találatok.
Az igazi oktatós, részletes magyarázattal ellátott készletek nem tudom kaphatók-e valahol.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz ghostie #3305 üzenetére
A kész modulok összedugdosása, lib és forrás letöltése gyorsan ad sikerélményt, de nem érteni belőle semmit. Ez sok embernek elég, működik a cucc, OK.
De aki érteni is szeretné, hogy miért kell oda ez vagy az az alkatrész, és miért pont az, annak más út kell.
Lehet a könyvekkel kezdeni, lassú, sok időt és kitartást igénylő, száraz.
Lehet szimulátorprogrammal, virtuális műszereket figyelni, ez már jobb, olcsó és sokkal élvezetesebb, meg lehet ismerni az alkatrészek működését, határait. De kicsit olyan, mint papíron tanulni a programozást számítógép helyett.
Ha van rá valakinek 1-2 ezer Ft-ja, akkor füstöljön el pár ellenállást, tranzisztort, nyomozza ki, hogy miért történt, ezzel sokkal többet tanul közben. A Rádiótechnika cikkeiben sok magyarázat van, hogy hogy működik az áramkör, az évkönyvekben rengeteg hasznos kapcsolás, ami ötletet is adhat és elég könnyű összeforrasztani. Olyat kell keresni, ami még diszkrét alkatrészekből készült. Exponáló óra, féklámpa villogtató, feszültségvezérelt oszcillátor, szinuszgenerátor, ezekre még emlékszem hogy csináltam.
Én is így kezdtem, utána szétszedtem az áramköröket, mert nem volt pénzem több alkatrészre, a végén már szinte ismertem mindegyiket.
De a legjobb lenne találni valakit, aki ismeri az elektronikát, és van ideje magyarázni (személyesen), ez a leggyorsabb és legkönnyebb tanulás.
És persze vannak a fórumok, mint ez is, ahol lehet kérdezgetni, de nem mindig jön válasz, nem mindig olyan, amilyet szeretnénk, és sokszor többféle nem teljesen egyező is lehet, ami zavaró.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz FireKeeper #3307 üzenetére
Pontosabban nem is itt, ez a fórum nem az alapok megbeszélésére szolgál. Az arduino önmagában sok mindent nem tud megcsinálni, tehát kell valamennyi elektronika hozzá, de hogy egy monostabil multivibrátor hogy működik, az már offtopic itt.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
Viszont az Arduino IDE felépítése alá ne nagyon menjen senki
Ez világos, nem az arduino működéséről volt szó, hanem az elektronikai áramkörök működéséről, amik illesztik a világot az arduinohoz.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
Az ic-k, pláne a processzorok működését már nem olyan könnyű megérteni, az már kevésbé elektronika, inkább logikai egységek milliói, esetleg tranzisztorok milliárdjai. Egészen másképp kell kezelni, mnt azt az elektronikát, amiben ellenállást kell számolni. Nem is az arduino működéséről volt szó, hanem az elektonikai kapcsolásokról.
Hogy mivel akarok villogtatni ledet, az már érdekes kérdés. Sok szempont van, ár, fejlesztési idő, szükséges eszközök, ismeretek, méret, fogyasztás, későbbi változtatás módja stb. Sok esetben már egyszerűbb egy arduino szintű vezérlővel megoldani olyan feladatokat is, amik korábban még klasszikus elektronikai feladatok voltak.
De én elektronikából jöttem a processzorok felé, nekem könnyű egy powerledet meghajtani. Aki viszont a programozás felől jött, azt simán el tudom képzelni, hogy nem tud egy nullátmenetes triakvezérlést kapásból lerajzolni, és ha talál a neten egy rajzot, akkor nem érti hogy működik. Nem tud módosítani rajta.Ugyanezt láthatjuk programozással is, ezen a fórumon sok esetben megvan a forrás a netről, de módosítani kellene, és az már nem megy, mert nem érti a program működését. Mondhatjuk neki, hogy irány a net, ez gyakorlatilag semmi. Irány a könyvtár, kevés olyan ember van, aki könyveket tanul meg, hogy egy programot módosítani tudjon.
Viszont az is igaz, hogy hiába mondja meg valaki hogy mit kell módosítani, legközelebb ugyanúgy nem fogja tudni, mert nem érti.
Szóval nem egyszerű ez.[ Szerkesztve ]
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Gergosz2 #3316 üzenetére
Nem tartom száraznak, csak ha valaki elkezdi tanulni, akkor sokára kap választ a kérdésére.
Olyan, mint ha egy közgazdasági kérdésem lenne mondjuk valami kamatról, és azt mondanák, hogy ott a könyvtár meg a net tanuld meg. Az nekem nem megy, vagyis nem találom meg a választ.
Az elektronika sem megy mindenkinek, de mint ahogy én is bánok pénzzel, van háztartási költségvetésem, úgy mások is bütykölnek elektronikát. Lehet, hogy fogalma sincs a hidegítésről, de látta valahol, hogy kell egy rövidlábú 100 nF a betápra. Tesz oda egy 100 μF-ot, és nem érti miért nem működik, hiszen ez sokkal nagyobb kapacitás, jobban kellene hidegítenie. Mire az elektronika tanulásában eljut a válaszig, az nem kevés idő. A való életben viszont könnyen találkozhat a problémával, különösen a kapcsolóüzemű tápok és mikroprocesszorok világában.
Néha egy könnyű elméleti dolgot nehéz megcsinálni a gyakorlatban, pl. szinuszgenerátor.
Néha meg egy könnyű gyakorlati megfigyelésre nehéz elméleti magyarázatot adni, pl. ciklotron.
Az elméletek mindig a rend felé húznak, hogy egyszerű képletekkel minden pontosan kijöjjön. A gyakorlat meg pont a káosz felé, véletlenek, apró eltérések, zavarjelek, amiket képletekkel nagyon nehéz leírni.
Ezért van az, hogy a szakember szavai nehezen érthetők a laikus számára, mert 1000 dologról fogalma sincs, amit a szakember beszámít, mert ismeri. Marad az, hogy tedd oda ezt a kondit és jó lesz, csak ez hal a horgászbot helyett. Holnap megint éhes lesz.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz printpro #3324 üzenetére
Arduinoval nem tudom készít-e valaki terméket, nem arra való. Mikrovezérlővel igen, de ott nincs lib meg netről levadászott kódok, hanem 0-ről saját fejlesztés általában C-ben. Ennek megfelelően az ára is több 10-ezer lehet egy ilyen egyedi fejlesztésnek. Javaslom az teslás elektro levelezőlistát, ha nem akarsz ezért föliratkozni, akkor szívesen továbbítom a kérdést az elérhetőségeddel.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz printpro #3326 üzenetére
Hobby projectekre. Ha működik jó, ha nem akkor keresünk tovább. De ha valaki pénzért dolgozik, akkor garanciát és szavatosságot is vállalnia kell, nem jó, ha később valamelyik libben levő hiba miatt megborul a rendszer. Akkor nagyon hamar veszteséges lesz a munka.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Janos250 #3330 üzenetére
Az arduino is mikrovezérlő, csak a saját IDE-vel használva adja azt a kényelmes módot, amire ki van találva.
Szerintem aki pénzt keres ilyen mikrovezérlős modullal és a rá írt alkalmazással, az nem az arduinot választja. Mert sok esetben egyszerűbb panel is megfelel -> olcsóbb, sokszor meg kell még más hw is, sok minden van arduinohoz is, de lehetnek olyan igények, amire nincs kapható modul -> egyedi tervezés kell.
De lehet, hogy a hw-val ellentétben a sw még erősebb érv, hogy ne arduiot akarjon használni. El lehet érni a processzort, akár assemblyben is meg lehet írni a programot, de ez nem kényelmes. A legtöbben a c-t választották, az IDE nyelve nem ez. Ha meg hex kódot kell letölteni, akkor az arduino kényelmes bootloaderes megoldása nem játszik. A másik a libek. Ha valaki már kidolgozta a c függvényeit, akkor neki nem haladós a libeket megismerni. Lesz valami korlát, akkor meg kellene tanulnia libet írni vagy módosítani. Sokszor hibák is vannak a libekben, lelkes amatőrök írják. Sokszor ütköznek a libek, mert ugyanarra a pinre írták, megint tudni kell módosítani. És elég hamar el tud fogyni a memória, nem tudom, de szerintem a c tömörebb kódot generál, nagyobb program is elfér így. De ha nem, akkor könnyen át lehet állni egy nagyobb memóriás chipre, attól a programozás ugyanaz marad. Arduino esetén ott van a mega meg lehet még más nagyobb modell is, de az már nem olyan olcsó.
Szóval szerintem ezek miatt nincs az, hogy lépten-nyomon arduinora fejlesztő profikkal találkoznánk, és egy ilyen igényre, mint ez a fényvezérlés nem ugranak 10-en rá, hogy szívesen megcsinálják. Mint ahogy írtam is, egyedi fejlesztéssel, szintén mikrovezérlővel, saját sw-rel biztosan találni rá embert, de nem olcsó, mert nem tömegtermék, tehát az összes fejlesztési időt ennek az egy példánynak kell kitermelnie.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz printpro #3334 üzenetére
Pontosan. Egy-egy valamit könnyen le lehet szedni a netről, több valamit összerakni már gondot okozhat, és bejön még a távirányító kezelése, időzítési gondok lehetnek, villogni kezd, és könnyen beleszalad sok munkaóra a keresésbe, esetleg másik lib írása, vagy lib nélkül megírni, esetleg assembly betétekkel a sebesség miatt. Ha az ember magának csinál valamit, akkor ezek az idők nem pénzt jelentenek, hanem szórakozást. De ha pénzért megy, akkor nagyon alacsonyra tud leszaladni az órabér, ha menet közben feladja, akkor meg 0-ra.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz soldi3r #3337 üzenetére
Kell neki táp, kvarc és szerintem megy. Esetleg reset, aref hidegítés.
Az IDE lefordítja a forrást hexára és azt égeti be. Ugyanezt csinálja bármi más programozó megoldás is akármilyen nyelvről.
Persze ha magában van a chip, akkor nincs usb csatlakozás, ki kell vezetni a programozó lábakat tüskékre és úgy lehet programozni. Vagy ha van benne bootloader, akkor soros porton.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Pubszon #3343 üzenetére
OC = open collector.
Pl. a 74141 nixie meghajtó ha jól emlékszem valami 150 V-os OC, 5 V a tápja és 5 V a bemenete is, de 150 V-ot kapcsolgat a nixie csöveken.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Teasüti #3351 üzenetére
Valójában a villogás nem a megfelelő szó, jobb az akadozás. Simán el tudom képzelni, hogy valaki megírja az animációt, valaki más a távirányító kezelését, és a kettőt összeeresztve akadozni kezd, mert pont akkor nyomok rá a távirányítóra, amikor léptetni kellene az animációt, és a processzor egyszerre csak egy dologgal tud foglalkozni, a szem meg érzékeny az akadozásra. Ilyenkor jön az, hogy meg kellene találni az okát, de ezt idegen kódban és nem profi programozási tudással elég nehéz. Ha meg profi a tudás, akkor nem kell netről vadászni a kódot, hanem meg kell írni az első byte-tól úgy, hogy az infrát is le tudja kezelni a legkisebb akadás nélkül.
A megszakítás jó dolog, de nem tud csodát. Vagy az eredeti kód fut, vagy a megszakítást szolgálja ki, de addig az eredeti kód áll. Ahhoz több processzormag, közös memóriakezelés stb. kellene, hogy egy beérkező megszakítás ne állítsa meg az egyik magon futó kódot, és a másik magon azonnal futhasson a megszakítás.
Egy távirányítóról érkező parancs kiszolgálása persze elég rövid idő, de ha nem jól van megírva a kód vagy a library, akkor akár látható nagyságú idő is elmehet, és gond van.
Nem beszélünk konkrét számokról, mert ahhoz kellene a kód, és még akkor sem könnyű összeszámolni a szükséges órajel ciklusokat. Ehelyett ha írunk egy kis ciklust, az kb. 100 ezer/s, ha csinál is valamit, akkor legyen 10 ezer/s, ez 100 μs, ha pl. hangfrekis hullámformát generálunk, és egy megszakítás elvesz ennyi időt, akkor az már hallható lesz.
Sokszor láttuk már itt a fórumon is, meg más forráskódokban is a delay(1)-et vagy hasonlót, mert különben elvesznek byte-ok a soros vagy egyéb csatornán. Pedig a processzor 16 MHz-en pörög, és az ehhez képest rettentő lassú soros porton is el tud veszni adat, ha nem állítjuk meg egy ms-ig a futást.
Már egy ilyen kis processzorocska is annyi mindent csinál, hogy nem elemezzük órajel szinten. Ráadásul mi c++ forráskódódot látunk, de a processzorba egy ebből generált bináris kód megy, nem tudjuk, hogy melyik arduino utasításból milyen bináris kódot generál, így nem tudjuk az időigényeket se. Ráadásul ott vannak a libek, amiknek még a forráskódját se nézzük, hanem csak include-oljuk és reménykedünk benne, hogy működik és nem ütközik semmivel.
Ezért mondom, hogy ez hobbyra van kitalálva, mert pillanatok alatt tud bárki működő programot futtatni. Amint bonyolódik a program, mindenféle korlátokba ütközünk, az időzítést is nehéz kézbentartani, a libek minősége ismeretlen, a szigorú tesztelése időigényes. Mindezek elkerülése meg oda vezet, hogy elhagyjuk az arduino hw-t és sw-t is, és magát a mikrovezérlőt programozzuk profi eszközzel, debuggal, teszteléssel.
Vannak komoly házvezérlések, és egyéb bonyolultabb projectek, tehát sikerülhet a dolog, de erre nem lehet építeni, nem lehet megélhetést alapozni rá.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Daszkalosz19 #3352 üzenetére
Kicsit átformáztam a kódot:
if(h > maxHum || t > maxTemp) {digitalWrite(Relay, HIGH); rel="be";}
else {digitalWrite(Relay, LOW); rel="ki";}és ide az if után:
lcd.println(rel);menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Daszkalosz19 #3358 üzenetére
Akkor a vízmelegítő kiíratása után állitsd be a kurzort a kívánt helyre, és oda tedd a kiíratást.
Változót (rel) gondolom deklaráltad a megfelelő helyen.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Daszkalosz19 #3360 üzenetére
A Relay változó nem a relé állapotát tárolja, hanem a port számát (4).
Ezt hiába vizsgálod az ifben, hogy HIGH-e az értéke.
Ezért kell egy másik változó, ami a port állapotát tartalmazza, ahogy írtam a kódban (rel). És ebbe a változóba be kell írni az aktuális állapotot, amit kivettél a kódból.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Teasüti #3361 üzenetére
A program feltöltése közben a mikrovezérlőn nem fut a kód, resettel kezdődik a feltöltés. Tehát minden figyelmét a soros porton érkező byte-okra fordítja.
Amikor viszont fut a kód, akkor ugrálnia kell a kód és a soros port etetése között, és itt bejöhet időzítési probléma, akadozás, ami adatvesztést eredményez. Sokszor elég egy kis delay, de a pontos megoldás mélyebb ismereteket igényel mind a mikrovezérlő működése mind a librarykban található kódot illetően.
Amíg nem tudjuk pontosan, hogy bármely pillanatban mit csinál a processzor, addig nem tudhatjuk az okot se a hibajelenségre. Ezért nem annyira alkalmas az arduino rendszer profi feladatmegoldásra, nincs megfelelő szintű debug, léptetés, regiszterek kiíratása, amivel meg lehetne találni a hibát.[ Szerkesztve ]
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
Ha én írok minden utasítást, amit a processzor végrehajt, akkor ez igaz. A megszakításokat, a soros port kezelést, és mindent. És még ez sem pontos, hiszen egy a=5; programsor valójában lesz vagy 20 gépi kódú utasítás, és ha hibát/időzítést kell keresni, akkor nem az a=5; és társai sorokban kell, hanem a gépi kódban.
Rágen, még a dosos időkben volt a turbo pascal meg a turbo debugger. A debuggerbe betöltve a pascal forrást, mellette mutatta a forrásból fordított gépi kódot, a futási időket, na az hibakeresés volt. Az arduinon a beszúrt sorokkal led villogtatás vagy soros portra írás, az nem hibakeresés, csak annak egy nagyon halvány lenyomata.
Arduinonál írok egy programot, amibe belinkelek egy halom libraryt, van egy bootloader. A soros portot nem bitenként billegtetem időzítve, hanem serial.print, én pl. még nem láttam azt a kódot, ami akkor fog lefutni, amikor ezt a sort hajtja végre és küldi ki a soros portra a byte-okat. Ha nem láttam, akkor hogy tudnék benne hibát keresni? Ha nem tudok hibát keresni, akkor honnan tudnám megmondani, hogy miért vesznek el adatok?
Vagyis amikor kiírom a soros portra hogy hello, akkor nem tudom mit csinál a processzor.
Ha a hex file-t visszafordítanám assemblyre, ugyanezt a libekkel is meg a bootloaderrel is, akkor láthatnám, hogy mit csinál a processzor, de addig nem.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Janos250 #3368 üzenetére
Mint ahogy írta valaki megvette az Atmelt.
De egyébként is az várható, hogy mindenféle mikrovezérlő meg fog jelenni arduino kompatibilisen lapon. Ez a nagy dolog az arduinoban. Amit szidok a debugolás hiánya, az pont előny abban, hogy ugyanazt a forrást le lehet fordítani a világ összes processzorára. És nem az a lényeg, hogy atmel ketyegjen rajta, hanem hogy működjön, az összes hobbista velem együtt ezért szereti.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Janos250 #3369 üzenetére
Köszi, akkor most már ezt is láttam.
Nem mondom, hogy mindent értek benne, de nyilvánvalóan nem assembly, tehát ez még csak egy utasítássorozat a fordítónak.
De a lényege a dolognak az, hogy ha megy a byte-ok kifütyülése (vegy beolvasása), és jön egy megszakítás, mert ki akarom szolgálni a távirányítót pl., akkor ezt hogy kezeli le a program, és hogy kezeli le az én programom, amiben meghívtam a soros portkezelő függvényt. És hogyan tudom kitalálni, hogy ha elveszett valami, akkor az miért történt?
Olyan ez, mint az állatorvos, aki nem tud átlépni a kerítésen, és bent van a beteg ló.
Az, hogy a c, c++ forrás elveszi előlünk a gépi kódot egyszer előny a könnyű használhatóságban, máskor hátrány a hibakeresésben.
Ezért van az, hogy ha hibába ütközik valaki, és föltesz egy kérdést, akkor a próbáld másik libbel, tölts le másik sku-t, próbáld másik IDE-vel tanácsok jönnek. Észre kell venni, hogy ez nem informatikai szakmunka hanem legozás, próbálgatás.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Teasüti #3385 üzenetére
Nem az lehet a gond, hogy a gombnak prellje van, és egy nyomás vagy fölengedés valójában n db change, és ezeket a gyors interrupt kiszolgálás mind meg is csinálja? Ha páratlan számú, akkor jól működik, ha páros, akkor viszont látszólag nem történik semmi, valójában annyiszor váltott, csak ezt nem lehet látni.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Teasüti #3387 üzenetére
A te megoldásod se jó, ha van prell. A prell ugyanis pont olyan, mint a nyomógomb rendes működése, csak gyorsan történik. Tehát ha nincs a beolvasásban időzítés, hanem rábízzuk a sebességet a processzorra, akkor az olyan gyors, hogy simán feldolgozza a ms nagyságrendű prellt is, és lekezeli mint gyors gombnyomkodást.
Kis késleltetés (10 ms körüli) megoldja, persze nem elegáns delay-jel, hanem millis-sel, hogy közben azért a program futhasson. Az interruptos megoldásnál meg az kell, hogy amikor beérkezik az első állapotváltás, akkor egy időzítést indítani, és ezt figyelni az interrupt függvényben, ha az időzítés még nem járt le, akkor figyelmen kívül kell hagyni az állapotváltásokat, mert azok a prell miatt vannak. Ha lejárt az időzítő, akkor megint ki lehet szolgálni a következő 1 db állapotváltást. Az interrupt függvényben ugyan nem működik a millis, de a meghíváskori állapota is megfelelő.
És lehet azt is csinálni, hogy két állapotváltás közötti időt mérni, és ha az kisebb egy adott értéknél, akkor figyelmen kívül hagyni. Pl. 20 ms-en belül ember nem tudja megnyomni kétszer, a prell meg ez idő alatt lecseng.[ Szerkesztve ]
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
-
gyapo11
őstag
válasz Gergosz2 #3392 üzenetére
A hardware-es a legtutibb, a kondi is jó lehet, ha jól el van találva a kapacitása, de lehet akár két nand kapuból váltókapcsolóval, az holtbiztosan egyet billen a lenyomásra és vissza a felengedésre. Vagy lehet hiszterézises hall cella egy mágnessel, vagy valami optokapu stb.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
válasz Teasüti #3395 üzenetére
A hardware-es kevésbé, egyszerűbb programból megoldani, de akadhat eset, amikor jobb a hw-ban.
Pont az a baj, hogy csak egy nyamvadt gomb, olyan érintkező felületekkel és mechanikával, amikből következik a prell. Nem is tudom, hogy egyáltalán el lehet-e tüntetni a prellt tisztán a kapcsoló mechanikai kialakításával, arany vagy bármi más érintkező felületekkel. Elektronikával sokkal egyszerűbb. A programmal szűrés időzítést kíván, és az néha gond lehet.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
Nincs semmi, ha be kell tartanom gombnyomási hosszakat, csak szeretem, ha nem én alkalmazkodok a processzorhoz, hanem fordítva.
Csak el kell képzelni egy számológépet, ahol nem pikkpakk nyomogathatom a gombokat, hanem hosszabban, hogy bevegye a számokat, hamar földhöz vágnám.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
A jó öreg 7400 hogy vigyorog a rajzokon.
Merthogy lehet kondizni, de az is időzít, idő kell neki a töltődéshez és a kisüléshez is. Másrészt maga a jelzés is késik emiatt, mert a kondi feszültségének el kell érni a bemenet küszöbfeszültségét, tehát a nyomógomb megnyomása (vagy fölengedése) és a processzor általi érzékelés között lesz egy késleltetés. És nem feltétlenül csak nyomógomb lehet ott, hanem valami gyors mechanikai kontaktus, végálláskapcsoló stb.
A nand kapuk meg ns-ok alatt kapcsolnak és garantáltan egyszer, persze nem nyomógomb kell hozzá, hanem váltókapcsoló, pl. mikrokapcsoló.[ Szerkesztve ]
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
gyapo11
őstag
-
gyapo11
őstag
Most láttam a hírt.
https://create.arduino.cc/
IDE a felhőben, böngészőben fut, megosztható, friss libraryk azonnali eléréssel. Remélem jó lesz.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
Új hozzászólás Aktív témák
- ASUS ROG MAXIMUS Z790 HERO - Új, bontatlan - Eladó! 199.000.-
- Crucial T705 PRO 4 TB M.2 NVME PCI-E 5.0 x4 - Új, Bontatlan - 14100-12600 MBs - Eladó!
- Playstation 5 Drive Edition 825GB (CFI-1216A), 6 hónap garanciával, Bp-i üzletből eladó
- Apple Magic Mouse 2 A1657
- Intel I9 14900KS 24mag/32szál - Új - Eladó! 250.000.-
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Ozeki Kft.
Város: Debrecen