Hirdetés
-
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.
Új hozzászólás Aktív témák
-
Teasüti
nagyúr
válasz Janos250 #10900 üzenetére
Ez is egy full-fledge firmware, ami rohadt hosszú.
Ráadásul C-ben írták Atmel328-ra.
Nekem kb annyit kéne látnom, hogy hogy írják meg azt az egy ciklust, ami beolvassa a Serial stream-et és kiválogatja a switch case-be a szavakat. Úgy 5-10 sallangmentes sorról lehet szó. Viszont Marlin-ban is ez szanaszét van dobálva. Illetve a parser lib ott is túl van bonyolítva. Mire abból kihámozom a lényeget...Jelenleg ennyim van:
for (byte i = 0; i <= messageSize; i++) {
if (isAlpha(Message[i]) || isPunct(Message[i])) {
switch (Message[i]) {
case 'R':
parameter = atoi(& Message[i + 1]);Ez elég arra, hogy végig iterálja a stream-et és ahol betűt talál, ott veszi a betű után lévő paramétert. Majd iterálja tovább, amíg a végére nem ér.
Ez így gyönyörűen beolvas egy "R255G255B255\n" üzenetet így egyben vagy elválasztókkal, mindegy.
Viszont nincs annyi betű az ábécében, amennyi nekem kéne. Így kénytelen vagyok átállni vmi G-kódos rendszerre, ahol nem egy szót kell csak értelmezni hanem mondatokat. Tehát mondjuk bejön, hogy "G01", akkor várható, hogy lesz még utána két-három paraméter is: "G01 X0 Y0\n".
És ezt kellene valahogy megoldanom, hogy a parancsszóhoz kapcsoljam a paramétereket is.
Ehhez kell vmi look-ahead parsing algoritmus, ami pár sor lehet, de még nem láttam rá tömör példát.
És ha lehet, akkor nem szeretném órákig bogarászni egy hatalmas forráskódban.
Már rászántam egy kis időt a Marlin elemzésére, és nem jutottam vele messzire.
Ekkora kódban még a kereső se működik, mert annyi találat van mint a qrva élet... -
nagyúr
válasz Teasüti #10901 üzenetére
Ha jól értem, te nem akarsz kompatibilis lenni semmivel, hanem építesz egy saját protokollt egy meglévő alapján. Vagyis amíg kerested rá a megoldást a kódban, akár meg is írhattad volna.
A leírás alapján nagyon egyszerűnek tűnik a megoldás, csinálni kell egy tömböt, amiben leírod, hogy a G01 után lesz még két paraméter, és akár betűtől függetlenül a következő kettőt beolvassa, legyen X0 Y0 vagy akár újra G0 G0 (vagy használd csak erre az X Y betűket és akkor még hibaellenőrzésre is használhatod).[ Szerkesztve ]
-
Teasüti
nagyúr
Igen, ez abszolút saját implementáció volna.
Még nem egészen kristályosodott ki az algoritmus a fejemben és csak úgy adhoc módon nem jön az ihlet.
Most azon filózom, hogy a parancsszavakat szűröm meg a delimiter függvénnyel, ami átadja a char tömböt a példában mutatott ciklusnak. Pl. "G" betűtől "G" betűig - ahol korábban csak simán az "új sort" figyelte -, ahol a másodikat Serial.peek-kel keresem meg, hogy ne vesszen el.
Igazából ahhoz kellene segítség, hogy egyáltalán hogy álljak neki. Ilyen parsing algoritmusokat ezer százalék megírtak már mások nálam ügyesebben, csak nem találok rá tömör sallangmentes példát. -
t72killer
titán
30€ Meta store bónusz Quest headset aktiváláshoz, keress priviben :)
-
Teasüti
nagyúr
válasz t72killer #10904 üzenetére
Persze, jó cucc!
Én nagyon ajánlom a levegős forrasztó állomást is hozzá, ha ilyen mütyüröket ültetsz be!
Amit nem találtam még ezekhez a pasztákhoz, az egy kinyomó pisztoly.Vasalóval rakta fel?! LOL.
Sortüskét próbapanelbe tenni? Okos. Erre még nem gondoltam.[ Szerkesztve ]
-
zsolti_20
senior tag
Üdv emberek! Kér arduino között szeretnék kommunikációt létrehozni NRF24L01-el. Az egyik oldalt egy nyomógomb van, aminek lenyomására a másik arduino kap egy decimális számot. A probléma az, hogy amíg letartva tartom a gombot addig küldi ezeket. Egy sima gomb nyomáskor is legalább 3-4 alkalommal elküldi. Lehetséges úgy megoldani, hogy a gomb lenyomásakor csupán egyszer küldje el?
-
gyapo11
őstag
válasz zsolti_20 #10908 üzenetére
Persze.
Amikor megnyomod a gombot, akkor elküldöd az adatot, és kell egy while, ami azt figyeli, hogy a gomb nyomva van-e még. Amíg el nem engeded a gombot, addig pörög a while és nincs további küldés. Ha fölengeded a gombot, akkor tovább megy a loop, de mire megint a gomb vizsgálathoz és, akkor már nem lesz megnyomott állapotban, tehát nem lesz megint küldés.
Ha közben másnak is futnia kell, tehát a loopot nem lehet megállítani, akkor bonyolultabb, de azt is meg lehet oldani.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 Teasüti #10903 üzenetére
Én állapotgéppel csinálnám, akkor semmit nem kell bonyolítani a beolvasáson, csak olvasod szépen sorba a tokeneket. Ha Gxx érkezik, az állapotgép átbillen paraméter állásba, így a következő beolvasások mind az előző parancs paraméterei közé kerülnek, és ha újra Gxx érkezik, akkor az állapotgép visszabillen parancs állásba, ekkor hajtod csak végre az előző parancsot az összes paraméterével együtt.
-
nagyúr
Ez a második (Y) paraméter beérkezése után hajtja végre a kódot:
megVarokParametert=false;
token="";
for (byte i = 0; i <= messageSize; i++) {
if (isAlpha(Message[i]) || isPunct(Message[i])) {
switch (Message[i]) {
case 'R':
token='R';
parameter = atoi(& Message[i + 1]); break;
case 'G':
megVarokParametert=true;
token='G';
parameter = atoi(& Message[i + 1]); break;
case 'X':
parameterX = atoi(& Message[i + 1]); break;
case 'Y':
megVarokParametert=false;
parameterY = atoi(& Message[i + 1]); break;
}
}
if (megVarokParametert==false){
hajtsdVegreAKodot(token);
} -
t72killer
titán
Szép
Gyanta/Folyasztószer?
Édesapámnak a 80as években volt ilyesmije, durva, hogy 30+évvel később ugyanott kezdem - Persze akkoriban még nem arduinókat forrasztgattak...[ Szerkesztve ]
30€ Meta store bónusz Quest headset aktiváláshoz, keress priviben :)
-
Janos250
őstag
válasz t72killer #10915 üzenetére
Én ma is ezt használom:
https://www.ebay.com/itm/Natural-Colophony-Gum-Incense-resin-50-100grams-Rosin-Pine-Resin-High-Grade-Flux-/113241616351?var=&hash=item1a5db9efdf
Igaz, nem SMD-hez.
Nekem ma is ez válik be legjobban. Természetes állapotában, vagy 96% alkoholban oldva.
A Z80-at is ugyanúgy forrasztottuk, mint ma az arduinokat.[ Szerkesztve ]
Az amerikaiak $ milliókért fejlesztettek golyóstollat űrbéli használatra. Az oroszok ceruzát használnak. Én meg arduinot.
-
Teasüti
nagyúr
Miért nem használtok folyasztószerrel kevert forrasztóónt? Flux core, fogalmam sincs magyarul hogy hívják.
Közönséges 60/40 Sn Pb flux core soldering wire. Nem egy hatalmas befektetés és nem kell ilyenekkel szarakodni. -
gyapo11
őstag
válasz t72killer #10924 üzenetére
Mindig is flux core-os forrasztóónt használtam, ennek ellenére sokszor jól jön a plusz gyanta vagy forrasztózsír. Főleg ha a forrasztandó felületek nem teljesen tiszták, régebbi vezeték vagy akár nyák reze. Persze lehet mechanikusan tisztítani, de nem mindig hozzáférhető, esetleg már ott levő alkatrészek sérülnek. A folyasztószer viszont kémiailag hat, az oxidokat megeszi, és a tiszta fém bukkan elő, ami már jól forrasztható.
Régebben én is oldottam föl alkoholban fenyőgyantát, ezzel átkentem az egész nyákot, melegítettem és ahol nem volt réz ott "eltűnt" a gyanta, a rézen meg szép fényes vékony réteget alkotott, az ón csak úgy szaladt rajta. A forrasztózsír is nagyon jól működik, zsír állagú, bele lehet mártani a vezeték végeket, a pákától azonnal folyadékká válik és mindent forraszthatóvá tesz, a vasat, acélt is, elemek akkuk bármelyik pólusát.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
-
Ennek nem tudjátok mi az ebay-en/Alin kereshető típusa? Csak az 1:64-es változatot találom mindenhol.
I did nothing, the pavement was his enemy!
-
ecaddsell
aktív tag
válasz t72killer #10904 üzenetére
Rengeteget használok pasztát és ahol a chip-ek alatt is forrpad van (RF cuccok szinte mind ilyen) más nem is nagyon opció, de idővel kialakult az a véleményem, hogy soklábú chipek esetén (stencil nélkül) ill. ólommentesről átrakott cuccok esetén kell a páka (nekem a kis laposcsavarhúzós hegy jön be már évtizedek óta) és extra folyasztószer mivelhogy a forrasztóónból ill. a pasztából is gyorsan kiég a gyanta és akkor az ón összefolyik a kivezetések között (ha nagyon túladagolja az ember az ónt persze rézharisnyával le kell szedni, ekkor a folyasztószer sem elég önmagában).
Páka nélkül nagyító alatt nézve is hibátlan lehet a pasztás cucc, de mégsem működik esetenként (nem egyszeri tapasztalat).
Tapasztalatom szerint a legjobb a cipőpasztás dobozban árult és állagában is ahhoz hasonló cucc. Költséghatékony és jól adagolható. Korábban sokat használtam stiftes anyagot is, de az alkohol miatt elég híg és képes össze-vissza elfolyni ill. kintről rendeltről az út során lelazult a kupak és alig marad benne valami.
Nem mondom, hogy más esetleg ne lenne jó, de nekem ez van (kb. 3 USD Banggoodról).
Kinyitva sárgás puha anyag van benne.
A stiftesnél még azzal is jobb, hogy nincs meg az az émelyítő szaga felvitelkor ill. forrasztáskor.Röviden: A paszta szükséges, de nem elégséges, kell az extra folyasztószer és nem mindegy milyen kiszereléseben...
-
-
gyapo11
őstag
-
ecaddsell
aktív tag
válasz gyapo11 #10931 üzenetére
Igen ez tisztán folyasztószer.
Amit te keresel az a solder paste.
Pl. alacsony olvadáspontú (nekem olyan helyre kellett, ahol a gyártó max. 145 fokot írt elő mikrohullámú keverő chipnél).
Pl. normál ólmos.Nyilván máshol is lehet venni, ill. más is jó ezt tekintsd csak példának.
Minden ilyen cuccnál komolyan kell venni a hidegen tárolást. Ha elveszti azt a hígabb folyékony állapotát (ilyenkor a fényét is elveszti) akkor onnantól lényegében használhatatlant mert nem tapad oda a forrpadhez,
-
gyapo11
őstag
válasz ecaddsell #10932 üzenetére
Ezt a MECHANIC-ot láttam ugyanezzel az összetétellel tégelyes kiszereléssel olcsóbban, akkor az jó lesz.
Jártam olyan helyen, ahol smd nyákokat gyártottak, és ott is gond volt a beszáradás, pedig hűtőben tartották. Nálam ez különösen fontos kérdés, mert keveset használok hosszú idő alatt. Szóval ha fluxot keverek hozzá amikor már besűrűsödött az nem jó? A friss fluxtól tapad, hígabb lesz, az a kérdés, hogy be tud-e hatolni a friss flux a szemcsék közötti sűrű régi flux helyére egyszerű keveréssel. Esetleg melegíteni is lehet, az biztos segít. Az én forrasztózsírom biztos van vagy 20 éves, és semmi baja, ugyanolyan állagú és működőképes mint amikor vettem, a forrasztóón szemcsék sem változnak, tehát így örökre működhet egy tégely paszta.
Ja, és offtopic kéztisztító krémmel volt az, hogy nagyon besűrűsödött, és folyékony szappannal kevertem össze, teljesen tökéletes lett, lágy krém állagú és tökéletesen tisztítja a kezet.[ Szerkesztve ]
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
-
gyapo11
őstag
Szerintem nem megy tönkre, csak besűrűsödik, és ha túl sűrű, akkor nem lehet átnyomni a stencilen és nem tapad rá a nyák felületére, egyszóval használhatatlan lesz.
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
-
ecaddsell
aktív tag
Nem azonnal megy tönkre, de nem mindegy mondjuk, hogy 1-2 évig használható vagy 3 hónapig.
Szóval igen, hideg helyre kell tenni, de ne fagyjon meg és használat előtt meg jó ha nem túl hideg...
Nem mellékesen nyáron sem rendelnék ilyet, mert ki tudja ezek a cuccok hol ácsorognak napokig.Más
Korábban említettem a rézharisnyát a fölös ón leszedésre, aki még nen látott ilyet erről van szó (nekem nem ilyen van, fogalmam sincs ez jó-e és több méret is van belőle).
A használata: alulra egy kis folyasztószer felülről meg melegíted a pákával.
Beforrasztásnál mondjuk előnyösebb nem túladagolni a pasztát, mint utólag korrigálni a hibát... -
ecaddsell
aktív tag
-
nagyúr
válasz ecaddsell #10937 üzenetére
Én smd-re nem használnám, de pl. chip lábakat beforrasztani kevesebb tököléssel járna, talán szebb lenne az eredmény még egy egyszerű pillanatpákával is. Most külön bekenem a nyákot tisztítás után a zsírral, ha ügyes vagyok, mindenhová egyformán jut, de általában nem. Utána takarítani kéne, de nem igazán megy.
-
Pubszon
veterán
Üdv.
Van nagy hatótávolságú 433MHz-es vevő arduinohoz?
Végül is csak 100-200m kellene, elektromos kapunyitóhoz.
Esetleg olyan amin SMA csatlakozó van.[ Szerkesztve ]
ASRock X79 Extreme6, i7 4930K, 32GB DDR3, GTX 1080 G1, Corsair RM750x...
-
Pubszon
veterán
-
robohw
aktív tag
válasz Pubszon #10941 üzenetére
Lehetséges, hogy van ilyen modul is, de nem jellemző, ezek ugyanis nem olyan nagy teljesítményű modulok, amelyek elkivánnának profi antenna csatlakozást, de azért lehet rájuk illeszteni pigtailt.
Ha jó minőségűt szeretnél, akkor én a telecontrolli cég kerámia hordozós moduljait ajánlom.Pl.: RRFQ1 - RTQ1 párost.
My own programming language: http://www.robomax.online
-
Teasüti
nagyúr
Tudtátok, hogy ESP32-n nem lehet használni az ADC2-t ha aktív az antenna? Nem tudom mit csesztek el tervezéskor, hogy de vmiért kell a wifihez/bt-hez a második ADC egység.
Erre most döbbentem rá, hogy a 95%-ban kész projektemben egy ilyen egyszerű f@szság nem működik.Jelen állás szerint akkor az ESP32-n kb az összes értelmes gyakorlati felhasználásra csupán 6 db analog bemenet áll rendelkezésre.
Esetleg nem lehet átmuxolni az ADC1 egység csatornáit a kettes egység GPIO lábaira?
[ Szerkesztve ]
-
Teasüti
nagyúr
válasz DigitXT #10945 üzenetére
Uhh, sztem ezt nem akartad megkérdezni!
Tervben van egy logout-os cikk belőle, majd talán két év múlva lesz esedékes a fejlesztés üteméből következtetve.
Én "csak" hármat használok ebből, viszont a nyákot úgy terveztem és gyártattam le, hogy az egyik az ADC2-n van. Álmomban nem gondoltam volna, hogy ilyen alapvető funkció fog megszívatni.Gépjárművet okosítok, pontosabban a motoromat automatizálom kicsit.
Ehhez felhasználtam az ESP32 összes létező portját - beleértve a strapping pin-eket is -, valamint I2C csatornán még vagy 6 másik eszközt. Köztük szenzor modulok, egy numerikus kijelző, egy saját tervezésű gpio extender amin van még +16 db ki- és bemenet az ESP sajátjain felül.Dióhéjban csak - mert szerintem a többiek már unják:
1. Onnan indult az egész projekt, hogy ws2812b ledszalagokat raktam a motorra a karácsonyfa hatásért, és mert a Halálos Iramban, valamint az NFS Underground 1 és 2 nagy hatással volt a gyerekkoromra. Ez lefoglal 6 lábat, 6 csatornán 10 szalag van bekötve. Köztünk az egyik egy shift assistant feladatot lát majd el a műszerfalon. A többi csak eye candy.Aztán ha már mikrovezérlő, akkor elkezdtem azon filózni miket tudnék művelni vele.
Innen jöttek az alábbiak:2. Terveztem egy smart féklámpa panelt a gyári ledek helyett, amin pwm vezérléssel tudok előállítani nagyjából 2000 lument (úgy 45 wattnyi 5830-as piros ledekkel). Ennek redundáns vezérlése van health&safety megfontolásból, egy opcionális külső pwm jel és egy belső 555 vezérlés, amik közt automatikusan átkapcsol, ha külső pwm jelet kap. Ez a lámpa kapott még egy aktív hűtést és egy termisztoros hőérzékelést, ami a ventilátorokat kapcsolja. (Elvileg a normál féklámpa fényerőhöz tartozó ~20% kitöltési tényezőnél még nem annyira forrósodnak a ledek, de jobb a békesség.)
3. Beolvasom a motor sebességszenzorát és tacho szenzorát. A sebességjel a féklámpa algoritmusához kell. Hasonlóan mint mindenféle figyelemfelkeltő smart féklámpánál, amikben gyorsulásérzékelő van (aminek a zajos jele egy határ szar, össze-vissza villog az összes ilyen megoldás, ezért én csináltam egy jobbat). Meg az elektromos láncolajozóhoz - ugye álló helyzetben nem akarok olajat köpködni... (Ez utóbbit megfejelem még egy esőérzékelővel is az intenzívebb olajozáshoz).
Ezen felül saját sebességjelet fogok előállítani, mert úgy +8%-ot csal az órám. Ezt fogom kalibrálni GPS méréssel. Ez volna az ún. speed-o-healer funkció, ami általában nem olcsó külön megvenni.
Azok szoktak ilyet használni, akik a gyáritól eltérő gumiméretet raknak fel. Engem csak simán zavar a 8%, úgy gondolom eléggé felnőtt vagyok már ahhoz, hogy el tudjam dönteni mennyivel akarok menni.
A tacho szenzorból meg azt állapítom meg, hogy jár-e a motor. Illetve a led szalagok effektezéséhez fog még jól jönni. Jah meg a shift assistant-hoz és a fokozat jelzőhöz a numerikus kijelzőn.4. Egy-egy perifériát kapcsolok még relével; úgy, mint a hűtőventilátor (a gyári hőkapcsoló 106 foknál kapcsol, én kicsit lejjebb szeretnék - ehhez ugye be kell olvasnom a hőmérsékletet is), a tompított fényszóró (gyárilag mindig világít; én automatikusan szeretném kapcsolni a környezeti fényviszonyoknak megfelelően, mint némely modern autóknál), a duda (tetszik az ilyen vészfékezéses automatikus duda az autóknál, ezt implementálom a motoromra is; na meg riasztóként is működhet), a kill switch (csak egy bizonyára felesleges security funkció lesz, amivel meg tudom szakítani a gyújtást).
5. Monitorozom az összes vezérlőszervet a kormányon. Rákapcsolódok az indexekre, a fékkapcsolóra, a kuplungra, az Neutral jelzőre, stb. Ezek az inputok mindenféle dologra jók lesznek. Pl. tervben van saját index készítése/nyomtatása, amiket egy-egy Attiny85 fog vezérelni autonóm módon, opcionális külső vezérléssel mint a féklámpa esetén. A vezérelt indexek pedig spéci ws2813a ledek lesznek.
Ezeken kívül két ledes gombot teszek még a kormányra, amire közvetlenül programozhatok gyorsan elérhető funkciókat, hogy ne kelljen a telefont buzerálni menet közben (mert hogy ez az egész hóbelevanc BT-n keresztül lesz távvezérelve egy MIT App Inventoros alkalmazással).6. Egy kicsi 5v-os buzzer-rel emlékeztetőt szeretnék alkotni, illetve automatikus deaktiválás egy adott türelmi idő után ha fent felejteném az indexeket. Ez a giroszkópikus adatokra épülő automata index funkció is elég drágán megy a piacon... Vmint mindenféle hangjelzésre jó lesz az még.
7. Numerikus kijelző, amin mindenféle adatot fogok megjeleníteni. Pl. GPS sebesség, dőlésszög (a giro szenzorból), fokozat kijelzés, stb.
8. GPS modul csatlakoztatása UART-n, amivel egyrészt a speed-o-healer-t kalibrálom, másrészt sms-es távvezérlésre ad lehetőséget. Ezt védelmi funkcióra szánom, vagyis parkoláskor ha a gyorsulásérzéklő kapást jelez, akkor küld nekem egy üzenetet. Illetve egy-egy parancsszóra reagáljon is, pl. sms nyomkövetés kezdeményezése, gyújtás megszakítása, riasztó aktiválása, stb.
9. Akkufeszültség monitorozó (pont ez került az ADC2-re), ami kezdeményezhet egy automatikus áramtalanítást akár a vezérlőn (bistabil relé a főkapcsoló, amit egyik oldalról a gyújtás kapcsol, másik oldalról a mikrovezérlő), ha egy adott feszültség alá merülne.
Egyéb kérdés?
Új hozzászólás Aktív témák
Hirdetés
- Vodafone otthoni szolgáltatások (TV, internet, telefon)
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- E-roller topik
- Pécs és környéke adok-veszek-beszélgetek
- PlayStation 5 Pro teszt
- Kormányok / autós szimulátorok topikja
- Azonnali fáradt gőzös kérdések órája
- Xbox Series X|S
- Milyen TV-t vegyek?
- Black Friday november 29. / Cyber Monday december 2.
- További aktív témák...
- Cisco SG200-50 smart switch - 48+2 portos Gigabites
- minigép/ G4400T 35W/ 8GB DDR4/ 128GB SSD/ Lenovo M700 Tiny/ garancia/ ingyen foxpost
- XFX RX6700XT Qick319/ garancia/ ingyen foxpost
- ASUS ROG G15 - Ryzen 7 6800H - 16GB DDR5 - RTX 3060 (140W) - 15,6" 300Hz - Csere PS 5 PRO -ra
- Apple Magic Trackpad Érintőpad Fekete (MMMP3Z/A), Újszerű, Garancia: 2025.06
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: HC Pointer Kft.
Város: Pécs