Fórum témák
» Több friss téma |
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Android tablet, azon van bt. Az a probléma hogy egy usb portja van és van usb-s kártyaolvasónk de ha az rá van dugva akkor nem tölt. Esetleg erre nincsen megoldás?
ESP nem biztos hogy jó, vagy azt nem lehet wifi billentyűzetnek beállítani hogy textboxba tudjon írni? A hozzászólás módosítva: Szept 13, 2018
Modjuk ez: Bővebben: Link
Vagy egy ilyen: Bővebben: Link
Ez nem tölt!
Idézet: „Ez egy aktív HUB, így a microUSB csatlakozón kapott extra áram arra szolgál hogy az USB porton csatlakoztatott eszközök áramellátásáról gondoskodjon, ezáltal ne terhelje a telefonod vagy tableted akkumulátorát ez azonban nem tölti a készüléket csak segít, hogy ne fogyasszanak az eszközök még többet az akkumulátorából.”
Köszönöm szépen kimerítő válaszodat
![]() Lehet egy kérdésem az arduinoról töled? Most gyakorlatozok vele és eddig tetszik a viszonylagos egyszerüsége és logikus felépitése,viszont amit kérdezni szeretnék az az hogyha én összeszeretnék rakni egy olyan programocskát aminek csak annyi dolga lenne hogy egy lcdre irogasson dolgokat és az időt is ezen felül pedig egy lámpa halványítás időzités is benne lenne a progiban akkor a halványítás időtartama alatt a kijelző irogatás függöben van vagyis nincs változás a lcd-n vagy pedig az arduino tudja kezelni a többszálu müködést?
Az arduino egyszálú végrehajtást tud, vagyis egyszerre egy dolgot csinál. Ugyanakkor több megoldás is van arra, hogy kvázi párhuzamosan csinálj több dolgot.
Az egyik lehetőség az interrupt, magyarul megszakítás. Ilyenkor a uC csinálja pl. a képernyőre kiírást folyamatosan majd "valami" okoz egy interrupt-ot. Ilyenkor a kód futása megáll és az interrupt kód hajtódik végre. Ez a valami pedig lehet idő (timer), de lehet egy megfelelő láb high vagy low szintre kerülése is. A másik lehetőség az ún. preemtív multitaszk. Alapvetően egy egyszálú kódban egy lámpa halványítás úgy néz ki, hogy egy ciklusban van egy analogWrite() és utána egy delay(), és a delay alatt nem csinál semmit a uC. Hasonló az lcd-re kiírás is. Ilyenkor az a feladat, hogy a kettőt összerakod delay nélkül:
Ebben a móricka kódban maga az alapelv jól látható: nem "fogják" a vezérlést mindig az egyes szubrutinok, hanem mindig visszaadják - persze ha kell valamit csinálni akkor azért előbb megcsinálják. Ha valamit időzítve kell csinálni, akkor azt delay nélkül, az órát figyelve végzik el. A hozzászólás módosítva: Szept 17, 2018
Köszönöm szépen igy már kicsit érthetöbb,vagyis a loopba be kell tennem egy számlálót ami számolja majd az eltelt idöt is amig elnem ér egy bizonyos számot mondjuk 10 sec és ha ez megvan akkor elkezdi a halványitást amiben szinten berakok egy számlálot hogy mondjuk 4 sec alatt kapcsolja ki és azt is lehet ugyanigy hogy amikor megy a halványitás akkor ugyanugy tovább lép a progi és visszajön amig a halványitás igaz.
Még egy kérdés:A function az egyenlö a voiddal ?vagy ez külön dolog a c++?Még csak most ismerkedek vele igy csak azért kérdem
Valódi kódban void kell oda, már ha nincs visszatérési érték, mert ha van akkor annak megfelelő típus. Ez csak szemléltetés akart lenni, gyorsan összedobtam ezt a "kódot" aztán át se néztem utána csak beírtam, ezért lett a void function...
A hozzászólás módosítva: Szept 17, 2018
Meg jegyezném, hogy tág fogalomra találtál rákérdezni.
Amit itt pár mondatban nem lehet elmagyarázni. Inkább ajánlanám a jövőben simán írd be magyarul a kulcs szavakat a googleba. És akkor kapsz, hu. Linkeket, amiket érdemes át olvasni. Pl.: arduino függvény Bővebben: Link Bocsi, de ez a leg egyszerűbb megoldás 1-1 téma megismerésére. A hozzászólás módosítva: Szept 17, 2018
És az oldal alján már találsz is példát, a problémád megoldására, címszó alatt:
Arduino #6 - LED vezérlés folytatás 1. - millis() függvény | Ismerkedés ...
Kedves kapu48!
Nos mint láthatod tbarathnak sikerült válaszolni a kérdésemre és nem ad olyan tippeket hogy írd be a Google-ba.Szerintem nyugodtan példát vehetnél róla hogy ő segítőkészségesebb mint te mert ahogy elnéztem az eddigi válaszaid amik nekem jöttek azok tulajdonképpen csak arra szorítkoztak hogy keressek rá a gugliban........ Idézet: „példát vehetnél róla hogy ő segítőkészségesebb mint te mert” A pokolba vezető út is jó szándékkal van kikövezve ![]() Jelen problémád korrekt és jó megoldásához nem éppen elég az, hogy kaptál egy "pszeudó kódot" és kész. A "kvázi multitasking" megvalósítása egy single taszking rendszer esetén sokkal jobban átgondolt megértést, tervezést és kódolást kíván! Nem véletlen terelgetnek az részletesebb utána nézése felé! A hozzászólás módosítva: Szept 17, 2018
![]() ebben van valami .Én is tudom hogy nem lessz olyan egyszerü de már annyi példát és ino fájlokat nézegettem hogy gondoltam sokkal egyszerübb ha megkérdezem a hozzáértéktől hogy egyáltalán lehetséges-e amit én szeretnék vagy az arduino nem tudja.Kb 2 hete azzal megy el a munkaidöm 3/4 hogy arduinot olvasgatok ![]()
Szia!
Pedig hidd el, hogy kapu48 kolléga segítő módszert ajánlott ![]()
Kedves Újonc!
Híd el, hogy én már ezeken tanácsadás megoldásokon régen túl vagyok. És a tbarath példájára feltett kérdésekből is észrevehettük, hogy egy kukkot sem értettél meg belőle. Javaslom inkább olvasd el az idézett linkeket, és lesz értelme. A hozzászólás módosítva: Szept 17, 2018
Itt van egy nagyon hasonló dolog, mint amit te is akarsz. A tanulást semmiképp nem tudod elkerülni mert ez nagyon összetett dolog. De itt mindent megtalálsz hozzá.
Köszönöm szépen ezt a linket is.Akkor tulajdonképpen rátapintottam a lényegre hogy a voidon belül egy számlálot kell létrehozni ami minden futás körben számol és ha elér egy értéket akkor végrehajtja az utasitást vagy kilép a ciklusbol.Tetszik hogy vannak példák is itt és tulajdonképp marhára lelehet egyszerüsíteni ha valoban létrehozok külön voidokat illetve fünkciokat az ismétlödö dolgokra.Pld lcdre kiirás 2 sorba vagy 1 sorba.A lényeg hogy ne legyen delay egyáltalán a programban mert az az egész program futását megállitja.Régen még az ősidökben volt egy Enterprise számítógépem azon Basicban irtam kicsi idiota programokat,pld gyumolcsös játékot ami hasonlitot a kocsmában lévö nyerögéphez,de müködött.A c++ kicsit hasonlit a basichez pld az If else ott is volt de a többség pld az aposztrof jelek meg a többi az nem de az elv hasonló.Igazság szerint gondolom majd amikor kész a teljes program akkor kell illetve lehet finomitani mert ugye menetközben fog kiderülni hogy bizonyos időzitések elegek vagy tul rövidek és akkor elfér néha a delay is,ha maga az nano vagy uno tul gyors lenne és tul hamar végig fut a teljes programon.
"voidon belül egy számlálot kell létrehozni ami minden futás körben számol ", ez a függvény már készen van: millis(). Mikor meghívod, visszaadja a bekapcsolás óta eltelt időt mS-ban. Mondjuk ez biztosan benne volt a linkben, amit kaptál.
Ez igy igaz de a milis() mellé kell egy változo hogy tudja mennyi volt kell egy hogy mennyi most és kell még egy hogy mennyi a max .Benne van a milis valoban de ezekel a plusz változokkal együtt.
Így van. A legfontosabbat készen kapod (millis), a többi már csak logika, a lehetőségek száma végtelen.
Pl. 2x16-os LCD meghajtása villágos nélkül, azonnali frissítéssel: csak akkor írod ki a számot, ha megváltozott, akkor is csak azt az LCD helyet törlöd, amit kell, pl. 124-ről 125-re változott, akkor csak a 4-est kicseréled 5-re. Így nem fog villózni az LCD, nem tart sokáig a frissítése. Sok trükk van.
Létezik egy ticker.h library amit esp8266-on használok, de szerintem UNO-ra is van. Nagyban leegyszerűsíti a dolgokat,
A hozzászólás módosítva: Szept 18, 2018
No offense, de már több helyen is láttam ezt (nem csak Tőled) és engem eléggé zavar, ezért szólok. Szóval az idő mértékegységét, a másodpercet kis "s" betűvel kell jelölni, nem nagy S-sel, ennek megfelelően a millisec is ms, nem mS. A nagy "S" jelentése ugyanis Siemens.
Persze így is egyértelmű, hogy mire gondolsz, de szerintem egy szakmai fórumon illendő helyesen írni az SI alapegységeket.
Egyet értek veled, de mindezek ellenére én is sokszor elszúrom!
![]() Bár sokszor jobb ha nagybetűs, mert jobban nyomon követhető a kód. (Amúgy meg csak kiderül mit is jelent a kódból, mert 10 000 soros kódot nem sűrűn írunk! ![]() De igen, szakmailag érint engem is a dolog, kicsit engem is zavar néha. (bár ha éppen utat (s) számol az ember ms-el akkor gond lehet!) A fentiek a kódolásra vonatkoztak. Kommentben(kódban)/hozzászólásokban meg tényleg mehet az SI!
Azt hiszem elkerülte a figyelmedet, az előző leszólt, guuglis linkemben levő olvasmány:
Bővebben: Arduino notebok.pdf Ezért most külön felhívómrá a figyelmedet. (Talán nem nevezed a jövőben "void"-nak a szubrutinokat.) A hozzászólás módosítva: Szept 18, 2018
|
Bejelentkezés
Hirdetés |