-
GAMEPOD.hu
Arduino hardverrel és szoftverrel foglakozó téma. Minden mikrovezérlő ami arduinoval programozható, és minden arduino program, board, és hardverrel kapcsolatos kérdések helye.
Új hozzászólás Aktív témák
-
atesss
addikt
válasz atesss #12939 üzenetére
Látok egy ilyet AliExpress-en, hogy "MicroPython maker programming ESP8266 development board" [link]
Na de miben más ez fizikailag ? Vagy csak amiatt írták át a nevét ilyenre, hogy MicroPython-ra keresve is megtalálják az emberek ?
Vagy valami SW-es különbség (pl. bootloader) van ? -
Dißnäëß
veterán
válasz atesss #12939 üzenetére
Van egy pici wifis EPS8266-om és innen tudtam meg én is, hogy az Arduino IDE-be bevették őket is, Preferences alatt kell Board Manager URL-ek közé (ha 1 vagy több már van ott) betenni a listába: https://arduino.esp8266.com/stable/package_esp8266com_index.json
Majd a Boards Manager-ből a listából az esp8266 szekcióra menni (nálam spec legalul van) és Install.
Ezután a Board-ra menve már listáz egy raklap ESP-s kütyüt az IDE, én a sajátomhoz azt a tippet kaptam, hogy Generic ESP 8266-ot válasszak a listából és AVRISP mkII programozót. Tökéletes.
Lá lá lá lá lááá lááá.. Lá lá lá lá lááá lááá .. Lá lá lá lá lááá lá lááá lá lá lá lááááá láááá
-
nagyúr
válasz atesss #12939 üzenetére
Igen, serial van rajta gyárilag, és van olyan board, amin integrált FTDI chip van az egyszerűbb kódfeltöltés érdekében.
Másrészt van lehetőség OTG firmware feltöltésre, ennél először USB-n (vagy serial-on külső FTDI kábellel) fel kell tölteni a megfelelő OTG firmware-t, onnantól kezdve wifi-n keresztül tudod frissíteni. -
Janos250
őstag
válasz atesss #12939 üzenetére
"Melyik a legkisebb/legolcsóbb ESP-s panel, amin van már van I2S ?"
Ez elég kicsi, és kevesebb, mint 5 $.
Legfeljebb kidobod a kamerát. Már van rajta SD kártya foglalat is.
link
Meg ez is pincuri, alig több, mint 4 $
link
Elvileg van rajtuk kettő darab hardver I2S. (Soha nem próbáltam)[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
válasz atesss #12946 üzenetére
A 8266-ban nem emlékszem, már mi van hardverben, de ESP32-ben rengeteg. Aki most veszi, annak én mindenkinek az ESP32-t szoktam ajánlani, de ezzel nem mindenki van így. Az ESP8266-ha írott lib-ek, programok általában változtatás nélkül is mennek rajta.
Nekem is tetszik az a kis kamerás modul. Tűrhető képe van, egyszer régen tettem is fel mintaképet, úgy emlékszem.És I2C, vagy I2S ?
[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
válasz atesss #12959 üzenetére
Külső memóriát én egyikhez se kapcsoltam, ezt a részét nem ismerem.
SD kártyát használok, link
Az általános "Arduinoként" hirdetett modulokta természetesen minden Arduino kompatibilis lap tudja használni.
Az, hogy az UNO-hoz hasonlóak "stackelni" lehessen a modulokat ESP-re is, az ritka, mert
nem egy szigorúan rögzített lábkiosztásról van szó, mint az UNO-nál, hanem gyártótól függ, bár többnyire nagyon hasonló.
Ezért csak az adott termékhez az adott gyártótól származó shield dugható rá közvetlenül.
Olyat, amit linkeltél, nem tudok.Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Janos250
őstag
válasz atesss #13009 üzenetére
Ezt bizony, neked kell implementálni szoftveresen. Már csak azért is, mert így lesz igazán egyedi az algoritmus, amivel generálod. Nem okoz kockázatot a megnyomod N-szer, mert ugyanolyan generált kódokat küld, és ha nem olyan érkezik, ami megfelel az algoritmusnak, hogy az előző N-ből van generálva, akkor azt csak letárolja, de nem hajt végre semmit. N nyomás után már igaz lesz, hogy az előző N darab letároltból van generálva az új, tehát valid, végrehajtható. Ha valaki összevissza küldözget kódokat, soha nem felel meg a követelménynek.A biztonsági kockázat annyi, hogy ha kiolvassa az általad küldött kódot, de előtte letilt a netről, hogy ne menjen ki a kód, akkor az így kiolvasott kód valid lesz, mert a vevő nem tudhatja, hogy mi történt. Vagy ha sokszor nyomogatod, ellop N+1 db. egymás utáni kódot, és N-e szinkronizál, az N+1-el meg nyit. Ezért az autóknál valahogy másként oldják meg, hogy a vevő azt is tudja, hogy hol tart a dolog, és a már használtakat nem fogadja el, de nem tudom, hogyan csinálják. Persze erre is lehetnek megoldások. Valahogy így lopják el az autókat, hogy valaki odamegy a kocsi mellé, fehérzajjal elérhetetlenné teszi a kocsi elektronikáját, közben olvassák a kódot. Részleteket nem tudok, mert nem szoktam autót lopni.
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
And
veterán
válasz atesss #13025 üzenetére
Amikor kellett ilyen modul, mindig olyan verziókat szereztem be, amelyekhez járt tekercsantenna is (STX/SRX-882), szintén az Ali-ról. Mellesleg jobban elhelyezett, normálisabb antennával azért többre is képesek, mint ezekkel a vacak tekercsekkel, bár néhány méterre lényegtelen.
Az az RXB12 modul csak receiver, vagyis vevő. Mindenképp érdemes párban venni Rx-Tx modulokat, mert úgy egyrészt általában olcsóbbak, másrészt akkor nem lesznek gondok a kompatibilitással. Az STX882 is ASK-t használ, arról az általad linkelt RXB-ről kevesebb infó van. Általános jó tanács, hogy kerüld azokat a (főleg vevő-) modulokat, amelyeken nem látsz kvarcot (adón azért szokott lenni), és az sem baj, ha ezen felül kerámiaszűrőt is tartalmaz a vevő, mert utóbbi sokkal jobb közelszelektivitást ad.
"Ezek a modulok milyen hosszúságú kódot küldenek ?"
Pontosan olyan hosszút, amilyen hosszút te beleküldesz . Mivel ezek egyszerű rádiók, nem tartalmaznak egyéb kontrollert. Van is némi tapasztalatom arról, hogy apró nyűgjeik vannak, például nálam az első 1-2 byte adat 'lemaradt' a vevő kimenetén, tehát meg kellett toldani kissé az átvitt adatot, ami összesen szintén csak pár byte volt. Egyéb tekintetben az említett STX-882 és SRX882 páros bevált: az adó kellően nagy teljesítményű, mindkettő viszonylag normális adatlappal rendelkezik és extraként alig fogyasztanak inaktív állapotban (ha az adóra nem megy adat; a vevőn pedig van engedélyező input, és ezek megléte az akkus üzem miatt nálam fontos szempont volt). -
And
veterán
válasz atesss #13028 üzenetére
Az adó is kvarc- (vagy legalábbis felületi hullámszűrő által) vezérelt, simán befér abba a fém tokba. A vivő pontossága ±100 kHz, azért rakják bele, hogy ez tartható legyen, lehetőleg ne sok MHz-cel odébb működjön, mint kellene. Vevő kerámiaszűrő: igen, a háromlábú alkatrész, 10,7 MHz-es, ennek megléte normálisabb felépítést, középfrekvenciás szűrést jelent.
Adatsebesség 0,1...10 kbps, kisebb adatrátán általában jóval érzékenyebbek ezek a vevők, az adatlap is 1,2 kbps-re adja meg a specifikált -110 dBm-es (tipikusan) igényelt jelszintet.
Mod.: a 868 MHz-es sáv is használható, de azon kicsit kötöttebb az adatforgalom (tudomásom szerint csak meghatározott, elég limitált impulzushosszban működtethető az adó), ezen felül a modulok típusválasztéka is kisebb, és az áruk is magasabb, mint a 433 MHz-es példányoké.[ Szerkesztve ]
-
And
veterán
válasz atesss #13032 üzenetére
A kerek fémtok az adómodulon maga a SAW-szűrő: [link], igaz nem kvarc, de azért nem is egy hangolt LC-kör (mint egyes kristály nélküli vevőmodulokon látható).
Kis hatótávolságú eszközökre (SRD-kre) vonatkozó hazai szabályozás:
433 MHz: max. 10 mW ERP, 100%-os kitöltés,
868 MHz: az alkalmazott sávszélességtől (is) függ a teljesítmény és a kitöltési tényező, alacsonyabb sávszél esetén max. 25 mW ERP és 1%-os kitöltés (adás / szünet arány).
Bővebb infók itt: [link]. -
nagyúr
válasz atesss #13048 üzenetére
A PIR burkolata a mozgásérzékelő rendszer szerves része, ha azt eltávolítod, nem fog működni. Nagyjából azt csinálja, hogy váltakozó világos-sötét zónákat vetít a szobára, és utána az ebben történő változást érzékeli. Szerintem nem alkalmas arra, amire szeretnéd használni, ahhoz túl lassú. Mindenképp optokapuval kellene megoldani! Ha nagy a távolság, akkor vagy lézerdióda + fotocella kombinációval, vagy a sima infrás optokaput kiegészíteném a kínai boltokban kapható filléres, projektoros zseblámpából kiszerelt nagyító lencsével! Én most ilyennel készítek egyedi lasertag fegyvert, ha jól van a fókusz beállítva, 10-15m-re simán el lehet világítani vele.
+1 ötlet: mivel emberek fognak lecsúszni a csúszdán, valamilyen kapacitív-, illetve súlyérzékelő is szóba jöhetne!
[ Szerkesztve ]
-
nagyúr
válasz atesss #13053 üzenetére
A lézerdióda ... ne legyen veszélyes a szemre (plusz gyerekek is vannak). Illetve ha komolyabban látszik, az sem szerencsés.
Kizártnak tartom, hogy a lézerfénybe csúszás közben bele tudjon nézni bárki elég ideig ahhoz, hogy veszélyes legyen, főleg, ha süllyesztve van és csak egy bizonyos szögből látszik, de még ekkor is lejjebb lehet venni a teljesítményét. De az infra valóban jobb, mert nem látszik, nem vonja magára a figyelmet.
A nagyító lencse is lehetne, bár az azért már átmérőben nagyobb.
Lehet bármekkora, ha egy 10mm lyukon kívül helyezed el, pont elég fényt fog a lyukon átküldeni.
Ennyiben lenne jobb egy még erősebb infraled. Aminek nem a sugárzási szöge nagyon kicsi, hanem a teljesítménye nagyobb
Hidd el, hogy egy mezei infra diódával, ami a távirányítókban is van, 20mA árammal 10m-re adatot is tudok sugározni megbízhatóan. A fókuszt pedig ne úgy képzeld el, mint a lézer pointer tűhegyes vetítési képét, nem kell azzal olyan pontosan célozni, kb 5°-ban nyílik a sugár. [kép]
[ Szerkesztve ]
-
Janos250
őstag
válasz atesss #13048 üzenetére
Működik az akkor is, ha leveszed a búrát, csak kevésbé érzékeny, de egy ember elhaladását biztosan érzékeli.
Pontosan ennek a típusnak nem szedtem le a búráját, búrával prímán működik, de egy másik, kisebb típusból több példány is kiválóan
kapcsolja a ledszalagot ember közelítésére levett búrával.
link
Elég lapos, konkréten a led sínekbe vannak berakva a led szalagok végéhez. Viszont ezt 12V-os ledekhez gyártják, nem próbáltam, megy-e kisebb feszültséggel.
Ez meg kisebb:
[link]
Ezekkel is szemeztem már, de ezeket nem próbáltam:
link
link
Az infrakapu és a "radar" is jól működik, de azokat csak kipróbáltuk, üzemszerű használatba még nem kerültek.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
And
veterán
válasz atesss #13061 üzenetére
Esetedben a TSOP IR-remote vevő sorozat nem igazán nyerő, mivel az nem egy szimpla fotodióda, és sok szempontból kötött jelformát igényel. Létezik amúgy kifejezetten proximity IR-detektor is a Vishay kínálatában, TSSP-típusjelzéssel, például: TSSP77P38, ez a TSOP-sorozattól annyiban tér el, hogy az IR-adó oldaláról nem a szokásos remote-protokollok szerinti adattal kell etetni, hanem szimpla vivőfrekvenciás impulzussorozattal, és a detektor válasza egy, a vett jelszinttől (ergo távolságtól) függő diszkrét impulzus lesz. Legjobb lenne, ha az IR-ledet is tartalmazná a tok, de sajnos az nincs benne.
"Ebben a kísérletedben az adó led pontosan mi volt, és milyen adatlap szerinti sugárzási szöggel ?"
Konkrét típusra nem emlékszem, csak arra, hogy a Lomex-ből származó többféle példánnyal is próbáltam (víztiszta illetve szürke tokossal), és eléggé átlagos nyílásszöggel rendelkeztek, ami az ilyen diódáknál szokásos 30..40° volt, a hatótávolságuk nem szórt túlságosan adott áramú meghajtással. Az egyik típus talán a kékes színű tokba szerelt CQY37-es volt, az elég jellegzetes kivitelű és 24° nyílású. -
atesss
addikt
válasz atesss #13095 üzenetére
Közben meg is találtam ami elsődlegesen gondoltam: Wiznet W5500 alapú SPI-Ethernet hálózati modul [link]
1700Ft-ért (és úgy hogy ez az ár magyar boltból) egyáltalán nem mondható drágának szerintem.
De Aliexpress-ről talán olyan 700-800Ft-ért is lehet, ha több db-ot rendelsz.Gergosz2
Természetesen van benne beépített Ethernet trafó is.
Az ESP-s modulokon a legkisebbek kivételével (ami 8 pin kivezetéssel van) szinte mindegyiken van SPI, jól sejtem ?[ Szerkesztve ]
-
Gergosz2
veterán
-
And
veterán
válasz atesss #13191 üzenetére
"Arra jutottam, hogy ha pozitív logikát akarok (akkor legyen logikai 1-es a GPIO, amikor meg van világítva a fototranzisztor), akkor ehhez az ellenállásnak kellene lennie a GND oldalon.
Jól gondolom?"
Jól gondolod.
"Az ellenállás mekkora legyen ?"
Erre első körben nem hinném, hogy konkrét értéket lehetne írni. Ismert ugyan a fototranzisztor kimeneti karakterisztikája (kollektoráram az optikai teljesítménysűrűség függvényében), de tudni kellene még pár adatot:
- nyugalmi állapothoz (kijelző inaktív) tartozó kollektoráram,
- aktív szegmenshez tartozó kollektoráram, illetve az előző értékhez mért különbsége,
- RasPi GP input küszöbfeszültsége.
Az érték függ a kiépítéstől is, például mekkora környezeti fény jut vissza a detektorra. Úgyhogy valószínűleg csak teszteléssel mehetsz biztosra az adott határokon - pl. a maximális kollektoráram 50 mA lehet - belül. Ha a két megvilágítási állapothoz tartozó áramok különbsége túl kicsi, az input hiszterézise meg viszonylag nagy, akkor előfordulhat, hogy macerás vagy lehetetlen a megfelelő ellenállásértéket belőni. Mod.: vagy egy plusz komparátorral kell kiegészíteni a fokozatot.[ Szerkesztve ]
-
And
veterán
válasz atesss #13193 üzenetére
"Pl. bedugok pl. egy 50k-st, megmérem a megvilágított és a nem-megvilágított áramokat, meg mondjuk a kimeneti feszültséget is mindkét esetben."
Az elv oké (már amennyire egy ilyen projekt oké lehet ), de én kisebb ellenállással kezdeném, vagy egy relatív kis (legyen 1k) ellenállás + néhányszor 10k-s helipot soros kapcsolásával, mert 50k esetén a legnagyobb kialakuló kollektoráram sem lehet nagyobb 66 μA-nél, azaz a nagyobb áramú munkapontokat eleve kizárod. Jó esetben nem sokszor tíz mA lesz a kialakuló áram, de ezt kellene csak korlátozni.
"Viszont az eszembe jutott, hogy ha multiplexelve vannak a kijelzők, akkor esetleg az okozhat problémát ebben a logikában "
Az időmultiplexelés okozta villogás frekvenciája általában 100 Hz nagyságrendű, vagyis akár egy szimpla integráló taggal eltüntethető, minimális plusz reakcióidő növekedés árán. Akár úgy is, hogy a kiszámított ellenállással párhuzamosan kapcsolsz egy - az ellenállás értékéhez igazított - elektrolit kondenzátort, hogy megfelelő időállandót adjon, például tizedmásodperces nagyságrendben. -
nagyúr
válasz atesss #13191 üzenetére
Én ezt egy tetszőleges AVR-rel és a benne lévő analóg bemenetekkel, illetve komparátorokkal oldanám meg. Akár úgy, hogy méred a világítás idejét, és ha sokáig nem alszik ki a led, akkor ERR lépett fel. Itt nem kell vizsgálni, hogy két szegmens világít. Tovább megyek, ezt egy aluláteresztő szűrővel és egy schmitt-triggerrel is meg lehetne csinálni, μC nélkül. Ez egyúttal kiiktatja a multiplexelés problémáját is.
Bocs, ez nem volt válasz a kérdésedre, csak ötleteltem.[ Szerkesztve ]
-
gyapo11
őstag
válasz atesss #13195 üzenetére
"... az ellenállás értékéhez igazított - elektrolit kondenzátort"
Ezt pontosan milyen képlettel számoljam ki ?Az alap képlet a C=Q/U, ahol C a kapacitás, Q a töltés mennyisége és U a feszültség. Q=I*t, vagyis t=C*U/I.
De egyszerűbb egy áramkör szimulátorba betenni, és pár értékkel megnézni, hogy mekkora lesz a jelen a zaj.
Pl. 10 μF kondi 1 és 10 kΩ-mal így néz ki:
1 k-val több mint 1 V a zaj, 10 k-val már csak 100 mV.menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
atesss
addikt
válasz atesss #13199 üzenetére
Itt vannak az ígért fotók az eszközről:
[kép] [kép] [kép] [kép] [kép]
A 3. és 4. kép alapján látszik, hogy tényleg multiplexelve vannak a kijelzők. A vaku-s fényképezés zárideje alatt van amikor csak 2-3 kijelző aktív.
A "normál üzemről" - a szegmenseken körbefutó jelzésről - pedig videót csináltam, azt hova lenne érdemes feltölteni, hogy itt linkelni tudjam ? -
atesss
addikt
válasz atesss #13241 üzenetére
Összeraktam, és csináltam is egy tesztet.
2k lett a fix ellenállás, és vele sorban pedig egy 5k-s trimmer potméter.
Első körben zseblámpával teszteltem, egy viszonylag sötét teremben.
Úgy elég jónak tűnt a min és max. érték.
1cm-ről a zseblámpával szembevilágítva közelíti a 3,3V-ot. Míg a zseblámpát kikapcsolva 0V.
A potméter tekerésével nem történt jelentős változás (legalábbis a szélsőértékeknél).Aztán beraktam élesbe, a kijelző elé is, eddig ennyit tudtam mérni vele:
[kép] [kép] [kép][ Szerkesztve ]
-
And
veterán
válasz atesss #13426 üzenetére
A bemenetek mindegyikére tettél felhúzó ellenállást? Nincs prell a bemenet(ek)en? Egyáltalán: csak adatot olvasol a PCF-ből, vagyis minden portot bemenetnek alkalmazol?
Ennek a port extendernek az előnye - nem kell külön belső regisztereket konfigurálni - egyben hátrány is lehet. Egy jobban beállítható extender, pl. az MCP230xx esetén portonként be lehet lőni az adatirányt, maszkolni a megszakítást (adott input eredményezzen-e olyat), és az INT-kimenet működése is elég részletesen befolyásolható. -
And
veterán
válasz atesss #13429 üzenetére
"Hát igazából felhúzó ellenállást nem raktam fixen a Raspberry GPIO pinekre, csak egy soros 330 Ohm-os ellenállást."
Nem is a RasPI GPIO-pinjeire gondoltam, hanem a PCF8574-re: ha a portjait csak inputnak használod (másképp fogalmazva: az I2C-busz csak olvassa a chip-et, sosem írja), akkor a portok mindegyikére illik 1-1 felhúzót tenni, lásd a rajzot a 15. oldalon, amire korábban hivatkoztál. Lebegve hagyni csak akkor lehet a Px-portok bármelyikét, ha kimenetként írod azokat (a többivel együtt).
"Utánanézek részletesen akkor ennek az MCP230xx-nek is. Csak persze az is kérdés, hogy mennyivel drágább ez a modul..."
Maga az MCP23008-as chip (ez a 8-portos, a PCF8574-hez hasonló kivitel) nettó 300 Ft körül kapható a hazai forgalmazónál, szóval van rá esély, hogy ha valaki nagy tételben veszi a gyártótól és modulra építi, akkor nem lesz veszett drága a PCF-es modulhoz képest. Ha nyákot is tervezel a kész kivitelhez, akkor meg mindegy, maga a chip is elegendő.
Emlékeim szerint volt már említve ebben a topikban az MCP23..-as I/O-extender, és mások is jó véleménnyel voltak róla. Létezik belőle SPI-buszos kivitel is, MCP23S08 típusjellel. Elég jól felépített, valódi kétirányú portokkal rendelkezik, 11 belső regisztere van és szanaszét konfigurálható. -
And
veterán
válasz atesss #13432 üzenetére
"2,2kOhm-os ellenálláson keresztül húzzák földre a pineket, amikor átkapcsolom a kapcsolót/lenyomom a gombot."
A bemenettel soros ellenállás nem igazán kell, de ha maga a port nincs elhúzva a Vcc felé, az nem oké. Lehet 10kΩ is a felhúzó, az csak annyit eredményez, hogy aktív (alacsony) inputnál, megnyomott gombnál a rajta átfolyó áram nagyobb lesz. Nagyimpedanciás inputot amúgy sem szokás szabadon hagyni: extrém alacsonyra tervezett nyugalmi áram (pl. telepes táplálásnál) helyett megnövekedett nyugalmi áramfelvétel, határozatlan szint az eredménye.
16 portos MCP-verzió: MCP23017 (I2C) vagy MCP23S17 (SPI). -
gyapo11
őstag
válasz atesss #13448 üzenetére
A multiméter másodpercenként 2-3 mintát vesz, és azt kijelzi 0.5-0.33 másodpercig. Nem tudom a konkrét mintavétel meddig tart, de ha rövid ideig, és a tárolt mintát méri meg, akkor ha egy 1 ms-os 5 V-os impulzusba éppen belemér, akkor akár fél másodpercig mutathatja, hogy 5 V, ez szemmel már jól észlelhető. Az analóg műszer más, de azt nem hívjuk multiméternek.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
And
veterán
válasz atesss #13452 üzenetére
"Mondjuk már így előre felmerült bennem, hogy ilyen "egy-impulzusos" jelre hogyan fog tudni szinkronizálni a szkóp.
Minek kellene lennie majd a trigger-forrásomnak ?"
Egyszerűen nem automata triggerelést választasz (amikor ész nélkül fut a sugár akár van trigger, akár nincs), hanem normál vagy 'one shot' módot - hívják akárhogyan, a lényeg, hogy csak triggerre induljon a mérés. A trigger szintjét féltápfesz környékére választod, a típusát pedig lefutó élre. -
Janos250
őstag
válasz atesss #13452 üzenetére
Ha nem akarsz triggerelni, azzal a szkóppal elég széles időintervallumot tudsz a memóriába helyezni, utána tetszőlegesen tudod nagyítani, részleteiben vizsgálni. Jó az a szkóp!
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
And
veterán
válasz atesss #13456 üzenetére
Az nem világos, hogy ha gombnyomásra indul a folyamat, és az input portra kerülő jelet - vagyis a gombnyomást, ami GND-re húz - a sárga görbe írja le, akkor miért csak a 3. képen szerepel ez a jel lefutó éllel, a másik kettőn pedig felfutóval? Egyáltalán, hol volt a mérőfej, magán az input porton, vagy a soros ellenállás előtt? Amúgy végül került arra a portra felhúzó vagy sem? Bocs, ha említetted volna, de nem találom ezt az infót.
Az is egy érdekes mérés lenne, ha a második csatornán nem az INT-jelet vizsgálnád, hanem magát az I2C-jelfolyamot, hogy az hogyan viszonyul időben a fizikai bemenet változásához képest. -
nagyúr
válasz atesss #13458 üzenetére
Azt hiszem végre sejtem, mi lehet a háttérben.
Van hardveres pergésmentesítés a nyomógombon? A kolléga már kérdezte, de nem adtál rá választ. Ha nincs, az egész teszt ebben a formában értelmetlen, mivel a lenyomástól számított 50-100ms-on belül a kapcsoló a pergés miatt random időközönként nyit-zár, mire megnyugszik. És mivel - ahogy Te magad is írtad - az INT láb az elengedésre is triggerel, ha interruptot állítasz be a gombnyomásra, a legelső kiolvasás után még számtalanszor tüzelhet az INT, mire beáll.
Ha igazam van, akkor ezt akkor fogod látni a szkópon, ha sleep nélkül folyamatosan olvasod az i2c port állapotát végtelen ciklusban (ezzel törölve az INT láb aktív állapotát). És az INT láb értékét ne olvasd közben, mert ahogy írtam, python-ból ez is lassú, talán még lassabb, mint az i2c. -
gyapo11
őstag
válasz atesss #13461 üzenetére
A legegyszerűbb pergésmentesítés ha csak egyáramkörös nyomógomb van, az r-c szűrő. Ha váltó kontaktusok, pl. mikrokapcsoló, akkor 7400, két nand kapu.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet
-
nagyúr
válasz atesss #13461 üzenetére
"Na de ténylegesen ez a GPIO-olvasási művelet lassú (az adott programkód lefutása sok idő)? "
Nem tudom pontosan hogy működik, mert sosem merültem el ilyen szinten a raspberry lelkivilágában, de úgy olvastam, hogy a python nem közvetlenül éri el a gpio-t, mint a C programok, hanem fájlként kezeli (talán a /dev/pigpio-t (?) írja-olvassa), ezért elég lassú, ~1ms egy művelet. Ha hülyeséget írtam, akkor javítson valaki.
-
nagyúr
válasz atesss #13465 üzenetére
Ez jó ötlet, de ha kiveszed a feldolgozást az interruptból és a main-be teszed, akkor nem is kell letiltani az interruptot, csak azt vizsgáld, hogy a gomb állapota mikor változott utoljára. Mented az utolsó változás idejét, és ha eltelt azóta pl. 50ms, akkor mehet a művelet.
Ennek a módszernek a hátulütője, hogy minimum 50ms-al lassítja a program reagálását. Ha fontos az azonnali reagálás, pl vmi időzítő kapcsolódik a gombnyomáshoz, akkor az első interruptra indulhat a művelet, és utána kell figyelni, hogy a mondjuk 80ms-belül érzékelt újbóli gombnyomást figyelmen kívül kell hagyni. Ennek pedig a zajérzékenység a hátulütője. -
nagyúr
válasz atesss #13467 üzenetére
"Viszont itt már figyelni kell rá, hogy mi van ha pl. két gombot egyszerre nyomtál le."
Erre egészen egyszerű a válasz: minden gombhoz külön-külön kell egy számláló, nem az interruptok közti időt kell számolni. Ezért is nem érdemes az interruptot letiltani.
"Azért ettől még nem raknám be a main-be."
Ezt írtad: "Lehetne az Interruptot ugyan letiltani ilyenkor, de helyette a MAIN ciklusban "órával" mérni, hogy mikor telt el már több mint 80ms."
-
Tankblock
aktív tag
válasz atesss #13471 üzenetére
Schmitt trigger alkalmazol, vagy a gomb helyett egyszerű érintő panelt pl TTP223
Problem solved.Ha meg szálaid vannak akkor meg nem mind1? írsz egyet ami figyeli h 1be vált-e az interrupt ban lévő flag. Amint lefutott amit szerettél volna és eltelt + 50 ms akkor 0 -ra váltog a flaget...
Release the Beast....
-
gyapo11
őstag
válasz atesss #13479 üzenetére
Akkor már jobb a vezérlés helyett szabályozni, betenni egy légmennyiség mérőt, és addig nyitni-zárni a szelepet, amíg a kívánt mennyiségű áramlás be nem áll.
menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet