- LG C3: egy középkategóriás OLED tévé tesztje
- Milyen monitort vegyek?
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Vezetékes FEJhallgatók
- Hisense LCD és LED TV-k
- Milyen billentyűzetet vegyek?
- TCL LCD és LED TV-k
- Dual Mode-os IPS monitorral adott magáról életjelet a Gigabyte
- Milyen házat vegyek?
- Fejhallgató erősítő és DAC topik
-
PROHARDVER!
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
Teasüti #6369 üzenetére
A nagyobb kondi nem pont ugyanakkora töltést tud felvenni ugyanazzal a setup-pal?
De, ugyanakkorát.
C=Q/U, ezt átrendezve Q=C*U, vagyis ha nő a C, akkor az U-nak csökkennie kell. Tehát azonos töltésmennyiség egy nagyobb kondenzátoron kisebb feszültségváltozást hoz létre. -
gyapo11
őstag
válasz
Teasüti #6365 üzenetére
A kondenzátor kapcsán hogy kell méretezni a frekvenciához?
Én már elkényelmesedtem, és rábízom az ilyesmit az áramkörszimulátorokra.
Ha nézzük a tranzisztor meghajtást mondjuk 1 mA-rel. Vegyük a kondenzátort üresnek amikor az arduino kiteszi a kimenetére az 5 V-ot. Elindul a kapacitív áram, ami tölti a kondit és nyitja a tranyót. Ez az áram folyamatosan csökken, és elér egy pontot, amikor már a bázison mérhető feszültség 0.7 V alá csökken, ettől a tranyó elkezd lezárni, ami nem jó. A cél az, hogy amíg az impulzus tarthat, addig a kondi ne tudjon annyira feltöltődni, hogy ez bekövetkezzen.
Ebből látszik a lényeg. A 100 nanós kondi 1 kHz-cen 50 % kitöltési tényezővel 3.6 V-ig megy föl, majd a fél periódusidő alatt leesik 1.3 V-ra, ilyenkor már csak 0.26 mA áram folyik a kezdeti 0.72 helyett. Addig kell növelni a kondit, hogy a lejtő végén is elég legyen a vezérlő áram. -
gyapo11
őstag
válasz
Teasüti #6340 üzenetére
A monostabil, mint ahogy a neve is mutatja egy stabil állapottal rendelkezik. Ebből az állapotból billenti ki a vezérlőjel, és beállítható idő után visszatér a stabil állapotába. Az újraindítható azt jelenti, hogy ha az időzítés lejárta előtt érkezik egy második vezérlőjel, akkor nem jár le az óra, hanem onnantól újraindul az időmérés, és ha folyamatosan érkeznek a jelek, akkor soha nem tér vissza az alapállapotába, mert mindig újraindul az időmérés. Jól látszik, hogy ez tkp. a watchdog. Kondival kell táplálni, vagy élvezérelt áramkört kell használni, és akkor bármilyen állapotban történt fagyás esetén is, az idő lejártával alapállapotba tér vissza. Ha mondjuk egy relé váltó kontaktust működtet, akkor alapállapotban eredeti fékműködés, amint elindul az arduino, és küldi a jeleket, akkor arduino által vezérelt fék, ha leáll vagy kikapcsol az arduino, akkor vissza normál működésre. Így a fet lehalását is ki lehet kerülni, mert ha az arduino működik, de a fet szakadt, akkor ugye nem villog a féklámpa, viszont ha az arduino figyeli egy bemeneten a fet működőképességét, és észleli, hogy nem megy, akkor a jelek küldésének megszüntetésével vissza tud kapcsolni eredeti működésre. Fet zárlat esetén szintén, mert a fet nem közvetlenül a ledet kapcsolja, hanem a váltóérintkezőn keresztül. Tehát amíg az arduino működik, addig ő tud dönteni, ha az áll le, akkor meg a monostabil.
Itt egy élvezérelt.
És persze szintvezérelt esetén figyelni kell arra, hogy érkező impulzusok nélkül a bemenet alapállapotban legyen, tehát földre vagy tápra kell húzni egy ellenállással. -
válasz
Teasüti #6340 üzenetére
Ha már heftelsz, (oké tudom, nem autóba lesz a végleges), akkor csináld inkább azt, amit mostanában az autógyártók is beletesznek az autókba gyárilag: Intenzív fékezésnél bekapcsol a vészvillogó.
Kevésbé zavarod vele össze a mögötted jövőt, mert ez a villogó féklámpával ellentétben egy bevett szokás. Villogni ugyanúgy villog, szóval az észrevehetőségre se lehet panasz.Nem mellesleg egy megjegyzés, amit egyáltalán nem rosszból mondok, de gondold át:
Ha esetleg mégis belédfutnak, majd a vétkes arra fogja, hogy azért ment beléd, mert a féklámpád össze vissza discozott, és esetleg megtalálják a heftet az összetört kocsi hátuljában, akkor ne csodálkozz, ha a végén még meg is büntetnek.
-
válasz
Teasüti #6340 üzenetére
Azért mégis válaszolok:
A 3Hz az jó. Én arra gondoltam, amikor kb. 1Hz-el villog a bicikli,
és két villanás közt megtesz kb. 15m-t, rossz látási viszonyok közt ez pont arra jó, hogy a mozgását egyáltalán nem lehet megjósolni, ha csak a lámpát látom.
A pwm vibrálása gyors mozgás (pl előzés) közben nagyon zavaró, ugyanis a lámpa, és emiatt az autó duplán látszik.On: a féklámpa bekapcsolását nem lehet kétkörösre megcsinálni? Mert eddig csak olyan megoldást olvastam, amiben a vezérlő fet nyitva van ilyen-olyan módon, ha az arduino máshogy nem rendelkezik, és azon keresztül tudja kapcsolni a gyári vezérlés is a lámpát. És ha egymástól függetlenül, akár egyszerre is kapcsolhatna az arduino és a gyári vezérlés?
-
PHM
addikt
válasz
Teasüti #6340 üzenetére
Monostabil alapkapcsolás Ne 555-tel.
Ezt úgy tudod lefutó élvezéreltté tenni, hogy a bemenettel sorba kötsz egy
100 nFos kerámia kondenzátort, s azzal párhuzamosan egy 100 Kohmos ellenállást.
Így mindig lefut a késleltetés, akkor is, ha a bemenet testen marad. -
válasz
Teasüti #6334 üzenetére
És ez az egész mire lesz jó, azon kívül, hogy durván összezavarod a mögötted jövő autóst? Engem vezetés közben már az is idegesít, ha az előttem haladó modernebb(?) autók ledes helyzetjelzője láthatóan vibrál, főleg, ha nem közvetlenül nézek bele, hanem a perifériámon van (ahol a mozgást jobban érzékeli az ember).
(Miért nem lehet olyan pwm frekvencián dimmelni ezeket, ami már túl van az érzékelési határon?)
A túl lassan villogó biciklilámpákról nem is beszélve, némelyik olyan lassúra van állítva, hogy két villanás közt simán bekúszik az út széléről a sáv közepére úgy, hogy észre sem lehet venni. -
PHM
addikt
válasz
Teasüti #6327 üzenetére
Upsz, elsiklottam a "ledeket" szó felett.
Korábban féklámpákról volt szó.
Ezzel együtt a disszipatív áramkorlátozás nem túl praktikus.
Mindenképp kell hozzá némi feszültségtartalék, amit aztán elfűtesz a feten.
Ez viszonylag nagy tápfeszültségnél és sok sorba kötött lednél éri csak meg. -
Janos250
őstag
válasz
Teasüti #6293 üzenetére
Az, hogy a negatív oldali kapcsolás egyszerű, de a pozitív oldali nem.
Ha a negatív oldal nem bontható meg, mert közvetlenül a testen van az izzó foglalata, akkor muszáj pozitív oldalit alkalmazni.
Persze, ha mégis meg tudod bontani a csatlakozást a test és az izzó között, akkor mehet a negatív oldali, és az egyszerű. -
tibi-d
tag
válasz
Teasüti #6282 üzenetére
PHM megoldása akkor tökéletes, ha a féklámpa dróton kapja a testet, és a burkolat el van szigetelve. Ha a burkolaton keresztűl kapja a testet, akkor csak a 12V felől lehet vezérelni a lámpát. Ekkor is több tényezőt kell figyelembe venni. Pl. az arduino azért nem működik, mert nem kap tápot, vagy kap ugyan, de a kimenete inaktív. Mind két esetben P csatornás kiüritéses Fet kell, és hozzá olyan segédtáp, ami elő tud állítani 18-20V-ot, a fet zárásához. A vezérlés logikája sem egyszerű. Az arduino tápját úgy kell kialakítani, hogy az "5V" legyen a 12V-al egyenpotenciálon, és a "0V" lebegjen "12-5V" feszültségen. Az arduino kimenetét még így sem lehet közvetlenül a fetre kötni, kell néhány szintillesztő tranzisztor is. Az elmondottakból következik, hogy igen komplikált feladatot találtál ki.
-
Janos250
őstag
válasz
Teasüti #6282 üzenetére
Ha az a szerver éppen áll - megesik - akkor innen is letöltheted:
http://ocskoszabina.hu/wp-content/uploads/2014/02/Diplomamunka_OcskoSzabina_2011.pdf -
Janos250
őstag
válasz
Teasüti #6279 üzenetére
"Ezért az áramkörnek alapból zárva kell lennie."
Vagyis a FET vezet.
Bekötés:
Eredetileg a féklámpa egyik sarka a földre megy. Na, ezt kell megszakítani, és betenni az N típusú FET-et.
S a testre, ugyanide az arduino földje is.
D a féklámpára, ahol megszakítottad.
G az arduinohoz.G-t egy ellenállással az Arduino +5V-ra kötve (ez a legegyszerűbb) arra az esetre,
ha a lap nem működik, akkor is magasan legyen a G, azaz vezessen a FET.
Mivel ellenállással a G fel van húzva a +5V-hoz, az Arduino kimeneti láb célszerűen open drain.Igen, de vegyészeknek, vegyészként, vagyis szigorúan ökölszabály szerűen csak az alkalmazást
Az elméletét a villanyosoktól kérdezd, mert ahhoz én nem értek.
Hú, micsoda tuningolt H lesz ebből!
-
Janos250
őstag
válasz
Teasüti #6273 üzenetére
"kiürítéses mosfet-nél a Gate-re ugyanúgy 0V és +5V megy, mint a növekményes típusúra? Vagy mit értenek itt negatív feszültség alatt? -5V?"
http://kkft.bme.hu/~johnny/Diplomamunka_OcskoSzabina_2011.pdf
34. oldal. Iskolásoknak íródott, de azért Te is elolvashatod!Mivel én vegyész vagyok, nem villanyos, én egyszerűen N ill. P típusú FETnek nevezem
"Most akkor működik az Arduino digitális kimenetén, vagy nem?"
Igen, működik. Folyamatosan használom. Általában N típust, a P típust csak kivételesen. P-t utoljára talán a Microchip PIC programozásához használtam, úgy 10 évvel ezelőtt."A cél az volna, hogy HIGH értékre zárjon, LOW értékre (vagy lebegő portra, INPUT módban, vagy simán üzemen kívül lévő MCU esetében) pedig nyitva maradjon"
Nem pontosan értem.N FET:
S: GND
D:+5V (vagy több is lehet, én 48-at is kapcsolok vele)
G: Arduino lába, ha HIGH, akkor a FET vezet, tehát megy áram, ha LOW, akkor a FET nem vezet, nincs áram.
Ha fordítva kell, akkor szoftver . -
tibi-d
tag
válasz
Teasüti #6273 üzenetére
A kiüritéses mosfet "gate"-re a "source" kivezetéshez képest adhatsz pozitív és negatív feszültséget is. Az első esetben mégjobban ki fog nyitni, az utóbbiban le fog zárni. Ez le van írva abban a köteg leírásban, amit linkeltem. A P csatornás fetre is igaz ez, csak fordítva.
-
Janos250
őstag
válasz
Teasüti #6256 üzenetére
Én az IRL sorozatúakat használom, mert az biztosan kinyit TTL szint esetén. Ismerősöm az IRF sorozatot is használja kisebb áramok esetén, de én az IRL-t pártolom, mert annak alacsonyabb a gate feszültsége. Ebayről 10-es csomagban párszáz Ft darabja. Itthon duplája, de még az sem sok. Vagy akár 10 db. együtt párszáz az általánosabb típusokból, pl.:
http://www.ebay.com/itm/10PCS-IRF540N-IRF540-TO-220-N-Channel-33A-100V-Power-MOSFET-/171907621084?hash=item28067e20dc:gGYAAOxyrM5TJmML
Vagy ez is olcsó:
http://www.ebay.com/itm/10pcs-IRL540N-IRL540-Power-MOSFET-IR-TO-220-/191850144579?epid=1291809408&hash=item2cab28e343:g:ZCAAAOSwVghXEx9U -
Janos250
őstag
válasz
Teasüti #6253 üzenetére
A spéci dolgok természetesen nem mennek más lapokon. A nem spécikből a lábak nevei nem egyeznek meg, azt meg kell nézni a pins_arduino.h fájlban az adott laphoz tartozó helyen a variants könyvtárban, hiszen a lapokon még ugyanannál a procinál is vannak jelentős különbségek. Pl. egyes ESP lapok a kevés valós lábszám miatt egyeseket kettőznek.
Mondjuk egy WS2812B ledsor meghajtása sem túl esélyes, hogy simán átvihető egyik lapról a másikra,
mert ott mélyen bele kell gázolni a proci lelkivilágába a microsecnél is pontosabb időzítési igény miatt. Igaz ugyan, hogy ez a user számára nem látszik, ő csak kész osztályt használ. Az Adafruit ugyan próbálta úgy megcsinálni a saját osztályát, hogy minél több lapon menjen, de azért az nem az igazi.
Mondjuk egy ESP8266WebServer osztályt sem célszerű megpróbálni futtatni más procikkal. Viszont pl. az ESP8266 Arduino rendszerbe illesztését is úgy csinálták meg, hogy az UNOn (is) használt dolgok meglegyenek, azonos legyen a nevük, és a paramétereik, és a WiFi shieldhez is passzoljon.
Pl. általános, hogy a pinmode paraméterének a 0. bitje jelzi, hogy input/output, stb. Így a usernek csak INPUT, vagy OUTPUT (stb.) előre definiált konstansokat kell beírni, procitól függetlenül, és a rendszer dolga, hogy az adott környezethez ezt értelmezze. -
zka67
őstag
válasz
Teasüti #6254 üzenetére
Szia, bocs, hogy beleszólok a ledes témába: a ledekkel az a helyzet, hogy úgy működnek mint a zener diódák, néhány tized volttal megemelve a ráadott feszültséget nagyságrendekkel megnőhet rajtuk az átfolyó áram. Továbbá fix feszültségről üzemeltetve a ledeket, azokon ugye áram folyik át ami hőt termel, és ez a hő lejjebb viszi a ledek "nyitófeszültségét", ami az áram növekedéséhez vezet, ami még több hőt generál, ezáltal még lejjeb kerül a nyitófeszültség és így tovább... pukk.
-
tibi-d
tag
válasz
Teasüti #6256 üzenetére
Szia!
A válasz a nevében van. A LED az egy dióda, aminek nem lineáris a karakterisztikája, mint egy ellenállásnak. Kb 1.5V-ig kevésbé nő az árama, de néhány század volt növeledésre akár 10X-es áram is kialakulhat. Igy pillanat alatt tönkre lehet tenni. Az áramkorlátozós tápegységnek pont az a lényege, hogy nem engedi elszállni az áramot. A LED látszólagos fényereje sem arányos az árammal. Kb 1/3 áramig fokozatosan nő a fényerő, utána már úgy tűnik, minha nem is nőne ( ami nem igaz, csak nem érzékeljük). -
jksx
senior tag
-
quint
aktív tag
válasz
Teasüti #6243 üzenetére
Ez "csak" áramköri szimulációhoz használható.
Arduino kódok (valamilyen szintű) szimulált futtatásához is használható a circuits.io.
Perifériákkal is lehet egy picit játszani az UnoArduSim-ben. -
Janos250
őstag
válasz
Teasüti #6239 üzenetére
Én NYÁK tervezéshez régen az Eagle-t használtam, ami akkor a CadSoft terméke volt, de azóta már azt is megette az Autodesk. Nem tudom, most milyen. Régen, amikor még Microchip PICekkel dolgoztam elég jó volt, sok benne volt az alkatrészlistában. Ma is vannak DIY gyártók, akik ezt használják.
https://en.wikipedia.org/wiki/EAGLE_(program) -
quint
aktív tag
-
Janos250
őstag
válasz
Teasüti #5236 üzenetére
Persze. Néhányan.
ESP-t állomásnak állítod, és egy wifis routerhez csatlakoztatod. Csinálsz rajta WEB szervert, ami a kinnről jövő kérésekre egy általad összeállított html fájl küld vissza.A kérést akár GET, akár POST módszerrel feldolgozhatod.
A routeren beállítod a port forwardingot a te szerveredre. Lehet port számot is megadni, hogy ne minden a 80-ason legyen. -
-
Janos250
őstag
válasz
Teasüti #4882 üzenetére
Egy másik magánvélemény:
Amit az UNO szoftverből csinál, azok egy részét az STM32 már hardverből tudja, ezért más rá számos könyvtár.
A szokásos funkciók megvannak, csak legfeljebb más a nevük. A spécik meg jócskán különbözhetnek.
Elvileg meg lehet azt csinálni, hogy a hiányolt könyvtárat beteszed a munka könyvtáradba (.h is), de ez gyakran járhatatlan, mert:
1. Ha az UNO-ra írt könyvtár kihasználja az UNO specialitásait, akkor ennek annyi.
Pl. az Adafruit_NeoPixel (gyanítom) az életben nem fog STM32-n menni, mert ha belenézel az Adafruit_NeoPixel.cpp-be, egy halom assembly részletet találsz benne.2. Gyakran annyira többszörös mélységűek a könyvtárak, hogy belezöldül az ember.
(Azt ugye tartod, hogy amíg a LEGELSŐ hibát nem javítod, addig a többivel nem foglalkozol, mert lehet, hogy az első okozza!)
-
tvamos
nagyúr
válasz
Teasüti #4884 üzenetére
Az a baj, hogy semmi debug nincs, es nem is latszik, hogy lenne valami, igy meg az egesz fejlesztes... eleg foscsi. Van valami ingyenes, meg nem hasznaltam, mert nekem a ceges gepre nem lehetett installalni, de volt egy napos kurzus az ST-nel hozza.
(Amugy nem ertem, mi a baj a kondkorlatossal, eleg komplex cuccokat lehet benne irni, nem fog a blink 11% flash-t megenni.) -
tvamos
nagyúr
válasz
Teasüti #4796 üzenetére
Valahol itt beszél ilyesmiről: [link]
Ennyit látok:
Bootloader
Make sure there's a bootloader burned on your Arduino board. To check, reset the board. The built-in L LED (which is connected to pin 13) should blink. If it doesn't, there may not be a bootloader on your board.
-
fpeter84
senior tag
válasz
Teasüti #4766 üzenetére
Még arra is gondoltam, hogy esetleg a lib csinál valamit nagyon rosszul, lehet majd beleásom magam a doksiba és megpróbálom magam kiolvasni...
(#4767) tvamos
A "teljesen jól működött" mit jelent? Ki lehetett olvasni? Mert ezeket is ki lehet... Vagy volt belőle 2-3 egyformád és hibaszázalékon belül ugyanazt az értéket adták? -
tvamos
nagyúr
válasz
Teasüti #4546 üzenetére
Nem rossz a kondis megoldás, csak figyelni kell a méretezésnél. Most nincs előttem a szabvány, de legyen mondjuk az egyenértékű kapacitás 20 pF, a vezetett discharge meg mondjuk 5kV. Neked akkora kondi kell, hogy a töltéskiegyenlítődés után se legyen több a feszültség 5-5.5V-nál...
Zener, schottky, egyre megy, ugyanúgy jó, elvileg. Az tuti, hogy a schottky gyors, kicsi a szivárgó árama, és a maradékfeszültsége. -
tvamos
nagyúr
válasz
Teasüti #4537 üzenetére
Azok nem olyan diódák, mint amit a tápfeszültség stabilizálására használnak. (Én így tudom.) Az olcsó zenereknek eleg aok tud lenni a szivárgó árama, es nagy a differenciálás ellenállása, ezért nem szeretem.
Azért szoktam Schottky-t használni, mert gyors, és kicsi a nyitófeszültsége. Ahol én használom, ott nem a HBM szerinti ESD-t kell megetetni vele, inkább egyéb túlfeszültségeket. Pl. induktív terhelés kapcsolása okozta impulzusok. Van mindig korlátozó ellenállás is. -
tvamos
nagyúr
válasz
Teasüti #4532 üzenetére
Ez valoszinuleg nem sugarzott zaj lehet, hanem vezetett zaj, az alufoliaba vurkolas szerintem nem hasznal, le is veheted rola.
Ha valami induktiv fogyaszton szakitod meg az aramot, es az "csap vissza", akkor ott nem eleg a 220 Ohm. Valami nagyobb kene a bemenetekre. Sot, az is lehet, hogy valamelyik kimeneti labon ter vissza az feszultsegcsucs. Ha az I/O labon levo diodakon folyik el aram, akkor azoktol meghulyulhet.
+ javaslom a reset labat 1k-n keresztul felhuzni a tapra, mert ott is van kondi, ami tultoltodhet, attol is meghulyulhet. -
válasz
Teasüti #4530 üzenetére
Másik tápról próbáltad? Mi van, ha nem zavarjel okozza, hanem leesik a tápfesz?
Más: hogy lehet hardveresen "pergésmentesíteni" egy résopto+encoder párost? Most érkezett meg, a kis robotom kerekére szereltem, sebességmérőnek. Álló helyzetben, ha picit előre-hátra mozgatom a kereket, hirtelen 30-40 lépést számol, gondolom valahol 0 és 5 volt közt véletlen értékeket ad vissza, és minden alkalommal lefut a megszakítás.
-
gyapo11
őstag
válasz
Teasüti #4518 üzenetére
Minden kisugárzással rendelkező helyen a processzorokat és más digitális áramköröket érdemes fémdobozba tenni, mert az így létrejövő Faraday-kalitka az indukálódó feszültségeket nem engedi az áramkörhöz jutni. Nagyáramú vezetékek, relék, motorok. Az áram hatására a vezetők körül mágneses tér keletkezik, ami egy másik vezetékben feszültséget indukál. Így működik pl. a transzformátor.
Nálad ez nem biztos, hogy elég, mert még vezetékek is mennek a processzor bemeneteihez. Lehet használni árnyékolt vezetéket, ez is Faraday-kalitka a vezeték számára. És vezetéken megy be a táp is, amire szintén rászuperponálódik a zavarjel, és ez megzavarhatja a processzor műlödését. Ez ellen lehet védekezni a nagyon kis induktivitású kerámia kondival, és a nagyobb kapacitású elkóval, rövid lábakkal a betáp pontokra forrasztva.
A pc-tápok kapcsolóüzeműek, elég sok zavarjelet termelnek, nem ajánlom oda betenni, csak fémdobozban. -
gyapo11
őstag
válasz
Teasüti #4516 üzenetére
A motorok mágneses teret keltenek, és az a vezetékekben mint antennákban zavarjelet. Fémdobozba kell tenni az arduinot, a dobozt földelni, és belül kerámia kondival+elkóval szűrni a tápot, esetleg induktivitás sorbakötve. A kimenő jelek már alacsony impedanciásak, azokkal nem lesz gond.
-
gyapo11
őstag
válasz
Teasüti #4426 üzenetére
Ez a processing nem tűnik túl egyszerűnek, pláne ha a nem működés okát kellene megkeresni. A guino már kezelhetőbb méretű és átláthatóbb.
Ehelyett valami egyszerűbb megoldást keresnék, pl. file-ba menteni a terminálba érkező adatokat, és utólag valami programmal vagy táblázatkezelővel megjeleníteni. Ha realtime kell, akkor írnék egy programot valami olyan nyelven, ami a soros porton érkező adatot azonnal megjeleníti egy oszcilloszkóp szerű folyamatosan futó ábrán, de ennek az áttekinthetősége sokkal rosszabb. -
Janos250
őstag
válasz
Teasüti #4422 üzenetére
ATX táp tapasztalat:
Amit én használtam régebben, az csak akkor adta stabilan az 5V-ot , ha volt rajta valami "komolyabb" terhelés.
Ezért én az 5V-os vezetékre tettem egy 12V-os autó izzót (hogy ne süsse ki a szemem 12 V-on), ami elég terhelés volt, és így már stabil feszt adott. Persze lehet, hogy a mostani tápokra ez már nem igaz. Vagy ha pl. a led sort is ez hajtja, akkor eleve van terhelés.
A házba építéssel nagyon vigyázz! A nano vezetékei kimennek, ha valami gond van, az valakinek az életébe és a Te börtönödbe kerülhet! Ha csak BT kapcsolat van a külvilággal, akkor az más.
Én is ezért csak 48V-ig vagyok hajlandó elmenni, mert ha valaki töketlen elkezdi babrálni és baj lesz, engem csuknak le. Ezért 230V kapcsolgatásához én kizárólag a SONOFF-ot
(http://www.ebay.com/itm/Sonoff-ITEAD-WiFi-Wireless-Smart-Switch-Module-ABS-Shell-Socket-for-DIY-Home-/182145570833?hash=item2a68b8d811:g:7GkAAOSwR5dXRGWF) használom. -
Janos250
őstag
válasz
Teasüti #4399 üzenetére
Én valami ilyesmit képzelnék el:
Ez van elöl:
class Akarmi{
private: // vagy protected vagy public
static int hanydarabVanBelole = 0 ;
public Akarmi (uint8_t parameter1) ; //ez a konstruktor
.
.
.
};Akarmi::public Akarmi (uint8_t parameter1) { // klonstruktor részletes leírása
// Itt használod a hanydarabVanBelole static változót, pl növeled eggyel, vagy akármi
} ;
destruktornál fordítva
Aztán a loopban példányosítod:
new-val létrehozod, delete-el megszünteted. (Elméletileg így van, de ezt én nem szoktam használni)
A static változót pl a loopban is tudod használni, ha kell,
így :
Akarmi::hanydarabVanBelole -
Janos250
őstag
válasz
Teasüti #4397 üzenetére
Ha static van a dklarációban, akkor abból a változóból nem jön létre példányonként egy-egy, hanem az osztályhoz ÖSSZESEN 1, amit bármelyik példányból elérhetsz.
pl.:
http://www.cprogramming.com/tutorial/statickeyword.html -
Janos250
őstag
válasz
Teasüti #4394 üzenetére
Még annyit fűznék hozzá, hogy ha több példányt gyártasz, és szüntetsz meg, akkor ha tudni akarod valami miatt, hogy hány példánynál tartasz, akkor az a static változó, amit a konstruktorban növelsz eggyel, a destruktorban meg csökkentesz. Ez pl. olyankor hasznos, hogy egy adott erőforrást (pl. ugyanazt a timert) ne foglald le egyszerre többször, de lehet, hogy ez most nem fontos.
-
quint
aktív tag
-
válasz
Teasüti #4365 üzenetére
Szerintem meg lehetne próbálni akusztikusan, ultrahanggal megrezgetni az alumínium rudat, és mikrofonnal lehallgatni, ahol megérinti vki, csomópontot képez az ujjával, mint egy húron. Persze ha ledsor is rá van rögzítve, valószínű nem fog rezgésbe jönni, de kiindulásnak talán jó.
-
fpeter84
senior tag
válasz
Teasüti #4362 üzenetére
Szerintem tömör fémtestnél ezt nem nagyon fogod tudni érzékelni... Viszont ha a touch-os fényerőszabályzás a célod, akkor nézz utána az SGL8022 célcsippnek. Nekem pont a napokban hozott egy marékkal a ződmikulás. Ki még nem próbáltam, de youtubeon lehet találni csomó videót amin látszik a viselkedése a különböző program módjaiban...
-
Teasüti
nagyúr
válasz
Teasüti #4362 üzenetére
Capacitive touch slider érdekelne, de nem találok hozzá tutorialt.
Egyetlen egy releváns videót találtam róla, de ehhez meg nincs leírás.
Nézegettem a Disney féle Touché implementálását is Arduino alá, de az meg nem egészen erre való, illetve overkill, meg tanítani kell.
A fenti videó lenne a legjobb, csak annyi infó kell kimenetnek, hogy a hosszú lécet hol érintik meg a két vége között. -
Janos250
őstag
válasz
Teasüti #4251 üzenetére
"Egyébként ezt a mai világban nevetségesnek tartom, de bakker jól jön másfél KB így a rom végén"
Csak halkan kérdezem:
Nem kellene átállni ehelyett az öreg proci helyett valami korszerűbbre?
Mert ez a proci nem a "mai világ", hanem egy régebbi világ!
Ugyanilyen árért sokkal korszerűbbek is vannak! -
fpeter84
senior tag
válasz
Teasüti #4246 üzenetére
ez nekem egy mezei eljárásnak tűnik...
void valami()
{
lcd.setCursor(0, 1);
lcd.write(byte(2));
lcd.setCursor(2, 1);
}
...
case 30: //LED max brightness
lcd.print(F("Max brightness:"));
valami();
lcd.print(Bmax);
break;
case 31: //LED min brightness
lcd.print(F("Min brightness:"));
valami();
lcd.print(Bmin);
break; -
fpeter84
senior tag
válasz
Teasüti #4238 üzenetére
Ezt az I2C vagy RTC problémára érted? I2C-nél próbálkoztam a HardWire-el is, ugyanúgy viselkedett... RTC ügyben nem igazán látom értelmét mást vadászni, mert túl egyértelműen a gyári kvarc a bűnös... Félretettem a leműtött kvarcot és majd próbálgatom még ha lesz rá időm, akár teljesen idegen procira kötve is, illetve van még pár ugyanilyen STM32 mini boardom is, azokat is majd megkínálom hajszárítóval hogy hogyan viselkednek
-
zka67
őstag
válasz
Teasüti #4167 üzenetére
Szia, nem minden esetben:
Ilyesmire gondoltam első lépésben, szerintem ez kisebb kódot generál:
if (menu >= 80) {
if (menu <= 86) {
rtc[86-menu] = 0;
if (++menu > 86) menu = 80;
} else
if (menu <= 94) {
evening[94-menu] = 0;
if (++menu > 94) menu = 90;
} else
if (menu <= 104) {
morning[104-menu] = 0;
if (++menu > 104) menu = 100;
}
// ehelyett
case 81:
rtc[5] = 0;
menu++;
break;
case 82:
rtc[4] = 0;
menu++;
break;
case 83:
rtc[3] = 0;
menu++;
break;
case 84:
rtc[2] = 0;
menu++;
break;
case 85:
rtc[1] = 0;
menu++;
break;
case 86:
rtc[0] = 0;
menu = 80;
break;
case 91:
evening[3] = 0;
menu++;
break;
case 92:
evening[2] = 0;
menu++;
break;
case 93:
evening[1] = 0;
menu++;
break;
case 94:
evening[0] = 0;
menu = 90;
break;
case 101:
morning[3] = 0;
menu++;
break;
case 102:
morning[2] = 0;
menu++;
break;
case 103:
morning[1] = 0;
menu++;
break;
case 104:
morning[0] = 0;
menu = 100;
break; -
zka67
őstag
válasz
Teasüti #4158 üzenetére
Szia, kód feltöltésére ott van pl. a http://data.hu/
A kódodhoz pedig annyit tudok hozzátenni, hogy optimalizálni kell. Nem néztem ugyan teljesen végig, de látszik belőle, hogy ugyan azokat a dolgokat írod le ezerszer, és ezeket ezerszer beleteszi a fordító a programodba.
A helyedben én táblázat alapján kezdenék neki, amit persze nem most fogok kitalálni neked, csak mint egy lehetőséget mondok. Ez a case ... case felejtős. Ahogy azért belenéztem, van morning, rtc stb.. tömböd, amiknek ugyan azokat az elemeit változtatod más más menükben. Ezeket lehetne egy két indexű tömbben tárolni, és nem case-vel, hanem if-fel és a gombok számából számolt indexxel dolgozni, vagy a gombok számát egy tömb alapján konvertálni indexszé, és a végén ha kell, elég egyszer is beletenni pl. a menu++ -t.
-
Janos250
őstag
válasz
Teasüti #4133 üzenetére
"Kettő között mit csinálsz?"
Semmit, várom az idő múlását. A mikrokontrollerek az idejük döntő részében ezt csinálják: várnak
"Vagy itt is van már loop1, loop2, stb?"
Még nem találkoztam vele.
"Viszont azt megnézném hogy hozod össze delay nélkül mikroszekundum szinten a dolgot!"
72 MHz órajelnél 1 microsec az 72 utasításnyi idő. Van regiszter, ami az "órajeleket számolja".
Ezért indításkor letárolom, hogy éppen hol tart, majd figyelem, hogy a pillanatnyi és a letárolt különbsége mennyi. -
Janos250
őstag
válasz
Teasüti #4131 üzenetére
"Ennél viszont ezt hogy lehet kivitelezni delay nélkül?"
A delayt ugyebár mellőzni szoktuk, helyette valami hasonlót alkalmazunk:
https://www.arduino.cc/en/Tutorial/BlinkWithoutDelay
Pontosság növelése érdekében a proci órajelét számláló regiszter tartalmát figyeljük a millis() helyett.
Itt annyi a könnyebbség, hogy a magas szint hosszát nem kell figyelni, mert azt a hardver elintézi, csak a ciklus végét kell nézni.
Ebben jóval nagyobb a tolerancia, mint a magas szint hosszában.
Persze lehet halmozni az élvezeteket, és az előre összeállított adatok kivitelét interruptal megoldani: amikor vége a ciklusnak, interrupt, és egy újabb bit.
Vagy a magas szint lejártára interrupt, mert akkor már "feltölthető a következő bit", és akkor mehet folyamatosan a PWM, nem kell bitenként újra indítani.
Lehetőségek tárháza bőséges, csak a fantázia szab határt.
"De akkor ez az idő nem lenne ugyanúgy elég bitbang esetében is (nem tudom melyik művelet gyorsabb)?"
De, csak akkor a magas szint idejét is figyelni kell, ami sokkal precízebb időzítést igényel, mint a két egymást követő bit időzítése. De megoldható, persze. Vagy akár ezt is interrupttal intézed. -
Janos250
őstag
válasz
Teasüti #4129 üzenetére
"És két bit között folyamatosan változtatja a paraméterezést a szoftver? Ez nagyon perverz módszernek hangzik, még ha lehetséges is."
Némileg az.
"Az MCU pwm vezérlőjének basztatásához nem kell a processzor?"
De, kell. A bit küldés indításhoz. Egy adott bit küldésének a megkezdése és következő közötti idő elég ahhoz, hogy a megszakítások lekezelésre kerüljenek.
A 72 MHz olyan, mint a 640 kByte: "mindenre elég"
"hogy lesz ebből "multitasking"? "
Igazi multitasking ebből sehogy. Még olyan se, mint pl az ESP8266-on a loop1, loop2, stb. módszer, ahol minden wait, vagy "wait" átadja a vezérlést a másik loopnak.
"Teszem azt ha bejön egy megszakítás és az ISR végrehajtása közben megszakad az adatküldés, mert nincs idő basztatni a PWM vezérlőt?"
De, van idő. Nem szakad meg, mert a hardver csinálja. Csak az indításhoz kell a proci. Az indítás után min 1.2, max néhány microsec idő van. Olyan megszakítást persze nem bír el, ami néhány microsecnél hosszabb.
"kétszer akkora ROM-ja elég meggyőző."
Így van!
DMA ügyben azok válaszoljanak, akik jobban értenek a témához, mint én.
Új hozzászólás Aktív témák
Hirdetés
- Konzol felvásárlás!! Xbox Series S, Xbox Serries X
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- LG 27GS60QC-B - 27" Ívelt - 2560x1440 - 180Hz 1ms - AMD FreeSync - Bontatlan - 2 Év Gyári Garancia
- Samsung Galaxy A40 64GB, Kártyafüggetlen, 1 Év Garanciával
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X3D 32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged