Hirdetés

2024. május 9., csütörtök

Gyorskeresés

Téma összefoglaló

Téma összefoglaló

  • Utoljára frissítve: 2023-03-11 00:46:52

LOGOUT.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.

Összefoglaló kinyitása ▼

Hozzászólások

(#15001) Brain75 válasza weiss (#14999) üzenetére


Brain75
senior tag

Köszönöm a segítséget, már hozzá is írtam a joystick library-hoz való sorokat.

Hibátlanul működik.
Ha be van kapcsolva a billenő kapcsoló akkor analógot olvas, ha ki van kapcsolva akkor a digitálist.

Nagyon köszönöm a segítséget.
:R :R :R :R :R :R :R :R :R

/LOGITECH Kormány, Játékvezérlő, Hangfal, Egér, Billentyűzet, Dell, Toshiba, Fujitsu, Acer notebookok és minden egyéb elektronikai termék szakszerű, gyors JAVÍTÁSÁT vállalom/

(#15002) PHM


PHM
addikt

Nem igazán értem, hol itt a probléma.
Kell egy váltókapcsoló, aminek a közös pontja megy az A0-ra,
a nyugvó és a munkaérintkező pedig a potira, illetve a kapcsolóra.
Fölösleges túlbonyolítani, ha nem muszáj. Szerintem.

Ma olyan bizonytalan vagyok... Vagy mégsem?

(#15003) Aryes válasza PHM (#15002) üzenetére


Aryes
nagyúr

Ez is igaz. :D

(#15004) Brain75 válasza PHM (#15002) üzenetére


Brain75
senior tag

Weiss kolléga megoldása a leg elegánsabb megoldás szerintem.
Így nem kell kötögetni össze vissza, csak egy kapcsolót bekötni.
Én is váltókapcsolóban gondolkoztam, de ha meg lehet oldani pár sor programmal a dolgot akkor miért ne ?!
És ezzel meglehetett. Nagyon hálás vagyok nektek srácok, hogy ilyen későn is segítettetek.
:R :R :R

/LOGITECH Kormány, Játékvezérlő, Hangfal, Egér, Billentyűzet, Dell, Toshiba, Fujitsu, Acer notebookok és minden egyéb elektronikai termék szakszerű, gyors JAVÍTÁSÁT vállalom/

(#15005) Aryes válasza Brain75 (#15004) üzenetére


Aryes
nagyúr

Így van, amíg van szabad I/O pin, addig ez a legjobb megoldás. Aztán mikor elfogynak a szabad pinek, akkor lehet agyalni, hogyan multiplexeljen az ember egy pin-re két inputot meg egy output-ot (true story :DDD).

(#15006) gyapo11 válasza Aryes (#15005) üzenetére


gyapo11
őstag

Egy bemeneten is elég jól lehet játszani az idővel. Amikor ezt teszteltem, 3 vagy 4 beállítást is tudtam egy mikrokapcsolóval működtetni, 0.5 s alatt, 0.5-1 s között, 1-1.5 s között és fölötte. Kell hozzá egy kis ritmusérzék, de simán ment. És akkor még mehet a dupla kattintás, a tripla kattintás és így tovább, és ezeket nem túl nehéz leprogramozni. Elemlámpáktól lehet ötletet meríteni, mert ott is egy gomb van, és sok funkciót kell beállítani esetenként, és nagyon sok emberen van tesztelve a milliárdnyi lámpa révén.

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

(#15007) Aryes válasza gyapo11 (#15006) üzenetére


Aryes
nagyúr

Igen, ez is jó ötlet, raspberry-n csináltam így reset+kikapcsoló gombot ugyanarra az 1db tactile switch-re.
Én arra gondoltam, hogy pl. egy attiny85 projektemben egy pin-re tettem egy mikrokapcsolót, egy ledet és egy hangszórót. De fordítva is lehet, több különböző gombot ellenálláslétrával egy analóg pinre kötni (és még emellett kimenetként is lehet használni, a gombokat nem zavarja). Vagy a soros buszt is lehet multiplexelni, hogy 2 pin helyett csak 1-t foglaljon.

(#15008) Brain75 válasza gyapo11 (#15006) üzenetére


Brain75
senior tag

Erre pont tegnap találtam egy videót.
[link]

/LOGITECH Kormány, Játékvezérlő, Hangfal, Egér, Billentyűzet, Dell, Toshiba, Fujitsu, Acer notebookok és minden egyéb elektronikai termék szakszerű, gyors JAVÍTÁSÁT vállalom/

(#15009) Tomika86


Tomika86
senior tag

Sziasztok!

Arduino mega 2560ra írok egy programot ami 4db analóg értéket, 2db ds18b20 hőmérsékletet illetve sebességértéket és fordulatszám értéket jelenít meg egy 7" Nextion kijelzőn.
Még csak az analóg értékeket és a 2db hőfok kijelzésnél járok, de úgy érzem lassú az egész.
Az értékek lebegőpontosan vannak számolva és dtostrf paranccsal konvertálva stringbe ami elküldve a nextion text mezőjében jelenik meg 1tized pontosan.

Olvastam hogy float számolást ne erőltessük arduinonál, de akkor máshogyan hogyan csináljam a tizedest.

Köszönöm a segítséget!

(#15010) Aryes válasza Tomika86 (#15009) üzenetére


Aryes
nagyúr

Kizártnak tartom, hogy Te a lebegőpontos - integer közti sebességkülönbséget érzékelnéd. Legfeljebb olyan esetben, amikor tízezrével végzel ciklusban műveleteket.
Ha csak 1 tized pontossággal kell számolnod, akkor szorozd fel az értékeket 10-zel, aztán a végén oszd vissza, vagy még gyorsabb a biteltolás, pl: x << 4, a számolás végén pedig osztás 16-tal.

Szerintem egyszerűen maga a kijelző és/vagy az azt kezelő library lassú.

[ Szerkesztve ]

(#15011) Tomika86 válasza Aryes (#15010) üzenetére


Tomika86
senior tag

Ezt csak olvastam, hogy lassú arduinon.
Kijelzőt még csak szimulálom, Nextion editor debug-al.
Kijelzőhöz nem használok külön könyvtárat, sima serial.print amivel küldöm az adatokat.

Azzal, hogy a programrészeket függvényekbe írtam és ezeket különböző paraméterekkel hívom meg nem csináltam rosszat igaz?

Köszi

[ Szerkesztve ]

(#15012) Aryes válasza Tomika86 (#15011) üzenetére


Aryes
nagyúr

nem csináltam rosszat igaz?

Persze, hogy nem. Nemrég az oszcilloszkópom kapcsán eléggé beleástam magam én is a sebesség témába, de én lementem egészen assembly-ig, hogy nyerjek néhány us időt, és azt láttam, hogy a fordító meglepően hatékonyan optimalizálja a kódot. Alig tudtam rajta javítani.

Hol érzed lassúnak a programot? A serial.print rohadt lassú tud lenni, még magas bitrátán is, ha esetleg 9800bit/s sebességgel használod, emeld meg 115200-ra, ha lehet.

(#15013) Tomika86 válasza Aryes (#15012) üzenetére


Tomika86
senior tag

A kijelzőn az adatok láthatóan lassan frissülnek. 115200baudon vagyok

(#15014) Tomika86 válasza Tomika86 (#15013) üzenetére


Tomika86
senior tag

A debug fogadott parancsoknál is látni, hogy nem folyamatosan jönnek a kódok az arduinotól.

[ Szerkesztve ]

(#15015) stopperos válasza Tomika86 (#15009) üzenetére


stopperos
senior tag

Esetleg csökkentsd a DS18B20 szenzorok felbontását, az alap 12 bit helyett a 10 is elég szokott lenni. A 750 ms szenzoronkénti kiolvasási idő így a negyedére csökken.

"What is Linux? I only joined because of the the penguin..." - meanwhile in the linux community. http://9gag.com/gag/arpZGOy

(#15016) Tomika86 válasza stopperos (#15015) üzenetére


Tomika86
senior tag

Igen az is elég simán
Köszi kipróbálom.

(#15017) Aryes válasza stopperos (#15015) üzenetére


Aryes
nagyúr

Ja, hogy majdnem egy másodperc egy kiolvasás?! Akkor ott tényleg nem a lebegőpontos művelet a lassú. :DDD

(#15018) And válasza Tomika86 (#15013) üzenetére


And
veterán

Csatlakoznék Aryes kollégához, ami a lebegőpontos műveletek sebességét jelenti. Más - de szintén 8-bites - kontroller is elég nagy kódot generál az ilyesmihez, de ha adatküldési vagy megjelenítési ciklusonként csak egyszer kell végrehajtani, az lópikula.
A Nextion-hoz viszont két dolog: az első, hogy a debug-módja nem túl életszerű, mikor soros porton küldözgetek rá adatokat szoros időzítések mellett (erre egyébként a leírása is utal). A másik, hogy a változói számára a hagyományos módú értékátadás (egyáltalán: parancsküldés) rettentő pazarlóan bánik az adatmennyiséggel. Ezt megkerülni csak 'reparse' módban lehet, amit a Nextion parancskészlet részletezése is jótékony homályban hagy. A legtöbbször csak annyit említ róla, hogy ezt úgysem szokás használni, így aztán mindenféle netes példákból lehet csak kihámozni a gyakorlati megvalósítását (pedig nagyon előnyös dolog). Azzal viszont én 500 ms-os gyakorisággal adok át a legkisebb (Basic-sorozatú, vagyis a létező leglassabb) típusnak közel 100 változót, és nem tűnik lassúnak. Persze egyetlen képernyőn sosem jelenik meg az összes, de azért pár tucat biztosan, és mellette mást is csinál, animál / rajzol a HMI. A valóságban hibátlanul működik, debug-gal pedig ugyanaz a Nextion-kód közel sem tökéletes.
Mod: a bitráta a uC - Nextion között nálam is 115,2 kbps.

[ Szerkesztve ]

(#15019) Tomika86 válasza Tomika86 (#15016) üzenetére


Tomika86
senior tag

Jelenleg nincs rajta a hőmérő, így - 127 érték jön.
Így is megvan a késleltetés?
A héten jönnek meg a szenzorok

(#15020) Aryes válasza Tomika86 (#15019) üzenetére


Aryes
nagyúr

Ekkor te most tulajdonképpen egy emulátort szeretnél optimalizálni? :F

(#15021) Tomika86 válasza Aryes (#15020) üzenetére


Tomika86
senior tag

Kijelzőt jövő héten rendelem meg, addig debuggal ismerkedek.
Szenzort pedig úgy gondoltam ha nincs bekötve akkor nincs késleltetése.

Nem tudtam, hogy a debug ennyire más a valóstól.

(#15022) gyapo11 válasza Tomika86 (#15021) üzenetére


gyapo11
őstag

Állíts össze egy áramkört emulátorban meg a valóságban. Sokszor előfordul, hogy egy egyszerű kapcsolás milliószor gyorsabban fut a valóságban, mert az alkatrészek ismerik a fizikát és realtime történik a legbonyolultabb folyamat is, az emulátorban meg percekig tart az első tizedmásodperc kiszámolása.
De van fordított eset is, pl. ha egy c64 emulátort futtatunk egy mai korszerű processzoron, akkor lehet 10-100-szoros is a sebesség, sok játékot nem is lehet játszani, ha olyan időzítéseket használ, ami a sebesség miatt lerövidül.

menyország -> mennyország, akadáj -> akadály, jótálás -> jótállás, Iphoneal > Iphone-nal, kisuly > kisujj, csővet > csövet

(#15023) Tomika86


Tomika86
senior tag

Na majd jövök ha megjöttek az alkatrészek 😀

(#15024) Tomika86


Tomika86
senior tag

Sziasztok

Nextion Basic kijelzőnél van a gauge mint mutató. Ezt szeretném 2db nyomásmérőnél felhasználni.
A nextion mutatónál "9" óránál van a 0fok és megy körbe 360fokot.
A nyomásmérő órán 270foknál van a 0 érték, 180foknál a végérték óramutató járásával megegyezően.

Függvényt kell erre írni ami ezt lekezeli?
A 0pontot nem tudom állítani nextionban, hogy ne onnét kezdjen.

Köszönöm

(#15025) And válasza Tomika86 (#15024) üzenetére


And
veterán

Mivel a Nextion-féle Gauge objektumnak nem sok beállítható jellemzője van, ezért igen, muszáj írni egy rövidke script-et, ami adott eseménynél - most a Timer-en, ill. annak lejártán kívül más nem jut eszembe, ami erre a célra jó lenne - szépen átszámolja / átskálázza neked a bemenő mennyiségeket (nyomásértékeket) a mutató szükséges elfordulását eredményező ívszögekké.

(#15026) Tomika86 válasza And (#15025) üzenetére


Tomika86
senior tag

Akkor jól gondoltam.
Mert elöször 270foktól kell 360fokig majd tovább 180fokig. Az értékem pedig 0-400ig van
A map függvény pedig így nem használható.

(#15027) Aryes válasza Tomika86 (#15026) üzenetére


Aryes
nagyúr

Ha simán hozzáadsz 270-et a kijelezni kívánt adathoz, akkor nem fordul át?

(#15028) Tomika86 válasza Aryes (#15027) üzenetére


Tomika86
senior tag

Különszedtem a 2db map függvényt if blokkokkal.
A 0-4.0 tartományt átskáláztam 0-270re. Aztán if blokkal ellenőrzöm a bemeneti adatot.
Ha 0-90 között van akkor map 270-359 közé
Ha 90-270 között van akkor map 0-180 közé.

Kipróbáltam működik

[ Szerkesztve ]

(#15029) Aryes válasza Tomika86 (#15028) üzenetére


Aryes
nagyúr

De nem kellene szétszedni, át kellene fordulnia magától, mikor átlépi a 360-at.

(#15030) Tomika86 válasza Aryes (#15029) üzenetére


Tomika86
senior tag

Nem emlékszem pontosan, de így adtam meg:
map(nyomas, 0, 400, 270, 180);

Nyomas változó itt 0-400 között volt, az utolsó kettő értéket próbáltam felcserélve is, de vagy 180tól ment 270fokig,vagy 270foktól 180fokig de óramutatóval ellentétesen

[ Szerkesztve ]

(#15031) Aryes válasza Tomika86 (#15030) üzenetére


Aryes
nagyúr

Hát persze, ez így teljesen rossz, mert 180-270-ig map-eli az értékeket, csak visszafelé, a lesz 270, a 400 pedig 180.
A helyes kód:
map(nyomas, 0, 400, 270, 540);
Minden magára valamit adó gauge 360 feletti értéket érték%360-ként fog értelmezni, ha nem, akkor hibát ad. Ez utóbbi esetben neked kell a műveletet elvégezni, vagyis
helyes_érték = map(nyomas, 0, 400, 270, 540)%360;

[ Szerkesztve ]

(#15032) Tomika86 válasza Aryes (#15031) üzenetére


Tomika86
senior tag

Köszönöm, kipróbáltam így egyszerübb!
Ezt a %360as megoldással nem találkoztam sehol.

(#15033) Aryes válasza Tomika86 (#15032) üzenetére


Aryes
nagyúr

A % az osztási maradék műveleti jele, amit ugye bonyolultan is le lehetne írni, hosszú képletekkel, de így egyszerűbb és elegánsabb. De gyanítom, hogy enélkül is működne, már 30 évvel ezelőtt, Commodore64-en, a Graphics Basic-ben is lehetett körívet rajzolni 360-nál nagyobb szögekkel. :DDD

(#15034) Tomika86 válasza Aryes (#15033) üzenetére


Tomika86
senior tag

Mint osztási maradék oké, de itt a mutatónál nem tudtam hogy működik.
Enélkül nem ment.

Köszönöm

(#15035) Aryes válasza Tomika86 (#15034) üzenetére


Aryes
nagyúr

Szívesen!

(#15036) gyapo11 válasza Tomika86 (#15032) üzenetére


gyapo11
őstag

Itt találod.

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

(#15037) gazso75


gazso75
aktív tag

Jó tudni:
[link]

(#15038) Janos250 válasza gazso75 (#15037) üzenetére


Janos250
őstag

Most kell feltölteni a tartalékokat, mert ha 1-2 héten belül nem rendeljük meg, az már tébolyda lesz a drága és elhúzódó adminisztráció miatt. Ha egy párszáz forintos tételre ki kell fizetni az 1-2 száz forint ÁFA mellé még a többezer forintos adminisztrációs díjat, az bizony kellemetlen lesz. Lehet mondani persze, hogy vedd meg a hazai kereskedőtől, de rengeteg olyan dolog van, ami nincs a hazai kereskedelemben. Lesznek persze továbbra is olyan netes áruházak, amik EU raktárról küldik az árut, de ott jóval kisebb a választék, és amit ott nem találsz meg, kénytelen leszel továbbra is kinnről rendelni. Szóval csinálj leltárt, és amire szükséged lehet, azt gyorsan rendeld meg. Nekem is most vannak útban még ilyen-olyan stiftek, csavarok, szenzorok, dugdosós kábelek, csatlakozók, IC-k, modulok, ESP32-k, tápegységek, FET-ek, miegymás.

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#15039) Aryes válasza Janos250 (#15038) üzenetére


Aryes
nagyúr

Nagyon meg lennék lepve, ha párszáz forintos cuccra több ezer forintos adminisztrációs díj kerülne. Azt írják: sávos lesz.
Szerintem a legtöbb webshop megoldja majd európai raktárból, vagy beépíti az áfát, legalábbis ebben reménykedem. Azt meg sajnos nem tudom, hogy a jövőben mire lesz szükségem. :(
Azt tudom, hogy bármilyen értékű ellenállásra lenne szükségem, az sosincs éppen itthon. Tudtok javasolni esetleg olyan készletet, amiben össze van válogatva az összes ellenállás, amire ezután szükségem lesz? :DDD

(#15040) Janos250 válasza Aryes (#15039) üzenetére


Janos250
őstag

Igen, én jövőbelátó képességekkel rendelkezem, és úgy sejtem, hogy neked is ebben a csomagban lévőkre lesz szükséged: ;]
https://www.ebay.com/itm/2600PCS-130-Values-1-4W-0-25W-1-Metal-Film-Assorted-Pack-Kit-Set-Resistors/173860010941
de lehet, hogy ez is megteszi:
https://www.ebay.com/itm/600-Resistors-Metal-Resistance-Film-12-each-30-Values-Assortment-Pack-1-4W-1/392918460939

[ Szerkesztve ]

Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.

(#15041) dew28 válasza Aryes (#15039) üzenetére


dew28
aktív tag

Vegyel egy csomo potit, aztan majd betekergeted. ;]

[ Szerkesztve ]

(#15042) Aryes válasza Janos250 (#15040) üzenetére


Aryes
nagyúr

Köszi! :R Ebay-ről nem szeretek vásárolni, remélem találok ilyet az Alin is.

(#15043) Aryes válasza dew28 (#15041) üzenetére


Aryes
nagyúr

Nem is hülye ötlet. :DDD

(#15044) DigitXT válasza Aryes (#15042) üzenetére


DigitXT
félisten

Mi a baj az eBay-jel? (Azon kívül, hogy bizonyos termékek jóval drágábbak ott?:D)

(#15045) Aryes válasza DigitXT (#15044) üzenetére


Aryes
nagyúr

Például ez az egyik. :DDD Az aliban jobban bízom, egységes fizető és garancia rendszere van, évek óta kb. mindent onnan veszek, egyszer vertek át onnan, de még abból is jól jöttem ki: attiny85 helyett attiny12-t küldtek, de bosszúból megtanultam assembly-ban programozni. ;]

(#15046) Tomika86


Tomika86
senior tag

Ha már Ali,
Van Nextion 7" kijelző az intelligens P típus is 20-22eft-ért. Erre a 27% Áfa és 5000ft vámeljárás jön, ez 35000ft kb?
Eu raktárast nem találtam...
Mennyire megbízhatóak vajon? Itthon a sima is 60e ft kb.
Kínai a kijelző, ezt is hamisítják, miért ilyen olcsó?

(#15047) Aryes válasza Tomika86 (#15046) üzenetére


Aryes
nagyúr

Mondd már el, hogy mi olyan jó abban a kijelzőben? Ennyiért már lassan egy 32"-os tévét is lehet venni. :F

(#15048) dew28


dew28
aktív tag

#15047 Aryes
HMI-hez kepest nem kifejezetten draga, bar nyilvan elegge 'kinai' :D

[ Szerkesztve ]

[ Szerkesztve ]

(#15049) Tomika86 válasza Aryes (#15047) üzenetére


Tomika86
senior tag

Van alternatív megoldasod arduinohoz?

(#15050) Aryes válasza dew28 (#15048) üzenetére


Aryes
nagyúr

Copyright © 2000-2024 PROHARDVER Informatikai Kft.