- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- eBay-es kütyük kis pénzért
- Mr. Y: Motoros sztorik #06
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- NASsoljunk: ZyXEL NSA-310 és az FFP
- Őskoczka
- gban: Ingyen kellene, de tegnapra
-
LOGOUT
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
-
tibi-d
tag
Sziasztok!
Kéne egy kis ötlet, hogy az Atmega2560 belső EEPROM teljes tartalmát kéne átmásolni egy 24LC256 EEPROM-ba. Nem egy konkrét kód kéne, hanem a stratégia. Köszi. -
tibi-d
tag
Sziasztok!
Próbált-e valaki Atmega 2560 EEPROM tartalmat kiírni SD kártyára, majd onnan visszamenteni? A GOOGLE-n erre az esetre nem találtam példát. (lehet, nem jó helyen kerestem). -
tibi-d
tag
válasz
Dißnäëß #16465 üzenetére
Szia!
A szilárd test relének van egy jó tulajdonsága, hogy mindig a vezérlés megjelenése utáni első nullátmenetnél kapcsol be, és a megszűnés utáni nullátmenetnél kapcsol ki. Így semmilyen tranziens nem keletkezik. A hálózaton már meglévővel a szilárd test relé sem tud mit kezdeni. -
tibi-d
tag
Az után érdeklődöm, hogy Adafruit GFX-hez létezik-e ékezetes fontkészlet? Ha nincs, mivel lehetne fabrikálni hozzá?
Köszi. -
tibi-d
tag
válasz
repvez #13475 üzenetére
Sajnos ez a feladat még ipari technikával is nehéz feladat, mert a szelep zárásával nem lineárisan változik a levegő mennyisége. A szelep fél állásában, szinte még semmit nem csökken a légáram. Ha precízen kéne légáramot szabályozni, akkor kéne egy ballon, aminek a nyomását lehetne szabályozni, és egy állandó keresztmetszetem elszállítani a levegőt. Így a nyomással arányos lesz a szállított levegő mennyisége. Ehhez szabályzó elemeket nem könnyű beszerezni, és az áruk nincs arányban a lehetőségekkel.
-
tibi-d
tag
Sziasztok!
A következő feladat megoldásákoz kérnék ötleteket.
A feladat leegyszerűsítve: Van 1-100-ig terjedő számsor. Ezt kell véletlenszerűen összekeverni ismétlés nélkül (egy szám csak 1X szerepelhet). Ez lesz egy függvény bemenő adata. A függvény 100X lefut, majd újból összekever, és így ismétlődik, amíg szükséges. Igazából az összekeverés része érdekelne, hogy minél véletlenszerűbb legyen az eredmény. -
tibi-d
tag
válasz
zsolti_20 #12234 üzenetére
Ha veszel egy hardvert, ahhoz a gyártó mellékeli a drivereket (library) ezt beépíti a termék árába. ( Egy videokártya árában is benne van a driver ára, és senki nem kérdezi, hogy beépítés után mire használod.) Innentől kezdve szabadon használhatod, mert fizettél érte. Szerintem.
-
-
tibi-d
tag
Mivel RC oszcillátorok dolgoznak, a frekvencia változhat. 2 bitnél még ez a módszer működhet, de ha növelni akarom a bemenetek számát, hatványozottan változik a kombinációk száma. Ezért ez az impulzus számlálós módszer előbb utóbb korlátokba ütközik. Ezért érdeklődtem valami más lehetőség után.
-
tibi-d
tag
válasz
Janos250 #11874 üzenetére
A jelenleg a 2 bites verzió úgy működik, hogy egy CD4093 kapukkal 3 db astabil multivibrátort engedélyezek digit bemenetekkel. Az "első" egy 0.5s ismétléssel állít elő 50ms impulzust. Ennek jelével és a digit bemenetekkel engedélyezem a másik két multivibrátort. Így előáll egy olyan jel, ami 0.5 másodpercenként ismétlődő 1, kb10, kb100 impulzust állít elő. A vevő oldalon ezeket az impulzusokat számolom meg, és ennek függvényében vezérlek kimeneteket. Ha egyáltalán nem érkezik impulzus, 5 másodperc után minden kimenetet letiltok. Az adó oldali fogyasztás 1-2mA körül van. Ez azért fontos mert akkumulátorról üzemelne, és nem akarok hetente akksit cserélni . Egyébként ez egy kerti víztartály szintmérésével és töltésével összefüggő projekt része lenne ( a tartály messze van az elektromos rendszerektől, és nem akarom feltúrni a fél kertet). Később esetleg adaptálni lehetne automata öntözőrendszer kiépítéséhez is.
-
tibi-d
tag
U.i.
A transmitternek max. 4kbit az átviteli sebessége. -
tibi-d
tag
Sziasztok!
Próbálkozott már valaki 1 csatornás rádió transmitterrel 1 digitnél több jelet átküldeni, és dekódolni? Cél, az adó oldalon minél egyszerűbb kis fogyasztású áramkörökkel (CMOS) megoldani a kódolást, vevő oldalon már lehet arduino is. 2 digit már megy, de nekem 4 kéne.
A tippeket előre is köszi. -
tibi-d
tag
válasz
balintarduin #10309 üzenetére
Amit leírtam az a le-fel, belép-vissza menüszervezésre vonatkozott. A 4X3-as mátrixhoz van Library. Azt kell leprogramozni, hogy hány karaktert akarsz egymás után beolvasni. Ha 3-at, akkor az (1.)X100 + (2.)X10 + (3.). A menü száma meg is van. Ha végrehajtottad a menühöz tartozó rutint, a menü számát törlöd, és már kérheted a következő számot.
-
tibi-d
tag
válasz
balintarduin #10303 üzenetére
Szia!
Úgy oldottam meg az én menürendszeremet, hogy bevezettem egy változót (MenuNumber) aminek az értékét attól függően változtatok, hogy éppen melyik menüben vagyok. Főmenü (1-9), Almenük (11-99) Al-almenü (111-999) stb. Így 5-6 mélységű menürendszert is lehet kezelni. Egy menüvel feljebb egyszerű 10-es osztással lehet jutni. -
tibi-d
tag
válasz
csubuka #9714 üzenetére
Szia!
A gyári GSM modul egy önálló mobiltelefonnak tekinthető, saját vezérlőszoftverrel, ami PC-vel paraméterezhető. Az indító bemenetre (12V toleráns) adott jellel küldhető SMS. Egyes tipusoknak kimenete is van, ami ráhívással, SMS-el vezérelhető. A legolcsóbb 13-15eFt-tól indul, de 50-60eFt is lehet a vége. Nekem 8 bemenet, 8 kimenet van a panelen. Ez kb. 25-30eFt-ba kerül, mert biztonsági rendszerekhez készült megbízható kivitelű. Az Arduinóhoz gyártott 3-5eFt panelek üzembiztonsága nem ismert, ezért az autómat nem merném rábízni. A teszt konfigurációt a garázson tesztelem. Ha több hónapon keresztűl stabilan működik, talán akkor megpróbálom beépíteni az autóba. Mivel a rendszer folyamatos "stand by" üzemmódban működik, csak napi használatú autóba érdemes beépíteni, a relatíve magas fogyasztás miatt. -
tibi-d
tag
válasz
csubuka #9687 üzenetére
Az én projektem úgy fog kinézni, hogy a riasztó része lesz egy Nano (ki akarom hagyni a kezelő egységet), és a GSM modul egy gyári kivitel. A DSC riasztókat a tudásukhoz képest drágának találom, ezért hanyagoltam a megismerésüket. Nálam a SATEL vált be. Relatíve olcsó, laptopról könnyen programozható, és még nem volt vele problémám. A DSC is, mint minden riasztó 12V jelszinttel dolgozik, és rend szerint a test az aktív jelszintje. Ha Arduino-ra kell jelet küldeni, mindenképpen jelszint illesztés szükséges ( opto, relé, feszosztó, stb).
-
tibi-d
tag
válasz
bzolika10 #9477 üzenetére
Szia!
Én is bele estem ebbe a csapdába. Régebbi projektekben tökéletesen működő kijelző az újratelepített IDE-ben nem akart életre kelni. A legújabb könyvtárak nem kompatibilisek a régebbi kijelzőkkel. Nálam a HD44780-ra megírt könyvtár működik. A kijelzőt az "init" helyett a "begin"-el lehet elindítani. -
tibi-d
tag
Mindenben egyetértek az előttem hozzászólókkal. A megjegyzésem csak arra vonatkozott, hogy teljesen más szemlélettel kell programozni egy PLC-t, mint egy arduinot, és a váltás nem volt egyszerű. Saját tapasztalaton fizettem meg a tanulópénzt, hiába van rengeteg példa a neten.
-
tibi-d
tag
Ez nem teljesen igaz, mert a PLC utasítások között is van olyan, hogy bemenet azonnali lekérdezés. Ekkor az adott bemenetet(ket) frissíti. Vagy megszakítást lehet generálni. A korszerű PLC-k már mikroszekundumos ciklusidővel dolgoznak, és nemigen van olyan fizikai folyamat, ami igényelné az ennél rövidebb lekérdezést. A régi PLC-k a program méretétől függően akár 10-50 milliszekundumos ciklusidővel dolgoztak.
-
tibi-d
tag
válasz
vargalex #8882 üzenetére
A PLC-k úgy működnek, hogy a ciklus elején a fizikai "Input" területet bemásolják egy virtuális memória területre. Ezzel a memóriával dolgoznak a ciklus végéig. A ciklus végén a belső memóriaterület kiíródik a fizikai kimenetre.
Minden bemenet megtatrja állapotát a következő ciklus elejéig, az összes kimenet megtartja állapotát a következő ciklus végéig. Az arduinónál akár programsoronként ki-be tudom kapcsolgatni a kimeneteket, vagy soronként be tudom olvasni a bemenetet. -
tibi-d
tag
Sziasztok!
A topikot olvasva néhány szösszenet jutott eszembe. Munkám révén PLC programozás a fő profilom (OMRON, SIEMENS, stb). Arduinoval csak az utóbbi időben foglalkoztom. Nagyon nehéz volt áttérni egy olyan programozási logikáról, amikor a PLC bemenetére adott "1" a programban is "1", és a "0" az "0". A PLC a ciklus elején egyszer beolvassa, és beállítja az értékét. Az arduino ezzel szemben csak akkor foglalkozik a be/kimenetekkel, amikor a program futása oda ér. Beolvasáskor eldönti, hogy mit kell csinálni, és utána nem hoglalkozik vele tovább. Így az állapotok nem változnak, míg egy másik programrész nem foglalkozik a "témával". Így egy bemenetre adott "1" csak a beolvasás pillanatában lesz kiértékelve, és ha közben "0"-ra vált, az arduinot ez egyáltalán nem érdekli, csak ha újra beolvassuk az értéket. Ez nagyon sok galibát tud okozni a program futása során, főleg ha sorrendi vezérlést kell végezni. Pl. nem volt mindegy, hogy egy program melyik gombot olvasta be előbb, stb. A prellegés mentesítés a másik ilyen probléma, amire számos példa található a neten. Összefoglalva, nem mindíg a logikusnak gondolt megoldás a legcélravezetőbb. -
tibi-d
tag
válasz
gyapo11 #8814 üzenetére
Kössz a tanácsot. Nekem az a gondom, hogy a készülék nincs állandóan bekapcsolva. Így ezek szerint el kell tárolnom a kikapcsoláskori időt, majd a bekapcsoláskor ki kell számítani a külömbséget. Ekkor sejthető a késés mértéke, és ezzel az értékkel újra be kell állítani az órát. Ha pedig működik a készülék, akkor elég mondjuk óránként korrigálni. Szólj, ha rosszúl értelmeztem.
-
tibi-d
tag
Sziasztok!
Van egy DS3231 RTC modulom. Azt vettem észre, hogy sokat késik. 24 óra alatt több mint 1 percet. Lehet-e szoftveresen a pontosságán állítani, vagy másikra kell cserélni. -
tibi-d
tag
válasz
Teasüti #8211 üzenetére
A PIR-ek működési elvüknél fogva lassúak. Ezek hőtömeget érzékelnek. Ha egy ember elhalad előtte, az néhány másodpercig tart. Ezt folyamatosan érzi. Ha már nincs előtte a hőtömeg, kikapcsol. Lehet kapni "Függöny" lencsét az érzékelők elé, ez kb. 20-50cm-re szűkíti az érzékelési tartományt. Egy próbát megér.
-
tibi-d
tag
válasz
Teasüti #8186 üzenetére
Szervusz!
Én egy századmásodperces stoppert készítettem két fénysorompóval. Az érzékelők tükörreflexiós lézerrel működtek. Ha az egyik érzékelő lézerét megszakították, akkor elindult a stopper, ha a másik lézert szakították meg, akkor megállt. Mivel strapabíró, megbizható érzékelés kellett, a lézerek ipari kivitelüek voltak. Ebből következik, hogy a projekt legdrágább komponensei voltak. -
tibi-d
tag
Sziasztok!
Van egy OPEN-SMART 3.2' 400X240 ILI9326-os TFT kijelzőm. Próbáltam tesztelgetni különböző példaprogramokkal . Némelyikük működött, többségük nem. A problémám az, hogy feltételezhetően valamelyik program átírta a TFT ID-jét, és felbontását. ID 9302, a felbontás 320X240 lett. Így azok a programok sem működnek, amelyek korábban futottak. A kijelző egy UNO-ra van ültetve. Hogyan lehetne visszavarázsolni az eredeti adatokat a kijelzőbe.
Köszi a segítséget. -
-
tibi-d
tag
Az éldetektáláshoz, prellmentesitéshez egy kis szösszenet. A mechanikai mozgást használó kontaktusok mindig is prellegni fognak. A felhasználás célja dönti el, hogy éldetektálás, vagy prellmentesítés a célravezetőbb. Az első esetben a kontaktus első impulzusát detektáljuk, és a többiről nem veszünk tudomást egy ideig, a második esetben megvárjuk, hogy a kontaktus stabilan egy előre beállított ideig tartja az értékét. Abban az esetben, ha az élt is figyelni kell, és egyetlen fals impulzus sem megengedett, ebben az esetben csak elektronikus érzékelők alkalmazhatók. (Mágneses, kapacitív, opto, stb.)
-
tibi-d
tag
Az informatikát még mostanság is tisztán elméleti "szakmának" tartják. Ha valaki matekból jó, és logikus gondolkodással van megáldva, akkor egy "szakácsból" is lehet informatikus. A kütyü egy fekete doboz, csak azt kell megmondani, mit csináljon. Az Arduino ennél fapadosabb eszköz, mert itt a "fekete dobozt" is meg kell építeni. Ehhez kell némi elektronikai alapismeret. Szerencsére nagy és segítőkész gárda alkotja a táborát.
-
tibi-d
tag
A tanulással kapcsolatban valóban többféle út járható. A feladatból visszafelé haladva tanulásnak meg van az a hátúlütője, hogy nem biztos, hogy a legjobb megoldás kerül felszinre. Alaposabb háttérismerettel több lehetőségből választva hamarabb célhoz lehet érni. Annak idején azért indultam magasabb iskolákba, mert elegem lett abból, hogy minden apró cseprő dologért valakit kérdezgetnem kell. Szerencsémre a tanáraim is gyakorlati emberek lévén nem az emeletes képletekek kérték számon, hanem a célravezető megoldást. Azt vallom, hogy egy stabil alap kell, de nem a lexikális tudás a lényeg, hanem, hogy megtaláljuk a megfelelő információt.
-
tibi-d
tag
A prellmentesítés mindkét megoldása helyes. Az, hogy melyiket mikor alkalmazzuk, az az elvégzendő feladattól függ. Pl. ha ez a kontaktus egy számlálót engedélyez, ami több kilóhertzes jelet számól, nem mindeggy, hogy az első felfutó élre triggerel, vagy a már stabil 1 szintre. Ez utóbbi minden kapcsolásnál más és más időpontban lehet. Ilyenkor több száz, ezer impulzus elveszhet. Ha csak a megnyomás ténye a lényeges, bármelyik eljárás célravezető lehet.
Az előző bejegyzésben a "0" késleltetést a megnyomásra és az elengedésze is értettem. -
tibi-d
tag
Sziasztok!
Szerintem ha valakinek nagyon fontos a "0" késleltetésü prellmentes kapcsolás, és nem sajnál érte egy kis többlet forrást áldozni, az vesz egy hall elemes nyomógombot. A 20 évvel ezelőtti billentyűzetek is ilyenekkel voltak szerelve. A cégnél még ma is van működő példány belőle. -
tibi-d
tag
válasz
gyapo11 #6357 üzenetére
Ez így szép és jó, de akor mi figyeli ha a monostabil romlik el, vagy a relé megy tönkre. Sajnos kompromisszumot kell kötni az ésszerűség, és a gazdaságosság oltárán. Olyan bonyolulttá válhat az egész, hogy azért fog elromlani. Szerintem a lehető legkevesebb alkatrészből kéne megoldani a problémát. Ha a fet jól van kiválasztva, nagyon kicsi a valószínűsége, hogy tönkremenjen. Legalább is kisebb mint egy mozgó elemeket tartalmazó relének.
-
tibi-d
tag
A PWM frekvencia 490-980Hz. Ez a freki a kondin rövidzárként adja tovább az arduino jelét, így a fet a PWM jelnek megfelelően dimmeli a ledeket. Ha a program szerint az arduino kimenete stabilan LOW, vagy HIGH állapotban van, akkor a kondi szakadásként viselkedik, igy a tranyó lezár, a fet kinyit, így a ledek teljes fénnyel világítanak. Az elképzelésed rajzold le, hogy lássuk.
-
tibi-d
tag
Én jelenleg egy autóriasztó projekten dolgozok, ami SMS-ben is értesít az eseményről. Tudja mindazt amit a "nagyok" kiegészítve egy-két "csapdával", ami egyedivé teszi, és így nem tudják hatástalanítani. Egy nano lesz beépítve, GSM modullal. Lehet, hogy beleprogramozom azt a funkciót, hogy sötétben kanyarodákor felkapcsolja a megfelelő ködlámpát a kanyarodás idejére.
-
tibi-d
tag
Úgy látom legegyszerűbben úgy juthatunk dűlőre, ha mellékelem a kapcsolást amiről a diskurzus folyik. Ezt lehet kiegészíteni "cicomázni", de ennél egyszerűbb megoldást nem tudok. Ha van, én is tanulok belőle.[kép]
-
tibi-d
tag
válasz
gyapo11 #6318 üzenetére
A cél, hogy a fet nyitva maradjon bármi hiba adódik. Ha az N-csatornás fet a testet kapcsolja, akkor a gate-re kötött felhúzó ellenállás nyitja a fetet. A gate és a föld közé iktatott NPN tranyó pedig zárja a fetet. Az NPN tranyó bázisa és a föld közé beiktatott ellenállás vezérlés nélkül zárva tartja a tranyót. Az arduino kimenete és a tranyó közé kell a kondi (ha erre gondoltál, ez adja a monostabil multivibrátort) a védelmi alkatrészekkel ellátva. Ha az arduino bármilyen okból nem működik, és a kimenete stabilan valamelyik szinten ragad, a kondi vagy kisül, vagy feltöltődik, de az NPN tranyó egy pillanatnyi késéssel lezár, a fet kinyit. A kondit úgy kell megválasztani, hogy a PWM frekin közel rövidzárként viselkedjen. Ha a pozitív ágat vezérelné a fet, kéne még egy PNP tranyó szintillesztés céljából.
-
-
tibi-d
tag
PWM vezérlésnél csak azt kell figyelembe venni, hogy 0%-nál teljes fénnyel világít, 100%-nál sötét.
-
tibi-d
tag
Igazad van, jogos a 2 pont. Csak azt kell biztosítani, hogy bootolás idején se nyithasson ki az NPN tranyó. Az arduino ebben az esetben csak megakadályozni tudja a féklámpa kigyulladását, ha megjön a 12V a fet "S" lábára, ha a programja szerint ezt kell tennie. Minden más esetben a lámpa világít.
-
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.
-
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.
-
tibi-d
tag
A félvezetők működéséhez egy kis adalék:
http://tudasbazis.sulinet.hu/hu/szakkepzes/elektronika-elektrotechnika/felvezeto-aramkori-elemek -
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). -
tibi-d
tag
Jelenleg egy Mega2560 vezérel egy műszert. A program futása során keletkeznek adatok, amit el kell tárolni, hogy a következő induláskor azokat visszaolvasva (paraméterek, mérési procedúrák, stb) ott folytathassa a mérést, ahol abbahagyta. Mint mondani szokták, evés közben jön meg az étvágy. Egyre több funkciók kérnek akik használják. Így kezd betelni a programmemória, és kezd lassúlni a rendszer. Ezért gondoltam, hogy egy erősebb hardvert kéne választani, de nem akarnám újraírni az egész programot.
-
tibi-d
tag
Sziasztok!
A kérdésem az lenne, hogy létezik-e olyan mikrokontroller mint a Mega2560, csak gyorsabb (40-80Mhz), és van benne EEPROM is? Amiket találtam az vagy gyorsabb, vagy van benne EEPROM. Olyant, hogy gyors is és nem felejtő memória is van benne, nem találtam. De lehet, hogy rossz helyen kerestem.
Köszi. -
tibi-d
tag
válasz
#43680768 #5828 üzenetére
Találtam egy elgondolkodtató megoldást, érdemes ötletet meríteni belőle.
https://programmingelectronics.com/arduino-controlled-battery-charger/
A segédtápokat mindenképpen lecserélném kapcsolóütemü kivitelre, mert 30V-ból 5-12V-ot így előállítani nagyon veszteséges, és az IC-k erősen melegednének. A hall elemes áramérzékelés nagyon ötletes megoldás. -
tibi-d
tag
válasz
#43680768 #5824 üzenetére
Az "áramot is" kifejezésből arra következtetek, hogy egy tápegységnek a feszültségét, és áramkorlátját is arduinoval szeretnéd állítani. Ez azért bonyolult feladat, mert az arduino PWM jelet állít elő a test és a tápja között. Ebből szűrés után lehet "analóg" jelet előállítani. A probléma a referenciaponttal van. A fezsültségszabályzónak a referenciapontja a test, az áramszabályzó referenciapontja a mindenkori kimeneti fezsültség. Ezt illeszteni az arduinóhoz csak galvanikus leválasztás után lehetséges. Más a helyzet, ha csak áramgenerátort akarsz építeni, mert akkor az arduinó referenciapontját lehet kötni a kimenetre, vagy a szabályzó a test felől szabályoz "negatív szabályzás".
-
tibi-d
tag
Harminc évvel ezelőtt, mikor a saját erősítőmet építettem, én is mertem nagyot álmodni, de én infravörös távirányításúra építettem. Természetesen a Quad405 végfokra épült. A távirányító egy videoton TV adó-vevő egység volt, az előerősítő TDA1028, TDA1029, TDA1524 triumvirátusra épült. Ebben az időben földi halandó csak álmodhatott a microvezérlőkről. Ma biztos egy WI-FI, Kékfog, mobil kompatibilis erősítőt készítenék. A végerősítőt hagynám meg. A Quad 405 továbbfejlesztett változatát építemén meg. Amatőr utánépítésre szerintem még nem találtak jobbat.
Egy kis kedvcsináló: http://www.bsselektronika.hu/index.php?w=h6twlJTfnj .
A hangfrekvenciás jel feldolgozásához sokkal erősebb vezérlőre van szükség, minimum RPi3 és barátaira. Az audiofilek ezt is szentségtörésnek vennék. Szerintem a legegyszerűbb, és a legjobb a jó öreg sztereó potméter, még ha manuálisan kell is vezérelni. -
tibi-d
tag
válasz
haxiboy #5658 üzenetére
Szia!
Ez egy vezetékes telefonvonal szimulátor egység. Arra való, hogy ha eltünik a vezetékről a feszültség (elvágják a zsinórt), akkor azt helyettesíti a telefon számára és átkapcsol GSM kommunikációra, úgy, hogy a telefon ebből semmit nem vesz észre. Tehát csak egy átjátszó szerepét tölti be. Minden jelet amit a telefon felől kap, azt továbbküldi. Általában biztonsági rendszerek Contact ID kódjainak továbbítására szokták használni. Ezeket a kódokat tudja értelmezni, és ha kell SMS üzenetet is tud küldeni. Szerintem bonyolult számítógépes kódok küldését nem szabad elvárni a masinától, hacsak nem "faxmodemes" nyelvre le lett fordítva. -
tibi-d
tag
válasz
DrojDtroll #5547 üzenetére
Szervusz.
Sajnos ez nagyon is valószínű. Én is belefutottam egy olyan problémába, hogy egy megszakítás timer gyakrabban hívta meg a szubrutint mint az (hibás programozás miatt) lefutott volna. Így a program mindenféle hülyeséget csinált, de legfőképpen a végrehajtási ciklusa nőtt meg drasztikusan. Azóta minden megszakítás által meghívott rutinba teszek egy "végrahajtva" feltételt, addig nem engedem újrahívni. -
tibi-d
tag
Sziasztok!
Kéne egy kis impulzus a következő feladathoz. Egy nyomógomb funkciójának kiterjesztése lenne a feladat. Ha röviden (<1s) nyomom a gombot, akkor egy változó értékét minden gombnyomásra növelje 1-el, ha hosszan (>3s) akkor egy másik változónak adjon új értéket 5s-ig, majd adja vissza a régit. Természetesen ezalatt az idő alatt a többi programrészlet zavartalanul végezze a dolgát.
Köszi az ötleteket. -
tibi-d
tag
Én úgy derítettem ki, hogy a nano füsttel működik, hogy a külső tápról működő nano-ra rádugtam az USB kábelt is. Érdekes módon a processzor túlélte, és az addig betöltött program működik, de feltölteni már nem lehet, és a PC sem ismeri fel.
-
tibi-d
tag
Egy korábbi projektben "20X4 LCD-vel kifogástalanúl működött.
-
tibi-d
tag
Belefutottam egy problémába. Egy ITDB32S kijelzővel megspékelt Mega2560 konfiguráció addíg tökéletesen fut, amíg az "ads.readADC_Differential_2_3()" utasítást végre nem kell hajtania. Ha ezt az utasítást kell futtatnia, egyszerűen "lefagy". A kijelző egy része elsötétül, és csak a reset segít. De a Single utasításra is kiakad.
Ha nem jutok dűlőre, megy a kukába az ADS1115. Köszi a tanácsokat. -
tibi-d
tag
válasz
fpeter84 #4506 üzenetére
Szia
A koncepció pontosan ezen az elképzelésen alakult. A problémát az okozta, hogy ezt a diagram rajzoló rutint más blokkok hívják meg, és a keveredést a lokális, globális változók okozták. Egy változót globálissá kellett tenni, hogy a következő meghíváskor is megtartsa az értékét. Lokálisként mindig lenullázta magát. Így már tökéletesen működik. Köszi. -
tibi-d
tag
Sziasztok
Kéne egy kis segítség. Egy ITDB32S TFT kijelzőre kellene szerkesztenem egy oszlopdiagrammot, aminek a magassága változik egy változó függvényében +/- irányban. Már növelni tudom az oszlop magasságát mindkét irányban, de csökkenteni az úristennek nem akar. Keresgettem a neten, de használható infóra nem leltem. Minden ötlet jól jönne. -
tibi-d
tag
Ahogy írtam tovább a programot, kíváncsiságból aktiváltam a billentyű rajzoló programutasításokat, és láss csodát, hiba nélkül feltöltötte, és működik is. Erre mondják, hogy varjunk rá gombot.
-
tibi-d
tag
Ha nem jutok dűlőre, gondoltam arra is, hogy minden egyes képernyőt megrajzolok BMP-ben, és behívom ha szükséges, a billentyűket meg láthatatlanul definiálom. Sajnos még nem találtam olyan rajzolóprogramot, mellyel egyszerűen lehet rajzolni pixeles nézetben. Bár a korábban vázolt esetnek is valami oka kell, hogy legyen.
-
tibi-d
tag
Az lemaradt, hogy a gombok működnek, (ha az előbbi utasítás nélkül töltöm fel a programot) csak nem láthatóak.
-
tibi-d
tag
Van egy másik probléma, amit nem tudok mire vélni. Egy kódrészletet a fordító hiba nélkül lefordít, de feltöltésnél "Egy hiba lépett fel a vázlat feltöltése közben" üzenetet kapok, amikor a program tartalmazza a "myButtons.drawButtons();" utasítást is. Ilyenkor a panel kommunikációs LED-jei gyors villogás helyett kb. másodpercenként villannak fel, és kb. 1 perc után küldi az üzenetet.
-
tibi-d
tag
Sziasztok!
Belefutottam egy olyan problémába, amit korábban minden gond nélkül tudtam alkalmazni.(Igaz akkor 20X4-es LCD-t használtam.) Egy 3.2"-os TFT-vel kísérletezek (UTFT könyvtárak). Konkrétan a funkcióhívásokra dob hibát a fordító.if (x==y) Menu();
void Menu ()
{
}Erre írja ki az if-el kezdődő sorra, hogy 'Menu' was not declared in this scope".
Ez most az 1.6.13-as IDE hibája lehet?
-
tibi-d
tag
Van még egy 4.3'-os TFT kijelzőm (ITDB43). Ezen is elvégzem a kalibrálást, de a "Button" tesztelésnél egyáltalán nem reagál az érintésre. Itt mi lehet a gond?
-
tibi-d
tag
Sziasztok!
Adott két Mega 2560 panel. Rajtauk egy-egy 3.5"-os TFT (ITDB32S) kijelző. Mindkettőnél elvégzem a touch-pad kalibrálását ugyanazzal a progival, átírom az UTouchCD .h-ban lévő értékeket. Az egyik jól érzékeli a tapintást, a másik, úgy veszi, mintha kb a 1/8 lenne a kijelzőméret. (A bal fölső sarokban leképezi a teljes kijelzőfelületet.)
Mit lehet ilyenkor tenni? -
tibi-d
tag
válasz
gyapo11 #3911 üzenetére
Ez a megállapítás "működött ugyan a szivattyú, de sokkal erőtlenebbnek tűnt" erősen szubjektív, és fizikai paraméterekkel nem igazolható megállapítás. Valószínűleg nem a PWM vezérlés az észrevétel oka. Lehetséges, hogy nem a feladat kívánalmainak megfelelő kialakítás, paraméterezés vezethetett a megállapításra. Egy másik megoldás látszólagos sikere elvonta a figyelmet a probléma részletesebb tanulmányozásáról, megoldás kereséséről. (Megkérdem a többieket, hátha tudnak valami okosat mondani.) "Valószínűleg én is a könnyebb utat választottam volna."
Üdv. -
tibi-d
tag
Ez a módszer bármilyen vezérlővel működik. Ha lenne visszacsatolás a fordulatról, akkor PID szabályzóval még precízebb szabályzás is megvalósítható.
-
tibi-d
tag
Bocs, hogy belekotnyeleskedek a vitába. Egy 12V 1-2A motor vezérlését Arduinoval a legegyszerűbben úgy lehet megoldani, hogy kell venni néhány száz forintért egy H-bridge-t. Közvetlenül ráköthető az Arduinora. Mindenfajta szűrés teljesen felesleges, csak a veszteségeket növeli, meg a hőt. Kísérletileg meg kell határozni, hogy mekkora PWM értéknél indul el a motor, és a vezérlést úgy kell megírni, hogy ha a vezérlőjel "nem 0" akkor a minimális értéktől indítani a vezérlést. Így a motor meg fog indulni, nem tűnik úgy, hogy erőtlen lenne.
-
tibi-d
tag
válasz
Teasüti #3549 üzenetére
Az a kérdés, hogy az 5V-ot miként állítod elő. Ha 230VAC / 5VDC tápról hajtod meg a teljesítményfokozatot, akkor érdemes lehet egy külön 1-2W-os 230VAC/5VDC adapterről meghajtani, és csak a negatív potenciált összekötni. Ha az arduinonál lépne fel gond, a kisteljesítményű táp lekapcsol, "megvédve az arduinot". Ha másképp, akkor bonyolódik a helyzet.
-
tibi-d
tag
válasz
Teasüti #3547 üzenetére
Mert a nagy áram kapcsolgatásakor óhatatlanul lecsökkenhet a feszültség 4,5V alá is, amit te nem veszel észre, de az arduino akár resetelődhet is. A testen keresztül zavarjelek indulhatnak el a processzor felé ( földhurok), ami szintén megzavarhatja a működését. Ha viszont elválasztod a nagy áramú részektől, az arduino minden zavartól mentesen végezheti a dolgát, nem érhet meglepetés. Ezt saját tapasztalatból mondom, mert heteket szenvedtem azzal, hogy néha nem azt csinálta amit kellett volna neki. És nem volt logikus magyarázat a dologra. Ekkor homályosítottak fel, hogy gondoltam-e a fentebb vázolt problémára. Igaz, hogy teljesen át kellett tervezni az áramkört, de azóta nem jelentkeztek "anomáliák". Azóta, ha 1-2A-nál nagyobb áramokat kell kapcsolgatnom viszonylag nagy sebességgel, akkor mindig ezt a módszert alkalmazom. Ha a sebesség nem fontos, maradok a relénél, a megfelelő védelmi megoldásokkal (védődiódák, stb.).
-
tibi-d
tag
válasz
Teasüti #3540 üzenetére
Az optikai leválasztásnak az a lényege, hogy a vezérlő-, és vezérelt áramkör semmilyen galvanikus kapcsolatban nincs egymással. Az iparban ez egy rutin eljárás. Több 1000A áramokat vezérelnek processzoros áramkörökkel. Az optocsatoló bemeneti közös pontja csatlakozik az arduino testjére, az optocsatoló kimeneti közös pontja pedig a vezérelt teljesítményfokozat testjére. Az arduino az optokapu LED-jét vezérli, az megvilágít egy fototranzisztort, ami kapcsolja a teljesítmény fokozatot. A két oldal között csak a fény biztosítja a kapcsolatot. Így lehet akár 2-5kV feszültségkülömbségű áramköröket összekapcsolni. A másik módszer az impulzustranszformátor, ez a bonyolultabb módszer.
-
tibi-d
tag
Sziasztok!
Nekem is kellett olyan feladatot megoldani, hogy egy nyomógomb megnyomására csak egyszer hajtson végre egy műveletet. Úgy oldottam meg, hogy egy időzített megszakítás minden 100ms alatt 1X lefut, és ez alatt a ciklus alatt figyeltem a gomb állapotát. Ha eltért az alaphelyzettől, egy segédváltozót 1-be állítok, és elvégeztetem a feladatot(kat), és a segédváltozót csak azután állítom vissza, ha minden végrehajtódott. Addig nem is figyelem a gomb állapotát. Ez akkor hasznos, ha a köztes időben is tudni kell, hogy meg lett nyomva a gomb, és így nincs korlátozva az egyéb feladat végrehajtása sem. Természetesen az időzítés mértéke szabadon állítható. -
-
tibi-d
tag
válasz
Daszkalosz19 #3137 üzenetére
Én is sokat vacakoltam a TFT-vel, mire használható állapotba hoztam. Minden kijelzőt érdemes kalibrálni használat előtt, mert a Touch pad nem a kijelzett ábra felett érzékelhet, hanem elcsúsztatva, ami zavaró lehet. Volt olyan kijelző, ahol a fent-lent, bal-jobb is fel volt cserélődve.
-
tibi-d
tag
Sziasztok!
Van egy Mega2560 kártyám. A legutoljára feltöltött program fut rajta tökéletesen, de új programot nem tudok rátölteni az USB porton keresztül. Van-e lehetőség az USB port megkerülésével programot feltölteni rá. "Pl. soros porton keresztül."
köszi. -
tibi-d
tag
válasz
soldi3r #2529 üzenetére
Szervusz!
A digitális technikában 4 féle logikai rendszer létezik. Van pozitív tápfeszültségű, és negatív tápfeszültségű. Mindegyikben létezik pozitív, és negatív logika. Az, hogy pozitív, vagy negatív a logika az dönti el, hogy az aktív állapot (1) milyen feszültségi potenciálon valósul meg. Pl. ha a tápfesz 0V-(+5V) akkor pozitív tápfeszültségű a rendszer, és ha a (+5V) jelenti a logikai 1-et, akkor beszélünk pozitív logikáról. Ha a (0V) akkor negatív logikáról. Hogy a helyzet ne legyen ennyire egyszerű, van még a nyugalmi áram fogalma, ami még jobban összezavarja a dolgokat. Ez annyit jelent, hogy nyugalmi helyzetben, amikor a logikai állapot "0"-a, akkor folyik-e áram, vagy sem. De szokták ezt úgy is értelmezni, hogy ha a rendszerben minden hibátlan, akkor folyik a nyugalmi áram, és ha bármi hiba, vagy esemény következik be, akkor szakad meg az áramkör és vált logikai állapotot. Ekkor beszélünk nyugalmi helyzetben zárt, vagy nyitott áramkörről. A fenti dolgokat a tervezés fázisában kell figyelembe venni, az események kiértékelése, feldolgozása során. Volt "szerencsém" negatív tápfeszültségű rendszerben negatív logikával, nyugvóáramú rendszerben működő berendezést üzemeltetni évtizedeken keresztül. Mondanom se kell, hogy a nagy "Szovjetunió" terméke volt. Egyébként előszeretettel szokták keverni ezeket a logikákat egy berendezésen belül is, bár ez nem szép, és szerencsés az üzemeltetőre nézve. Ha a berendezés egy"fekete doboz", akkor teljesen mindegy mi van benne. -
tibi-d
tag
Sziasztok!
Úgy látom, hogy a nyomógombok prellegésmentesítése ekkora probléma. Bemásolom az általam használt megoldást (kiollózva egy működő alkalmazásból). Ezt a metódust bármilyen menürendszer felépítésére fel lehet használni. Csak a fantázia szab határt.#include <TimerOne.h>
int Pin3 = 3;
int Pin4 = 4;
int Pin5 = 5;
int Pin6 = 6;
int Value;
int Back;
int Up;
int Down;
int Enter;
int Time1;
int Count1;void setup()
{
Timer1; // Timer1 meghívása
Timer1.initialize(100000); // Az időzítés beállítása
Timer1.attachInterrupt( timerIsr ); // A megszakításkor meghívott függvény
pinMode(Pin3, INPUT_PULLUP);
pinMode(Pin4, INPUT_PULLUP);
pinMode(Pin5, INPUT_PULLUP);
pinMode(Pin6, INPUT_PULLUP);
}void timerIsr() // Minden megszakításkor lefut 1 ciklusidőre.
{
Time1 = 1; // Globális változó beállítása, ami bárhol használható
Count1 ++; // 0.5 s alatt körbeszámol
if ( Count1 > 4 ) Count1 = 0;}
void loop()
{
if (Time1 == 1 ) // 0.1 s-ként billentyű beolvasás
{
Back = digitalRead(Pin3);
Up = digitalRead(Pin4);
Down = digitalRead(Pin5);
Enter = digitalRead(Pin6);
Menu();
Time1 = 0; // Csak 1 ciklus idejére figyeli a gombokat
}}
void Menu()
{
if ( Up == 0 && Count1 == 2 )
{
Value ++; // 0.5 s-ként növeli az értéket}
if ( Down == 0 && Count1 == 2 )
{
Value --; // 0.5 s-ként csökkenti az értéket}
}Lehet, hogy csak billentyű beolvasásra kicsit körülményesnek látszik, de amiben én használom ott ez a módszer vált be. (szerteágazóbb funkciók meghívása, stb)
-
tibi-d
tag
Az én megoldásom valóban bonyolultabb egy kicsit, de bármilyen menüvezérlési feladatra jó. Ahhoz, hogy ezt megírjam, nekem is fel kellett túrni a netet a lehetséges megoldások után. Annak, hogy magad írod meg a kódot, azon kívül, hogy sikerélményed lesz, meg is tanulod.
-
tibi-d
tag
Szia!
Itt a kód, amit az Arduino.cc "learning" oldaláról ollóztam.State change detection (edge detection)
Often, you don't need to know the state of a digital input all the time,
but you just need to know when the input changes from one state to another.
For example, you want to know when a button goes from OFF to ON. This is called
state change detection, or edge detection.This example shows how to detect when a button or button changes from off to on
and on to off.The circuit:
* pushbutton attached to pin 2 from +5V
* 10K resistor attached to pin 2 from ground
* LED attached from pin 13 to ground (or use the built-in LED on
most Arduino boards)created 27 Sep 2005
modified 30 Aug 2011
by Tom IgoeThis example code is in the public domain.
http://arduino.cc/en/Tutorial/ButtonStateChange
*/
// this constant won't change:
const int buttonPin = 2; // the pin that the pushbutton is attached to
const int ledPin = 13; // the pin that the LED is attached to// Variables will change:
int buttonPushCounter = 0; // counter for the number of button presses
int buttonState = 0; // current state of the button
int lastButtonState = 0; // previous state of the buttonvoid setup() {
// initialize the button pin as a input:
pinMode(buttonPin, INPUT);
// initialize the LED as an output:
pinMode(ledPin, OUTPUT);
// initialize serial communication:
Serial.begin(9600);
}void loop() {
// read the pushbutton input pin:
buttonState = digitalRead(buttonPin);// compare the buttonState to its previous state
if (buttonState != lastButtonState) {
// if the state has changed, increment the counter
if (buttonState == HIGH) {
// if the current state is HIGH then the button
// wend from off to on:
buttonPushCounter++;
Serial.println("on");
Serial.print("number of button pushes: ");
Serial.println(buttonPushCounter);
}
else {
// if the current state is LOW then the button
// wend from on to off:
Serial.println("off");
}
}
// save the current state as the last state,
//for next time through the loop
lastButtonState = buttonState;// turns on the LED every four button pushes by
// checking the modulo of the button push counter.
// the modulo function gives you the remainder of
// the division of two numbers:
if (buttonPushCounter % 4 == 0) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}}
Természetesen úgy alakítod, ahogy neked megfelel.
Új hozzászólás Aktív témák
Hirdetés
- Milyen okostelefont vegyek?
- AMD Radeon™ RX 470 / 480 és RX 570 / 580 / 590
- Mibe tegyem a megtakarításaimat?
- Yettel topik
- Autós topik
- One otthoni szolgáltatások (TV, internet, telefon)
- Elemlámpa, zseblámpa
- Delta Force (2024)
- Jövőre az Apple megérkezhet 2019-be
- Egy helyre gyűjti az eltérő áruházak játékait a Microsoft
- További aktív témák...
- BONTATLAN Új Iphone 16 PRO 128Gb - 1TB Független 1év Apple GARANCIA Deák Térnél Azonnal Átvehető.
- Új Bontatlan Mac Studio M4 Max 2025 14cCPU /32cGPU / 36GB RAM / 512GB SSD - Azonnal Átvehető Deák.
- BONTATLAN Új Iphone 16e 128-512GB 1év APPLE garancia gyári független Deák AZONNAL Átvehető Deák térn
- ÚJ bontatlan S9 45mm Silver Stainless steel Cellular milanese fémszíj 199.900 azonnal átvehető Deák
- ÚJ kipróbálásra felbontott MacBook Pro 16 M4 Pro 14CPU/20GPU 24GB/512GB SSD Magyar billentyűzet Azon
- BESZÁMÍTÁS! ASUS H81M-PLUS H81 chipset alaplap garanciával hibátlan működéssel
- Intel X540-T2 dual-port 10GbE RJ45 hálózati vezérlő (10Gbit, 2 port, áfás számla, garancia)
- ÁRGARANCIA!Épített KomPhone i5 13400F 16/32/64GB RAM RTX 5070 12GB GAMER PC termékbeszámítással
- Xiaomi Redmi 10 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! GIGABYTE AORUS ELITE Z790 i7 14700K 64GB DDR5 1TB SSD 7900XTX 24GB be quiet! SB802 1000W
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged