Keresés

Új hozzászólás Aktív témák

  • fpeter84

    senior tag

    Sziasztok!

    Tudom hogy erősen csak érinti magát az Arduino témát, de hátha...

    Valaki le tudta fordítani magának a Bossa feltöltő program Arduino DUE kompatibilis verzióját Windowsra? Ubuntura sikerült már összehoznom, működik is tökéletesen, a Win verzióval viszont napok óta küzdök de nem sikerül összehoznom - ha valakinek már sikerült, akkor jó lenne ha meg tudnánk konzultálni hogy mit rontok el...

    Esetleg akad bármi más GUI-s program, amivel Arduino IDE nélkül lehet feltölteni a DUE-ra a firmware-t? Tudom hogy az IDE alatt ott van a bossac.exe - legrosszabb esetben ez marad - de jobban örülnék egy grafikus felületnek hosszútávon...

    Előre is köszönöm, ha valaki valamivel előrébb tudja mozdítani a projektemet! Egyelőre nem kezdtem el idemásolgatni a kimeneti logokat, módosításaimat/próbálkozásaimat amivel a semminél már jóval előbbre jutottam mert nem akartam elárasztani a dologgal a topikot. Ha volna valaki aki tud segíteni a témában akkor leírom hogy eddig meddig jutottam...

  • fpeter84

    senior tag

    válasz Danex #2650 üzenetére

    A relé tekercsében hajlamos olyan feszültségimpulzus generálódni, ami kiütheti a felvezetőket maga körül - jelen esetben az arduino-t. A dióda ezt képes elnyelni, nélküle kockázatos a dolog, relé függő hogy melyik mekkorát hajlamos "rúgni"... Magyarán jobb ha nem hagyod el...

    Milyen PIR-t használsz? Kész modult valamilyen kimenettel? Műverősítő(k)ből van összerakva a kapcsolás vagy BIS0001 ? Ha utóbbi, akkor azok a modulok elég furcsán viselkedtek nekem eddig - randomnak tűnt az érzékenység, az hogy mennyi ideig marad behúzva, stb - szóval alaposan próbáld ki előre "tesztpadon", pl egy leddel hogy hogyan viselkedik...

    Pár méter vezeték nem okozhat gondot 5V tápfesz mellett...

  • fpeter84

    senior tag

    válasz Danex #2652 üzenetére

    Kimérheted / lekövetheted, de feltehetően akkor az a dióda úgy van kötve a nyákon, mint ahogyan az a kapcsrajz is mutatja: a tekerccsel párhuzamosan, a csíkja a + felé fordítva, és akkor nem kell több elég ez az 1...

    Ránézésre nekem is ugyanilyenből van egy marékkal. Adj tápot a modulnak, a kimenetére pedig köss egy ledet (soros ellenállással), vagy ha nincsen kéznél akkor jó egy voltmérő, vagy akár maga az arduino is sorosra küldéssel, és próbálgasd hogy miként viselkedik a modulod a potikat tekergetve, ha van rajta jumperelés akkor azt állítgatva, és akkor fogod tudni hogy mennyire viselkedik következetesen...

  • fpeter84

    senior tag

    válasz tvamos #2656 üzenetére

    :R Igazad van, nem gondoltam végig rendesen, a tutorialban tényleg hülyeséget ábrázolnak: szembe fordítva, a tekercs felső bekötési pontja és a táp közé tette...

    @Danex: Szóval akkor csak azt ellenőrizd le, hogy úgy helyezkedik e el mint a #2654-ben linkelt képen

    Azért láttam én már csodákat a kínai kapcsolásokban! A legutóbbi viccessel pl egy ilyen breadboard shield-en:

    A reset és a másik gomb konkrétan nincsen sehová kötve, illetve ami van az marhaság: egy ellenálláson keresztül egy vak lábra (a vak lábat is hiába földelem, nincsen rá hatással az ellenállás miatt) valamint egy LED-en keresztül elmegy egy üres kondihely egyik lábára és ennyi. He? :W

    Ennél persze vannak sokkal durvábbak is, ahol nem csak elnézett valamit a kis kínai, hanem teljesen tudatosan átverésre gyártott USB HUB-ok pl, fake (csepp) csippel, összevissza tartó vezetékezéssel, stb...

  • fpeter84

    senior tag

    válasz Danex #2660 üzenetére

    Próbálgasd először egy leddel a kimenetén - akkor biztos lehetsz benne hogy nem a programodban van a hiba...

    (#2663) mArZsi

    ...a hangja se az igazi...

    Akkor egészen biztos hogy rossz logikával léptet és rángatózik tőle a motor, annak a hangját hallod. Első körben célszerű delay-ekkel saját vezérlést összerakni hozzá, aztán ha az már jól viselkedik és szükség van rá akkor jöhet a timer interrupt-okra helyezés - illetve pont most tanulmányozom a DUE (SAM3X8E) doksijában a PWM szekciót és ott látok dedikált stepper motor meghajtást is, esetleg arra is el lehet kanyarodni...

    -------------------------

    Ha már feljött ez a téma, DUE-n játszott már valaki az Input Capture perifériával? Ebből a példából kiindulva sikerült élesztenem a TIOA0/6/7/8 lábakat (PWM2/3/5/11), tudok velük frekvenciát mérni, de mire valók a TIOBx lábak? Ezt még nem sikerült megértenem a doksiból - ezeket is lehet független Input Capture lábnak használni, vagy ezek valami kiegészítő funkcióra vannak az A párjaik mellé? Jó lenne, ha nem csak 4 ICP lábat tudnék használni egy DUE-n (esetleg egy 5-dik ha az AD7-ről leveszem az analóg funkciót)...

  • fpeter84

    senior tag

    válasz DrojDtroll #2670 üzenetére

    Nem, mert az USB adatszálai max 3.3V-ot kaphatnak - nem biztos hogy belepusztul a géped ha mégis rádugod az 5V I/O feszültségű lábat, de benne van a pakliban. Egyébként is eléggé gányolás ez a szoftverből kezelt protokol és erőszakkal illesztett láb - nekem elég sok kompatibilitási gondom volt vele, hol ment hol nem - jobban jársz ha natív USB-s típust használsz helyette: Pro Micro, Leonardo, Beetle - mindhármon ATMEGA32U4 van, vagy esetleg az ARM-os DUE

  • fpeter84

    senior tag

    válasz DrojDtroll #2675 üzenetére

    Amit csak találtam azzal végigpróbáltam és problémásak voltak mind - a v-usb is köztük lehetett - illetve régebben is próbáltam már utánépíteni hasonló kapcsolást másik kisebb atmel-lel (i2c-tiny-usb) és az se volt megbízható, hol ment hol csak ismeretlen eszköz. Utána kerítettem egy Leonardo-t és az azóta is teszi a dolgát mint IR vevős billentyűzet/egér/távirányító

    Eredeti (MEGA16U2) vagy kínai (CH340) Arduino-d van? Ha eredeti, akkor azon a segéd MEGA16U2-t is át lehet akár programozni más célra ha van hozzá íród vagy még1 Arduino-d - az is natív USB-s típus...

  • fpeter84

    senior tag

    válasz tvamos #2679 üzenetére

    Először azt hittem valami megkésett április elsejei hír jutott el hozzád, aztán felmentem az atmel oldalára és megláttam a fejlécet - viszont a press rovatban semmi nyoma az egésznek érdekes módon egyikük oldalán sem... :U

    szerk: közben csak meglett... [link]

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz junhum #2691 üzenetére

    azthiszem azzal lesz baja hogy lemaradt a ()

    lcd.print((float)DHT.temperature(), 0);

  • fpeter84

    senior tag

    válasz Teasüti #2704 üzenetére

    Egyben nem rémlik ilyen megoldás...

    Melyik Arduino-d van és kínai vagy eredeti? Az eredeti Uno (MC33269) és Mega2560 (NCP1117) LDO-ja papíron absolute max rating 20V, a Nano (UA78M05) pedig 35V, tehát rákötheted az autó hálózatára. A kínai Uno/Mega/Due mind olyan gagyi (AMS)1117-es LDO-t kapnak ami még a bő 12V-tól is néha elfüstöl, az autóban órák/napok kérdése csak a döglés - gyakorlati tapasztalat. A Due eredeti és kínai másolata egy és ugyanaz (a legtöbb, ellenőrizni nem árt azért) és egy LM2734 DC-DC step-down van rajta ami 20V-ig küldhető terhelhető...

    Ha olyan kínai Arduino-d van amit nem köthetsz direktben a 14V-ra, akkor pl: [link]

    PWM csatornából mennyire lenne szükséged? A Due-nak pl alapból is 12 csatornája van címkézve, de alternatív lábakon még további 4-5 csatorna elérhető. Ilyen shield persze nem lesz hozzá, lehet kénytelen leszel forrasztgatni kicsit - prototípus nyák, FET, ellenállások, tranzisztor...

    Milyen LED-eket szeretnél meghajtani? Natúr LED, vagy kész szalag/modul amiben van áramkorlátozó ellenállás is? Utóbbi lehet problémás, mert ha nagyon ki van centizve az árama akkor 12V-on lehet jó, de a 14V már megölheti... Ha bízol az áramkorlátjában akkor egyszerűbb megoldással is rá lehet adni a tápot (esetleg még plusszban sorbakötni adott méretezésű ellenállást):

    Ha biztosra akarsz menni, akkor áramkorlátozós PWM meghajtás:

    Az utóbbinál az R2 méretezését majd matekozni kell, hogy jól legyen beállítva a maximális áram, itt írják le az elméletét... Ez a kör nem engedi megfutni az áramfelvételét és PWM-el kapcsolgatható is (a szürke rész egyébként el is hagyható, akkor csak fixen áramkorlátoz vezérlés nélkül)...

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz tvamos #2706 üzenetére

    Igen, a szürke téglalapban lévő nélkül (de ott se látok olyat ami kérdéses lehetne), fix módban használtam már több LED COB modulhoz is - a FET típusát most így nem tudom mit használtam hozzá, a lényeg hogy az RDS(on) ellenállás értéke minél kisebb legyen, annál kevésbé fog melegedni...

  • fpeter84

    senior tag

    válasz Teasüti #2708 üzenetére

    Hát a 30 csatorna már igen magas elvárás - ugyan a dsPIC családban látok olyat amiben van ennyi, de 144p TQFP tokozásban - nem lehetetlen beforrasztani jobb minőségű gyártatott nyákra kézzel, de lehet nem ezzel kellene kezdened :)

    Akkor ha még semmit nem szereztél be, lehet érdemes más vonalon elindulni mint a rengeteg PWM csatornás forrás: keress rá hogy WS2812 led strip - ezek egyedileg pixelenként címezhető láncot alkotnak és cirka bármivel meg lehet hajtani - max a címzési sebességben számíthat hogy Nano/Uno vagy valami izmosabb procit választasz... Létezik belőle 5 és 12V verzió is - de az utóbbi nem tudom elviseli e a 14-et - lehet szerencsésebb az 5V-ost választani és egy jó hatásfokú kapcsüzemű tápról adni neki ezt.

    Más hasonló vezérlőcsippes RGB láncok is léteznek, keresgélj kicsit ebben a témakörben hogy milyen alternatívák léteznek még...

    @tvamos:

    Nyilván a legprofibb megoldáshoz kell keresni egy PWM vezérelhető áramgenerátor cél-IC-t

    szerk: egyébként én bátran ajánlom a filléres kínai arduino változatokat mert eddig csalódnom egyben sem kellett, max vannak apró módosításokból származó korlátaik (esetleg előnyeik is) amivel jó tisztában lenni. Az alap Due-k eddigi tapasztalataim alapján 100% azonos klónok, és azért nem teljesen mindegy hogy 50$ az eredeti, vagy 12$ free shipping az Aliexpress-ről :C

    [ Szerkesztve ]

  • fpeter84

    senior tag

    A digit potis ötlet több sebből vérzik: egyrészt minek külső DC-DC konverter, ha a PWM-el akkor már saját DC-DC konvertert is lehet csinálni? Ennek mondjuk azért nincsen értelme, mert csak a feszültség szabályzása még nem elég a LED áramkorlátozásához, az áramot is mérni kell (sönt, műverősítő, stb), akkor meg ott az a sokkal egyszerűbb kapcsolás amit linkeltem, ami maga áramkorlátoz.

    A másik probléma viszont közvetlenül technikai jellegű: a legtöbb digit potméter A-B-Wiper lábaira nem szabad nagyobb feszt kötni, mint a digit oldal tápfesze. Azért vannak kivételek, kerestem már ilyesmit és volt olyan ami függetlenül felmehet 20-30V-ig, viszont az valami házilag kezelhetetlen tokozásban létezett csak, talán QFN vagy BGA...

    PWM vs. PWM: azért ne keverjük, mert itt többféle megoldás is felmerült... Egyrészt a LED fényerejét lehet úgy szabályozni, hogy ráadod a max áramot és ki/bekapcsolgatod nagyon gyorsan - amikor a kitöltési tényezővel játszol, attól lesz PWM. Viszont a kapcsüzemű tápok nem a fogyasztót (jelen esetben a LED) kapcsolgatják ki be a PWM-el, hanem az induktivitás/kondi páros segítségével indukálnak kisebb/nagyobb feszültséget mint a betáp

    Autós integrálás, CAN busz: ugyan léteznek shield-ek pl MCP2515-el vagy SJA1000-el, de minek ilyen kívülről illesztett problémás dologgal szórakozni, ha ott van a Due-ben akár 2 CAN csatorna is? Tökéletesen működő lib-ek vannak hozzá, pont most dolgozok egy NMEA2000 (hajós) hálózatra csatlakozáson, és könnyedén át tudom verni az ilyen bemenettel rendelkező navi/kijelző egységet, el tudom vele hitetni hogy én vagyok a mélységmérő, motorvezérlő, stb... Autóban még nem próbálkoztam vele - az A6 C5-ösöm alapjában véve még nem CAN-lelkű, de bizonyos komfort cuccok már CAN buszon ülnek úgyhogy gondoltam rá hogy nézelődök majd kicsit ott is...

    Sok PWM csatorna kérdése: ugyan mint említettem, a PIC-nek vannak olyan típusai amiben akár 30 PWM csatorna is akad, de ezekkel a típusokkal szerintem nem fogsz kész fejlesztőpanelt találni mint az Arduino-k, hanem saját nyákot kellene hozzá tervezni, ami nem kezdő projektnek való mert csalódás és kedv-vesztés lesz csak belőle. Viszont "hálózatba" is lehet fűzni 2-3 Arduino-t soros/SPI/I2C/tetszőleges buszrendszeren keresztül - nyilván ehhez saját protokollt kell álmodni, de szerintem ez a legegyszerűbb megoldás...

    Szerintem vegyél valamilyen Arduino-t, egy breadboard-ot, egy kisebb LED sort, pár FET-et és egyéb alkatrészt és kezdj el ismerkedni ezzel a világgal először asztalon, és akkor még sok igény/ötlet merülhet fel benned. Aztán ha megy, akkor lehet vagy saját shield-et tervezni és gyártani/gyártatni, vagy prototípus nyákon összedrótozni az egészet... Kínából olcsóbb, EU-n belülről picit drágább de még mindig megfizethető, itthoni boltokból elég drága minden, de kétségtelenül ez a leggyorsabb beszerzési forrás... Szerintem tudunk segíteni összevadászni egy induló szettet, ha tudod hogy honnan vennéd...

  • fpeter84

    senior tag

    válasz Teasüti #2730 üzenetére

    A csomagból a könyv nekem nem érne egy fillért sem - szerintem minden ilyen anyag elérhető online is. A többi dolog jópofa, de az Uno erősen alap cucc - pl egyik nagy fogyatékossága hogy csak 1 sorosportja van, ami egyben a programozó portja is, valamint a flash/RAM se sok, könnyű olyan lib-eket találni, amelyek kilógnak az erőforrásaiból. Természetesen van amire ez is elég, csak a 28e-et picit soknak érzem érte :)

    A Mega2560-nak 4 sorosportja van amiből csak 1 osztozik a programozó funkcióval, az Atmega32U4-et használó Leonardo és Pro Micro-nak ugyan csak 1 sorosa van, viszont a programozó felület az USB-n megy így ez szabadon marad. Ráadásul az utóbbit könnyebb egy breadboard-ba belebökni és körbeépíteni...

    Jól látom, hogy UK-ba rendelnéd? Ez helyben van, és a szett árából 13 darabot házhoz visz belőle Neked a postás :))

    Eredeti vs kínai: egyrészt bizonyos típusok a tápjukban különböznek, másrészt van olyan aminél az eredetin egy USB-s atmel adja az USB>soros programozó illesztést, a kínaiakon meg általában a CH340g chip, de az utóbbi szerintem igen keveseknek okoz gondot. Pár egzotikus projektben ugyan láttam olyat pl hogy az eredeti UNO-n a segédcsippnek lecserélték a firmware-jét és befogták USB host/device célra, pl billentyűzet, egér, stb, de ez tényleg perverz megoldás, hiszen ott van a fenti 32U4 ami önmaga USB-s típus. Mostanra már az Androidos IDE is támogatja a CH340g-t, úgyhogy már tényleg nem tudom hol nem elég ez is. De a 32U4-en a natív USB miatt biztosan nem lehet probléma. Mellesleg a kínai többnyire nem "hamisítvány" mivel OpenSource - max akkor lehet hamisítványnak nevezni, ha minden felirat rajta azt állítja hogy eredeti Made in Italy...

    Breadboard, LCD kijelző, minden van EU-n belülről is ha nem akarsz várogatni a még olcsóbb kínaira - érdemes az ebay.co.uk-on nézelődni (EU only szűréssel) valamint az eu.banggood.com -on is nagy a választék az Arduino SCM rovatban.

    Ha egyesével címezhető RGB LED sort veszel (WS2801 gyors de drágább, WS2812 lassabban címezhető de olcsóbb) akkor nem is nagyon kell más hozzá mint az alap Arduino deszka - max azért érdemes breadboard-ot is beszerezni meg még ezt azt hogy legyenek gombjaid is a vezérléséhez, ne csak a soros konzolon utasíthasd. Illetve ha hosszabb a LED sor akár ajánlott egy tápegység beszerzése is, mert az USB-ből kinyerhető áram erősen limitált... Ez lehet akár egy normális mobiltöltő is - ehhez is lehet kapni pl Micro USB csatlakozó kivezetést, de lehet egy mezei 5.5/2.1-es hengeres végű csati is ha éppen ilyened akad otthon 5V-os.

  • fpeter84

    senior tag

    válasz Teasüti #2734 üzenetére

    A szépséghibája az Uno-nak hogy ez az egyetlen sorosportja, és ezt használja a bootloader programfeltöltője is

    Arduino_Uno_Rev3-schematic

    (TXD)PD1
    (RXD)PD0

    Amikor az IDE a segédcsipp TX lábán ad a proci bootloadere felé az RX lábára, akkor a külső passzív módon adó forrás - mint pl egy GPS vevő ami másodpercenként küldi magától az NMEA 0183 mondatokat - bezavarhat a programozásba, amikor pedig a proci bootloadere a TX lábán válaszolgat a segédcsipp RX-e felé, akkor azt meg fogja kapni a külső eszköz is, és bezavarhat annak a viselkedésébe. Ezt elkerülendő célszerű a külső eszközt minimum kikapcsolni, de esetleg le is húzni a vezetékeit. Macera, soros célra jobb egy olyan kontrollert használni aminek vagy több portja van (Mega2560), vagy natív USB-n megy a programozás (32U4 család) vagy mindkettő egyszerre (Due)...

    Ha címezhető LEDsort használsz, akkor nincsen szükséged semmi kapcsoló áramkörre. Egyszerűen rácsatlakozol a buszrendszerére - a gyorsabb WS2801 ha jól láttam akkor SPI felületen, a lassabb WS2812 pedig tetszőleges szoftverből kapcsolgatott IO lábra megy, tehát egyik sem üti a sorosportot. Viszont több összekapcsolásánál, vagy ha pl mobilról elérhetőre szeretnéd megcsinálni - kékfog, wifi, stb ezekre is vannak pár dolláros kínai megoldások - akkor már szükség lehet arra is...

    Többek között pl itt is jól látszik az Uno lábkiosztása: [link]
    Az 1 vezetékes LEDsornak csak egy tetszőleges digit kimenet kell. A 2 vezetékes gyorsabb az SPI-re megy, ami az SCK/MOSI/MISO, de ebből csak 2-t használ, az órajelet meg az adat kimenetet, olvasni nem lehet őt sem

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz Teasüti #2738 üzenetére

    Ha nem esik nehezedre ennyit kiadni akkor hajrá, hülyeségnek semmiképpen nem nevezem a kit-et mert tanulásra, indító rúgásnak tényleg lehet jó - csak én úgy viszonyítok, hogy abból a pénzből úgy 36db Uno-t küld a kínai :DD

    Azért nézz utána az Arduino oldalán, hogy mi is van abban a csomagban, és hasonlítsd össze ezzel: [link] - ha csak a könyv a különbség, akkor az nem biztos hogy megér +18e-et :)

  • fpeter84

    senior tag

    válasz Teasüti #2740 üzenetére

    ezekre a cuccokra rákeresve remek tutorialokat lehet találni netszerte, én nem félnék belevágni...

    - arduino stepper motor ULN2003
    - arduino 1602 LCD
    - arduino IR remote receiver
    ...

    stb... egyébként ezt találtam hozzá: [link] továbbá a sparkfun, adafruit stb oldalakon érdemes nézelődni

    szerk: de tényleg megveheted az eredetit is - nem akarok turkálni a zsebedben, ha neked nem fáj ekkora összeg akkor nyugodtan! csak ha én összeszámolnám hogy az utóbbi 7-8 évben hány ezer dollárt fizettem ki kína felé, és ha azokból mind eredeti/márkás/drága verziót vettem volna akkor hány tízezer $-ra rúgna, hát inkább már az ezrekbe se akarok belegondolni :DDD

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz Teasüti #2754 üzenetére

    Szerintem ne relékben gondolkodj, nettó önszivatás - lassú, zizeghet (prell), csattog, fogyaszt, drága - félvezetőkkel sokkal egyszerűbb megoldani, de tényleg!

    Kimenet: a fogyasztó pozitívja fixen a tápon (biztosíték persze kell valahová), a MOSFET pedig földre húzza és ezzel kapcsolja be

    Ha egyéb félvezetős áramkört akarnál bekapcsolni arra nem feltétlenül használható, mert ha valami egyéb bekötésén keresztül kezd földelni az minimum parajelenséget okozhat, de akár tönkre is mehet. De LED/izzó/relé/motor stb stb ilyesmik kapcsolására ideális mert minimális a szivárgó áram, alig melegszik...

    Digit és analóg bemenet: a kulcsszó a feszosztó! 2 ellenállás az egész, itt van egy kalkulátor hozzá... Ha autóról, vagy valami más külső jelforrásról van szó akkor ajánlott még 2 schottky-t is betervezni - ezek megeszik a túlfeszt, tüskéket...

    Izolált digit bemenethez pedig opto:

    A felhúzó ellenállás az arduinok bizonyos lábain el is hagyhatóak, mert van bekapcsolható belső felhúzó rajta...

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz Teasüti #2758 üzenetére

    A relét se ingyen adják, sőt!

    Egyébként első nekifutásra ezeket találtam: [link], [link] - kínából nyilván olcsóbb, csak arra többet is kell várni

    Nincsen egy elektronikai alkatrészbolt a közeledben? Úgyis kellhet még sokminden - ellenállások, kondik, ilyesmik - nem tudom mit kapsz a starter készletben...

    Egyébként digitális bemenetnek az opto-s leválasztás a legegyszerűbb... [link] - ehhez már csak egy soros ellenállás kell a bemenő oldalra - kb 0.68-1K 12-14V mellett

    szerk: az még lemaradt hogy kimenet esetén a reléből csak a legkisebbeket tudná meghajtani közvetlenül a uC lába, de oda is kell 1 schottky mert a tekercs hajlamos nagyfesz tüskéket generálni ami kiütheti az egész procit. Átlagos autós relét már nem is tudna behúzni, ahhoz mindenképpen kell az előzőekben linkelt N-MOSFET vagy tranzisztoros (a FET jobb, kevesebb a szivárgó áram, nagyobb a terhelhetősége, kevésbé melegszik) kapcsolás + schottky a relével párhuzamosan. Ilyen paneleket egyébként lehet kompletten is venni 1-2-4-8 relével - ezeken elvileg rajta van minden [link]

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz Teasüti #2762 üzenetére

    Fel/lehúzó ellenállás: anélkül "lebeg" a láb amikor a kapcsoló nyitva van - nem garantálható hogy tényleg 0 vagy 1 lesz rajta, viszont egy pár K ellenállással biztosra lehet menni. Az ATMEGA328P doksijából ki kellene túrni hogy minden lába tudja e, de elvileg van olyanja hogy szoftverből bekapcsolható internal pull-up, tehát az adott láb biztosan logikai 1-re kerül, a kapcsolóval meg földre lehet húzni - így elkerülhető a plussz alkatrész. (kivéve a prell/bounce jelenség, de ez még ráér)

    Feszosztó: a feszosztó az 2 ellenállás, 1-el csak áramot tudsz korlátozni, de az adott kötési mód a bejövő feszültséget is arányosan letöri. Most csak hasraütésből - ki kéne ezt is túrni a manual-ból - de úgy 2-3V-tól már biztosan logikai 1-nek tekinti olvasáskor a digit láb állapotát. Tehát ha mondjuk az autóból érkező 12-14V-os jelet szeretnéd detektálni, akkor R1=100K, R2=33-47K, akkor a lábra érkező jel biztonságosan mindig a 3-5V-os tartományba fog esni...

    Közvetlenül egybként akkor sem illik összekötni 2 áramkört, ha egymástól független tápról mennek. Pl ha 2 arduino beszélget egymással sorosporton vagy akárhogy máshogy, akkor illik a lábak közé berakni egy-egy soros 1-10K ellenállást, különben ha egyik oldalt kikapcsolod, akkor a digit lábon keresztül próbálhat egy kis áramot szipkázni magának a másiktól. Elég bolondbiztosra tervezték ezeket a kontrollereket, leginkább csak jelentős túlfesszel lehet kárt okozni bennük, de ez nem boldogít ha a tiéd éppen mégis megsérül...

    "Ilyenből szokott sokat tanulni az ember"

    Na ja, amikor véletlenül követed el a hibát, és már napok óta szívsz vele hogy miért nem azt csinálja amit vársz tőle... :)) :W

  • fpeter84

    senior tag

    válasz v2_rider #2767 üzenetére

    Mint tvamos kérdezte, fontos pont hogy realtime megjelenítést vagy bufferelést és utána tetszőleges megjelenítést szeretnél? Ha az utóbbi, akkor 1000Hz mintavételezés mellett milyen hosszan kellene felvenni? Ez se mindegy, mert ez a sebesség másodpercenként 2KB memóriát jelent 10-12 bites (tárolva akkor is 2 byte) ADC felbontás mellett... A Nano/Uno atmega328-nek 2, a Leonardo 32u4-nek 2.5, a mega2560-nak 8KB memóriája van "csak". A Due SAM3X8E ARM-ja más kategória, annak már 96KB RAM-ja van. Esetleg a PIC32-k között vannak még fél MB RAM-mal rendelkező típusok is...

  • fpeter84

    senior tag

    válasz Teasüti #2769 üzenetére

    Azthiszem zka67 foglalta össze legjobban a lebegő bemeneti láb problémáját: a lényeg hogy mindig határozott potenciálra kell húzni a digit bemenetet, különben érhetnek meglepetések és rejtélyes hibákkal fogsz küzdeni...

    A feszosztóra is nehéz lenne az Ohm törvénynél, és az itt lévő rajznál és kalkulátornál egyszerűbb magyarázatot adni.

    Próbáltam kitúrni a doksijából hogy mi a minimum feszültség az 1 jelszinthez illetve a maximum a 0-hoz, de sugárban hányok ezektől az ömlesztett doksiktól amiket összetákoltak az Atmelnél - a PIC-ek doksijai nagyságrendekkel rendezettebbek és átláthatóbbak :W

    Mindenesetre 5V tápfesz esetén saccra 3V felett már biztosan 1, 1V alatt már biztosan 0 a digit beolvasás értéke... Szóval a feszosztót úgy kell méretezni, hogy az autó 12-14V-ja (és még biztonsági ráhagyás) 3-5V nagyságrendűre csökkenjen vissza - erre írtam a 100K / 33-47K párosokat példának. Áramot is lehetne számolgatni, doksiból turkálni, de ökölszabálynak szerintem jó az hogy 10-100K nagyságrenden maradva jól fog működni... Ennél aprólékosabban akkor érdemes vele foglalkozni, ha pl gombelemről kellene évekig elműködnie a kapcsolásnak :)

  • fpeter84

    senior tag

    válasz Teasüti #2784 üzenetére

    AREF: csökkenteni lehet vele az analóg mérés tartományát, ezáltal növelni a pontosságot. Alapból a 10bit, 1024 lépcsős felbontás kb 5mV-os felbontást ad, de ha mondjuk csak pár száz mV-ot szeretnél vele mérni akkor egy külső referenciával (akár feszosztó is lehet) beállítod 0.5V-ra az AREF-et, és 0.5mV-os felbontással számolhatsz... Okosabb típusoknál lehet akár külön AREF+ és AREF-, amivel még szűkebb tartományt is ki lehet jelölni a tápfesz és föld között tetszőlegesen...

    A változók biztosan a RAM-ba, de már egy tök üres program is bekajál 9 byte-ot - ne kérdezd hogy mit tesz oda a fordító... De játszhatsz vele, és nézd hogy fordítás után milyen statisztikát ír rá az IDE... Valószínűleg van itt ott optimalizálási hibákból adódó pazarlás is, pl: ugye az alaphelyzet 9 byte használt

    char x;
    void setup() {
    x = 1;
    }
    void loop() {
    }

    ez 10 byte-ot eszik, de ha annak az x-nek ugyanezt az értéket már inicializáláskor is megadom, akkor meg 11 byte-ot ír, pedig elméletben ugyanarról változóról beszélünk - erre tud itt valaki magyarázatot adni?

    char x = 1;
    void setup() {
    x = 1;
    }
    void loop() {
    }

    A konstansok pedig elméletben a flash-be kerülnek, de most ahogy próbálgatom, 1 byte-al se nő ettől a program mérete...

    const char y = 10;
    char x = 1;
    void setup() {
    x = 1;
    }
    void loop() {
    x = y;
    }

  • fpeter84

    senior tag

    válasz Teasüti #2789 üzenetére

    Az EEPROM használata irtó egyszerű: [link]

    Azért arra figyelni kell vele kapcsolatban, hogy ~100e írási ciklust emleget a doksi - ez elég soknak tűnik első körben, de ha valaki mondjuk másodpercenként ír 1 adott byte-ot, akkor bő 1 nap üzemmel ki lehet végezni - tehát ezt elsősorban a ki/bekapcsoláskor, dinamikus paraméterváltoztatáskor illik írni, de nem állandó loggolásra használni pl...

  • fpeter84

    senior tag

    válasz tvamos #2779 üzenetére

    Az olcsósága és itthoni könnyű beszerezhetősége és sok típus DIP tokozása szól a PIC-ek mellett, és az Arduino-k által használt procikhoz képest rengeteg opcionális periféria: belső opamp, komparátor, DAC, periheral pin select, belső drótozhatóság a modulok között, stb stb. A DIP tokozással könnyebb breadboard-ozni és a prototípus nyák gyártása (lézeres vasalós) is egyszerűbb feladat. Tudom hogy bizonyos cortex altípusoknak is vannak mindenféle hasznos extra perifériái, de sok smd láb, ha nyákon veszed akkor sokszorosába kerül ugyanaz és a minimális méretet is rendesen megdobja...

    Most többek között egy olyan projekten dolgozok, hogy egy hajó trim lap hidraulikus munkahengereinek az induktív pozícióvisszajelzését valamint vezérlését szeretném megoldani. Az induktivitás kissé szélsőséges tartományokban mozog, bőven kilóg az átlagos L-meter projektekből, de azért csak sikerült jó kiindulási alapot találnom egy oszcillátor kapcsolásra, ami a 30-250 mH (nem uH!) tartományban is képes szépen rezgésbe jönni, és pár tized voltos 40-90KHz-es szinusz-szerű jel jön ki belőle. Ha ezt egy mezei arduino uno/nano-val szeretném feldolgozni, akkor az 1 tranzisztorból és pár passzív alkatrészből álló LC körhöz kell először egy komparátor, majd mivel a 90KHz apró elmozdulásaihoz a uC InputCapture-je nem elég ezért kell hozzá egy bináris osztó (74HC590), és mindez 2 csatornára minimum 3 nagyobb csipp plussz a körítésük, és még ez után jön a nano. Ha csak monitorozni szeretném, akkor mindez egyetlen 8 lábú PIC12F1840-essel megoldható, mert a belső komparátor muxolható a lábak között, a komparátornak belülről lehet a programozható DAC-ból negatív referenciát adni, a kimenetét belül át lehet kötni a számlálóba ami képes hardveres osztásra így már lehet vele precízen mérni is, 2 lábra mehet egy kvarc hogy minimalizáljuk a hőfüggőségét, és még marad 2 láb a soros kommunikációnak. Ha ez kevés, akkor a köv fokozat a 14 lábú PIC16F18323 ami még mindig nagyon apró nyákot jelent de sok plussz lábat ad a szivattyú és szelepek vezérlésére is...

    Mindennek megvan a maga felhasználási területe... A baltával fát vágunk, a vésővel faragunk - bár lehetne fordítva is, de nem ideális :)

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz tvamos #2792 üzenetére

    A DIP<>SMD konverter nagy, minek tennék egy 2.5x5cm-es pacát oda ahová elég egy 8-14 lábú apróság is? Mondom, van cél amire a balta jobb és van amire a véső :)

    Nyilván a Texas féle LDC1000-re gondolsz - ugyan papíron létezik TSSOP tokozásban ami szintén elég szerencsétlen már, de normális forrást nem találtam ilyen tokozással csak a házilag gyakorlatilag kezelhetetlen WSON meg QFN-el, ezért kerestem saját megoldást rá... Ha csak 1-2-t szeretnék megépíteni akkor nyilván lehetne ügyeskedni és free sample-t kérni, de utánpótlás már nem lesz így belőle és az ilyen játékot sem szeretem mert előbb utóbb tényleg letiltják az országot a free sample lehetőségéről és akkor már azt se kapja meg az ember ami tényleg indokolt...

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz tvamos #2794 üzenetére

    Nagy alkatrész áruházakban / ebayen / aliexpressen nem találtam értelmes áron, csak kész devboard-okat. Te találtál valahol, vagy free sample formájában jutottál hozzá? A TSSOP-vel az a bajom hogy házilag gyártott nyáknál addig a vezeték szélességig már nagyon problémás lemenni, valamint ha nincsen forrasztásgátló lakk akkor forrasztani is nehéz mert mindenhová bemászik az átok ón/forrasztópaszta és nehéz kivadászni. SOIC és TQFP már nem gond, de az alá nem szívesen megyek, csak minőségi gyártatott nyákkal...

  • fpeter84

    senior tag

    válasz Teasüti #2824 üzenetére

    Az "Android IDE" elírás vagy tényleg a droidossal próbálod fordítani? Nekem első pöccre fordul Uno-ra mindenféle állítgatás nélkül linuxos 1.6.6 IDE-vel (ebből a lib-ből a simple példa)

    A Nulsom-ot nem sikerült beazonosítanom - linkeljed plz hogy miről van szó

  • fpeter84

    senior tag

    válasz fpeter84 #2825 üzenetére

    Kipróbáltam, és az ArduinoDroid-on is ugyanúgy sikeres a fordítás - azt a döccenőt leszámítva, hogy az alap "Adafruit_NeoPixel-master" lib könyvtár elnevezésben nem tolerálta az "_" -t - kis FAQ turkálás után jöttem rá hogy ezért nem találja először a Adafruit_NeoPixel.h -t annak ellenére hogy a sketch-et megtalálta - de miután átneveztem a lib könyvtárat simán NeoPixel-re, pöccre fordította is ugyanúgy...

  • fpeter84

    senior tag

    válasz Teasüti #2846 üzenetére

    Próbáld ki egy tetszőleges hello world alap programmal - a LEDsor nélkül - hogy úgy is hibázik e. Első tippre túl sok áramot vesz fel, megrángatja az UNO tápfeszültségét és ugyan még ki nem resetel tőle de a soros kimenet már instabil lesz.

  • fpeter84

    senior tag

    válasz krisztianAMG #2847 üzenetére

    Szabályozható áramkorlátos mért táp kellene, vagy elég ha egy fix soros ellenállással van a LED árama korlátozva?

    Ha elég az utóbbi, akkor itt az INA219 (ugyanez eu raktárból [link]) amivel pont 0-26V közötti feszt lehet mérni akár plussz akár minusz - akkütöltés és terhelés figyelésére is jó pl - a rajta lévő 0.1R sönttel 3.2A a méréshatára szűk 1mA felbontással, de ha lecseréled pl 1R-re akkor 0.32A méréshatár mellett már kevesebb mint 0.1mA felbontással. Van hozzá kész arduino library is, de a linux kernel is támogatja, van hozzá kernel modul akár openwrt-hez, de raspberry-vel is használható stb stb...

  • fpeter84

    senior tag

    válasz krisztianAMG #2850 üzenetére

    Analógot viszonylag egyszerű, vannak rá kész/félkész kapcsolások, de a digitálissal meggyűlt a bajom... jópár mikrokontroller alapú kapcsolást kipróbáltam már, de valahogy egyik sem bizonyult stabilnak - mindenki az otthon található szemeteiből, bontott alkatrészeiből építkezik (főleg induktivitás) és neki véletlenül működik a talált értékeivel, de csak totózik hogy mit is használ és valahogy nekem eddig semmi nem ment... :( Nyilván nem lehetetlen, és nem is töltöttem a fél életemet a kísérletezéssel csak pár sikertelen nekifutás elkedvetlenített, de én is szeretnék már majd végre valami ilyesmit, mert a jóféle 1 csatornás labortápokat is súlyos tízezrekben mérik, én meg ha elkezdenék építeni tuti nem állnék meg a 3-5 csatorna alatt, mert sokszor jól jönne ha lenne mihez nyúlni...

    Vannak kész buck-boost konverter kapcsolások, ezekből is vannak analóg és digitálisak is és nem is megfizethetetlen egyik sem - kérdés hogy a digit mennyire precízen szabályozható/szabályozza magát... Most ezzel szemezek - kiderítettem a gyártója elérhetőségét és próbálok utánajárni, hogy a kijelzője melletti Rx/Tx lábsoron nem vezérelhető e kívülről - ha még ezt is tudná, szuper lenne, de mondjuk pár-10 mA-es szabályzásra lehet nem képes, arra lehet valami kisebb cucc kellene...

    Neked párszáz mA-hez valami jóval kisebb is elég - csak az ilyen boost meg buck-boost konvertereknél kérdéses hogy a kimenet mennyire stabil - ez csipp és kapcsolásfüggő is - szóval lehet kísérletezni is kell kicsit... Tele van az ebay ilyen cuccokkal, érdemes nézelődni kicsit!

  • fpeter84

    senior tag

    válasz Teasüti #2852 üzenetére

    Azért a tápot ugye nem I/O lábról adod a LED-nek, hanem az 5V feliratúról? Az összes kimenet limite az belső, az az I/O lábakra vonatkozik csak mint current sink/source, az 5V láb az más tészta

    [link]

    Ha csak az USB portról kapja a tápot, akkor annak az elméleti maximuma 500mA - vannak portok amelyek jóval kevesebbtől is kifekszenek, letiltanak, vannak amelyek a dupláját is ki tudják engedni magukon. Ez átmegy az F1 polyfuse "öngyógyuló" biztosítékon ami viszont szintén csak 0.5A, tehát ha a port többet is tudna, ez a biztosíték idővel akkor is leold - lehet pont ez történik, nagyon a határán billeg és épp csak villanásokra szaggat még amit a fedélzeti elkó kondik valamennyire még kisimítanak de anomáliákat okoz...

    Alternatív tápolása, ha a DC csatiba beledugsz valami 1-2A terhelhetőségű 9-15V egyenáramú tápot. Ekkor a T1 P-csatornás MOSFET nyit, az USB 5V-ja leválasztódik, és az U1 NCP1117ST50 LDO adja az 5V ágra a kakaót, ami papíron 1A terhelhetőségű - ezt csökkentheti a magas VIN tápfesz, vagy az esetleges elégtelen hűtés miatti túlmelegedés.

    Mindenesetre dugj rá külső tápot, akkor jóval nagyobb lesz a terhelhetősége. Hosszú távon, ennél több LED-hez viszont érdemes lesz egy pár A-es 5V-os tápot is beújítanod

  • fpeter84

    senior tag

    válasz Teasüti #2874 üzenetére

    Az elhasznált töltések mennyisége valóban arányos, de a LED-ek az áramkorlátozásuknak megfelelő maximális áramot veszik fel impulzusokban! Tehát maximálisan a végsőkig feszítik az USB portból nyerhető, illetve a polyfuse által átereszthető áramot - a polyfuse mondjuk nem olyan nagyon gyors és precíz, tehát egy villanásnyi 0.51A nem fogja azonnal megszakítani, de ha kitartóan bombázod ezzel a határértékhez közel, akkor idővel elmelegedhet a belseje és szaggathat picit.

    A 9V elem kevés lesz, hamar leszívja a LEDsor. Bármilyen 9-15V DC táp jó lesz hozzá, a legtöbb routerhez is ilyeneket osztogatnak de sok más műszaki cikk alól is ki lehet ilyesmit termelni, vagy boltban venni... Ha van egy asztali PC ATX tápod akkor abból is ki lehet nyerni a jól terhelhető 5/12V-ot...

  • fpeter84

    senior tag

    válasz DrojDtroll #2879 üzenetére

    Abszolút random! A W5100 csippes LAN shield-em olyan aljzatot kapott, aminek a hosszú átmenő lábai egyben a csatlakozói is az alatta lévő shield felé - elegáns, de picit vékonyabbak azok a lábak a kelleténél és vigyázni kell főleg a tárolásnál mert könnyebben elhajolnak mint a tüskék. Van olyanom is 1-2 ami eltolva kapta a tüskesort, így bár kevésbé elegáns megoldás, de funkcióját tekintve tökéletes, tornyozható és erősek a tüskék. Viszont van nem is 1 olyan kínai shield-em ami tervezési hibásnak is tekinthető - a tüskék vagy kifelé vagy befelé esnek a felső foglalatsorhoz képest mind2 oldalon, így a tornyozhatóságot agyonverik, belőle felfelé már csak vezetékezni lehet...

  • fpeter84

    senior tag

    válasz Teasüti #2881 üzenetére

    "USB breadboard" alatt nem tudom pontosan mit értesz - mindenesetre az ilyenek hasznosak, érdemes idővel felszerelkezni belőlük: 830p breadboard, tápmodul breadboardhoz, 12V/5A táp, 5.5 tápcsati Y splitter, 5.5 tápcsati bekötő stb stb

    @ DrojDtroll

    ismerős jelenség, párszor már én is belefutottam ilyenekbe hogy valamit jól elképzeltem előre, aztán a gyakorlatban rájöttem hogy de ott valami még plusszban kilóg, belóg, nem fére el úgy a csati ahogy elképzeltem, stb - eztért mostmár igyekszem minden előre beszerezni, lemérni, esetleg 3D studio-ban modellezni...

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz fpeter84 #2883 üzenetére

    Azt elfelejtettem a tápmodulhoz leírni, hogy a rajta lévő USB alj az dísz! Nincsen semmi sehová bekötve rajta - van egy marék ilyen modulom több beszerzésből, ránézésre egyformák - úgyhogy tényleg nem értem minek teték rá a kínaiak :)) Szóval csak az 5.5-es DC tápcsatin lehet etetni... Az 5 és 3.3V ágakat is AMS1117-es fix feszstab adja, aminél a voltage input absolute max rating 15V - magyarán 12V fölé tényleg ne menjen ez se mert meg fog sülni idővel...

  • fpeter84

    senior tag

    válasz Teasüti #2885 üzenetére

    Kékfog: előszöris, mekkora hatótávra? Van a class 1 aminek az elméleti hatóköre 100m - gyakorlati tapasztalat alapján egy jóféle BTM-22x akár 2-300m-re is elvisz jó rálátással és alacsonyabb baudrate-el (4800-9600) - természetesen a másik oldalnak is hasonlóan táposnak kell lennie ehhez. Vagy az átlagos class 2, ami papíron 10m-t ígér - ez is sokszor elvisz több 10m-re is, leginkább az antennákon és a zavaró körülményeken múlik. Ha az autó környékére kell, akkor valószínűleg elég lesz egy olcsó class 2 is, feltéve hogy mondjuk nem az első lökhárító fémje alá elrejtett modullal akarsz adni a hátsó lökhárító alá elrejtett másiknak :)

    A másik kérdés, hogy elég e a slave eszköz, elég e ha csak a nevét, PIN-t és baud-ot tudod állítani, vagy kell a master/slave váltás, több állítgathatóság. Slave akkor, ha a géped/telefonod/tableted csatlakozik hozzá, master akkor ha két ilyen modul képes egymás között egy transzparens csatornát felépíteni - a slave a szerver, és ahhoz csatlakozik a master kliens...

    itt van egy jó összefoglaló és howto az ebay-en népszerű HC-05 és HC-06 modulokról, hogy melyik mit tud és hogyan éleszthető. Valójában csak firmware különbség van köztük, megfelelő külső író hardverrel akár a butább is felokosítható, csak nem biztos hogy megér annyi küzdelmet :)

    I2C: ez így elég tág fogalom. Hőmérő, barométer, gyorsulásérzékelő, gyroszkóp, GPIO expander - millió féle hardver van hozzá. A legtöbb népszerű, modul formájában elérhetőhöz általában van kész arduino library, de ha tudni szeretnéd hogy valójában mi történik a színfalak mögött, akkor lehet a saját írás/olvasással is küzdeni...

    A WS2812 amúgy is elég lassúcska (400Hz rémlik?), szerintem nem lesz vele gond. Ha meg esetleg váltasz WS2802-re az meg úgyis a hardveres SPI buszra kerül, ami a nagy tempó mellett (20-40MHz?) elég sokat levesz a hardver válláról, úgyhogy úgy is működhet. Ha mégis kevés, akkor ott a Due vagy valamelyik másik nagytesó. De arra hogy próbálgasd, tanulj, arra biztosan elég az Uno is...

  • fpeter84

    senior tag

    válasz Teasüti #2887 üzenetére

    Ha az ABS jeladóból jövő frekvenciát szeretnéd mérni, akkor arra nem is annyira a mezei megszakítások és timerek szoftveres lekezelését érdemes használni, hanem az Input Capture témára érdemes rákeresned! Ez ugyanaz csak hardverből: futtatja a timert, és ha esemény van a lábon akkor lemásolja a timer regisztereit és generál egy megszakítást > precízebb mérést ad, és ha valamelyik library letiltja a megszakításokat ideiglenesen akkor sincsen gond, legfeljebb majd a következő eseménynél kapod meg az eredményt, de nem lesz elszalasztott trigger mert a hardver addig is számolja...

    MPU6050-el és sok mással küzdöttem már én is, jobbára kész lib-ekből indultam ki, a cél az egy 9DOF gyro és gyorsulásérzékelővel kompenzált iránytű lenne, de eddig nem találtam semmi valóban működőt - a borogatás, rázás előbb utóbb mindet megbolondította eddig sajnos, márpedig hajós környezetbe kellene ahol időnként kapná az áldást rendesen... Ettől függetlenül ha csak egyik másik érzékelő nyers értékeivel akarsz valamit számolgatni az működhet, csak erre az összetett, egymást kompenzáló 3x3 értékre nem találtam még kielégítő megoldást - pedig a telefonokban csak működik valahogy :U

    Valóban, a WS2812 sem olyan lassú - annak a doksijában nem találtam ugyan a LED PWM órajelére utalást - de az adatokat picit zavarosan ugyan, de valóban valami 400-800kbps körüli ütemen várja, amit bitbang módon szoktak adni neki a lib-ek.

    A WS2801 órajel+adat busza viszont teljesen megfelel az SPI hardver paraméterezhetőségének (max 25MHz-et ír a doksi, de úgy rémlik hogy RPi-s projektnél láttam 3xMHz-et is emlegetni), így meghajtható azzal is. Ha jól van megírva a lib - ami egyáltalán nem biztos - akkor amíg kiad a bufferből 1-1 byte-ot, addig a proci mással is tud foglalkozni. Bár a bitbang-et is elméletben meg lehetne oldani timerekkel és megszakításokkal nem blokkolósra, de tartok tőle ennyie nem foglalkoztak vele, így elég sok prociidőt elpazarolhat. De ugye ez is majd a gyakorlatban jól kiderül, hogy mit bír a vas...

    Nekem is van egy hasonló félbemaradt projektem: a colorduino-t próbáltam másolni, csak nálam nem 8x8 hanem 2 modulból 16x8 RGB LED van. Idő híján erősen akadozik sok hasonló félkész projektem, de ha nagy lesz, valami ilyesmi lesz... Gondoltam én is arra is hogy akár WS2801/2812 LED sorral is meg lehetne oldani, de ezekből még nem vásároltam próbálgatásra...

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz Teasüti #2889 üzenetére

    Azért van "6 tengely", mert ez egyszerre gyro + gyorsulásérzékelő. Természetesen ezek a 3 dimenziót írják le, csak a gyorsulásérzékelő a tengelyeivel párhuzamos elmozdulásokat mutatja ki, a gyro pedig a tengelyei menti elfordulás gyorsulását. Ha bekerül a képbe még egy digit iránytű is, akkor emlegetik 9DOF-nak, esetleg vannak még a 10DOF modulok ahol egy légnyomásmérő is van, amivel a tengerszint feletti magasságot lehet megállapítani. Az iránytű azért nem elegendő önmagában, mert elmozdulhat. Amíg tökéltesen vízszintesen nyugalomban van, addig elvileg elég lenne egyetlen, a függőleges tengelyéről leolvasott adat. Viszont ha megmozdítod, akkor tudnod kell hogy merre van a le/fel - erre használják a gyorsulásérzékelőt: a gravitációs lefelé mutató 1g megmondja merre van a lefelé. Viszont ez még szintén nem elég a teljes képhez, tudni kell azt is amikor éppen valamelyik tengelye körül fordul, erre van ugye a gyro. A végén elméletben a 9 nyers adatból ki lehet matekozni egy szöget, égtájat ami maga az iránytű már...

    Input Capture: az Uno-n lévő Atmega328-on egyetlen ICP láb van csak, így legfeljebb mux útján lehetne több forrást mérni...

    SPI: delay valami van, de azt inkább a szoftveres feldolgozásod fogja okozni, mint a buszrendszer késlekedése

    I2C: vannak valamiféle elméleti korlátai, de gyakorlatban akárhány eszközt felfűzhetsz egyetlen drótra. Próbálgattam, és akár a csillagpont közepén lévő uC körül 30m-es UTP kábelek végén is simán tudtam olvasni 4-5 forrást hiba nélkül. Rövidebb vezetékkel max az I2C címek száma és maga az adatátviteli tempó limitál...

    LED asztal: tömörítetlen wav-ot játszattam már le PIC PWM-jével SD kártyáról és egészen tűrhetően szólt - nyilván nem zenei minőség, de az emberi beszéd szép tiszta érthető volt, szóval akár ez se tűnik lehetetlennek, de bejövő hang feldolgozásával, elemzésével még sosem foglalkoztam. Elsősorban engem azok a videók fogtak meg, ahol egy kontrollerrel pl tetrist játszottak rajta :)

  • fpeter84

    senior tag

    válasz tvamos #2891 üzenetére

    igaz, fogalmazási hiba :R de az egyenes vonalú egyenletes mozgás nem is befolyásolja az iránytűt, nem szükséges adat hozzá

  • fpeter84

    senior tag

    válasz hermit #2896 üzenetére

    Semmi megvalósíthatatlan nincsen benne, csak arra figyelj hogy csak olyan lábra kösd az RTC és LCD-t amit nem használ az ethernet shield. Utóbbi SPI-s, de van még pár segéd láb is. Az RTC valszeg I2C lesz (bár van belső RTC is a Mega2560-ban, de sajnos az Arduino-ról lespórolták a hozzá szükséges másodlagos kvarcot, helye sincsen a nyákon), és egy karakteres LCD is mehet szintén az I2C-re, ha elég a tudása, nem akarsz grafikusat...

  • fpeter84

    senior tag

    válasz Teasüti #2899 üzenetére

    A byte típusú változót kezelje ezalkalommal úgy mintha int lenne. Ez olyan esetekben praktikus, amikor pl egy egész számot akarsz osztani, és a végeredmény float lenne, pl x = (float)y/z - ekkor az y bár egész, de az x-be szép float fog kerülni, nem kerekítet szétvagdalt eredmény. Mi az, ami csak byte-ot kaphat? Lehet ott is működne ez a trükk csak fordítva: (byte)int - csak azt nem tudom, hogy mi van akkor ha az int változóban nagyobb érték van mint 255? Kékhalál arduino módra? :)

  • fpeter84

    senior tag

    válasz tvamos #2901 üzenetére

    azthiszem a linken szövegesen leírt első példa a legszemléletesebb, hogy mire jó...

    int x;
    x = 20/3;

    akkor x=6 lesz, mert egyszerűen megvágja...

    de ha
    int x;
    x = round( (float)20/3 );

    akkor x=7 lesz, mert a kerekítésnél még float-ként kezeli annak ellenére hogy egész számokból indultunk ki, majd mire megvágja az x-be helyezéshez addigra már nem veszik el belőle semmi értékes információ

  • fpeter84

    senior tag

    válasz hermit #2907 üzenetére

    Szerintem kompatibilisek, rá lehet dugni, nekem is ilyen ethernet shieldem van...

    Viszont akkor érdemes lehet ezeken is elgondolkodnod: Wemos D1, Wemos D1 mini

    Dokumentációt itt lehet hozzájuk találni, és lehet őket többek között Arduino IDE és Lua alapon is programozni. A wifi hatótávja a kis nudli onboard antennával is többszáz méter youtube-os videók alapján - én ilyen szempontból nem teszteltem részletesebben, de pár falon keresztül kifogástalanul csatlakozik a routerhez, vagy látszik az AP-je... Ugyan kevesebb lába van mint egy Uno-nak (egyetlen analóg), de I2C-s karakteres LCD-vel és RTC-vel elég lehet ahhoz amit leírtál, csak arra kell figyelni hogy az I2C eszközök ne 5 hanem csak 3.3V-ra húzzák fel a buszt, mert az megölheti a csippet, csak 3.3V-ot tolerál az I/O lábain... Webszerver indítása is gyerekjáték rajta, hatalmas példaprogram gyűjtemény van már hozzá Arduino IDE-hez, relatív sok RAM-ja és flash-e van ami fájlrendszerből írható olvasható, stb... Kifejezetten ilyen IOT projektekhez való!

  • fpeter84

    senior tag

    Language Reference - itt a Data Types listában megtaláljátok hogy melyik változó fajta mit eszik... Én 8 bites procik mellett a 64 bites számok magasságában tapasztaltam eddig csak bugokat, alatta eddig nem - Due-ra azt is jól fordította.

    Illetve a fenti változó elnevezéseknél szerintem sokkal követhetőbb, logikusabb:

    int8_t, int16_t, int32_t, int64_t
    uint8_t, uint16_t, uint32_t, uint64_t

  • fpeter84

    senior tag

    válasz kmisi99 #2915 üzenetére

    Nekem tökéletesen beváltak a kínai arduino klónok, csak megvannak a limitációik: a CH340g USB>soros csippes is jól működik, csak pár egzotikus projekttől esel el, ahol az eredeti atmega16U2 segédcsippen is lecserélik a firmware-t és őt is befogják valami célra, pl USB host - de ez tényleg elvont cél, arra inkább akkor egy natív USB-s leonardo-t kell venni. Másik limitációjuk hogy a legtöbbre olyan LDO kerül ami nem tolerálja a 12V feletti betápot, nekem 2 le is égett autóban... De vannak olyan klónok is amelyek tényleg 100%-os másolatok...

    Szervó témában keress tutorialokat, hogy kell e még valami plusz kapcsolás vagy direktben ráköthető e a mikrokontroller lábaira...

    Semmi lehetetlen nincsen a témában és nem is tűnik bevállalhatatlan mélyvíznek, csak fokozatosan építsd fel a különböző részeit (szervó vezézérlés, kommunikáció, stb) hogy ne legyen az hogy elveszel benne hogy az adott hibajelenséget mi is okozza a programod sok eleme közül...

    @ (#2917) Teasüti

    Üdv a mikrokontrollerek világában, és még mennyi hasonló lesz amikor elkezdesz picit mélyebbre túrni a vezérlők regiszterei között, hogy a látszólag tökéletes program valahogy mégsem azt csinálja amit vársz tőle, és akkor lehet soronként debugolni, kiiratni mindent hogy hol siklik ki a vonat :)

  • fpeter84

    senior tag

    válasz Teasüti #2972 üzenetére

    szép mondhatom, elültetted a bogarat a fülemben és alvás helyett benchmarkolásra adtam a fejem, pedig 2 óra múlva szól az ébresztő :W :DDD

    uint32_t pre = 0;
    uint32_t now = 0;
    uint32_t cnt = 1;

    uint32_t cnt2 = 0;

    uint32_t a = 0;
    uint32_t c = 0;

    //float a = 0;
    //float c = 0;

    void setup() {
    Serial.begin(115200);
    Serial.println("Hello World!");
    }

    void loop()
    {
    a = 1;

    for (cnt=0; cnt<10000; cnt++)
    for (cnt2=0; cnt2<250; cnt2++)
    c = a+cnt2;

    now = millis();
    Serial.println( 2500000/(now-pre) );
    pre = now;
    }

    (a cnt2, a és c változók típusát írtam át uint8..32_t illetve az a és c-t float-ra)

    Remélem szarvas hibát nem követtem el a programban... 2.5M-szor kiszámolja ugyanazt a műveletet, majd visszaosztja másodpercre viszonyítva. Azért dupla a ciklus mert ha csak 2 fix értéket adtam össze ennyiszer akkor nagyon úgytűnik hogy arra rájött a fordító és leegyszerűsítette és nem adott különbséget sehol... Az eredményt Kcycle/sec-ben dobja ki vagyis hogy másodpercenként hány ezerszer tudta végrehajtani az adott műveletet. A harmadik oszlop hármas pedig azt mutatja hogy a Due hányszoros értéket tudott a Nano-hoz képest, és így szépen látszik a Due 5.25-szörös órajel előnye, valamint az hogy minél nagyobb számmal dolgozik a 8 bites Nano, annál jobban megküzd vele, a hardveres osztásnak köszönhetően pedig egészen elképesztőre nő a 32 bites Cortex M3 mag előnye - hardveres FPU az M3-ban nincsen, a nagyobbakban is csak opcionális [link]

    [ Szerkesztve ]

  • fpeter84

    senior tag

    válasz Teasüti #2975 üzenetére

    Egyrészt nem csak az alapműveletet végzi a proci hanem a for ciklus és a kiiratás is fut (minél gyorsabban fut le a számolásos rész, annál többet torzít a kiiratás is), másrészt lehet fordítói sajátosság is hogy mit melyik arhitektúrára mennyire hatékonyan sikerül lefordítania - de a lényeget azért nagyságrendileg valószínűleg jól mutatja...

    Az 5V-hoz egyébként nem kell olyan nagyon ragaszkodni. Egyrészt a legtöbb 5V-os komponens simán működik 3.3-al is, illetve ha mégsem akkor többnyire 5V tápfesz mellé elég a 3.3-as I/O fesz is, legrosszabb esetben pedig marad a level shifter...

  • fpeter84

    senior tag

    válasz Janos250 #2981 üzenetére

    Szemezek ezzel az olcsó M3 modullal, mert sokmindenhez elég lehet ennyi is, felesleges a Due sok lába és mégis van CANbus - feltéve hogy találok hozzá számomra is emészthető példákat... Ebben is van alapból bootloader vagy először kell hozzá JTAG programozó hogy éledjen?

Új hozzászólás Aktív témák