Fórum témák

» Több friss téma
Fórum » Arduino
A klónok CH340 Soros-USB illesztőjének drivere (Letöltés)
Lapozás: OK   864 / 864
(#) tki válasza kobold333 hozzászólására (») Szept 16, 2025 / 2
 
Morogni fogok, de megadom a megoldást is - már először is erről írtam.

1. Miért lenne egyszerűbb az Arduino monitor használata egy hozzá nem értőnek, mint egy másfajta terminál? Miért kellene egy terminál emulációval rendelkező programon bármit is állítani ahhoz, hogy működjenek rajta az Esc szekvenciák, vagyis miből gondolod látatlanban, hogy szükséges? A Tera Term és társai eleve az úgynevezett VT100 terminál-emulációval indulnak, ami képes az Esc-szekvenciák feldolgozására.

2. Ha az Arduino monitor, ahogy megbeszéltük, nem kezeli az Esc-szekvenciákat, mitől kezelné a lapdobás karaktert? Ezek szerint ki is lett próbálva: nem használható - milyen meglepő.

3. A Windows ugyan eltakarja ezt az igen fontos eszközt, de bizony a programoknak parancssori paramétereik is szoktak lenni - pl. még a böngészőknek is, amikben akár teljesen más profil is választható más nyitott ablakokkal, más beállításokkal stb. A Tera Term-nek is nemhogy a Baudrate-et, hanem igen sok működési paramétert is meg lehet mondani indításkor. Így néz ki egy tisztességes szoftver.

4. Lehet próbálkozni a lapdobással, de nem fogsz örülni a villogásnak - korábban írtam, hogy mi vezethet eredményre: a kurzor pontos pozícióba állítása. Talán mégis meg akarod oldani a problémádat.

Itt vannak a Tera Term parancssori lehetőségei: https://deepwiki.com/TeraTermProject/teraterm/6.2-command-line-options

De kitapostam neked az utat, így lehet demózni, hogy működik, amiről eddig szó volt, a COM14-es portot állítottam be, a többi magáért beszél. Élesben nem kell a /R=fájl opció, az most bemenetként szolgál (a COM port helyett, ez egy tesztlehetőség), de ugyanolyan, mintha a soros porton át kapná a karaktereket a terminálprogram:

ttermpro.exe /C=14 /BAUD=115200 /F="C:\Program Files (x86)\teraterm5\TERATERM.INI" /R="C:\Program Files (x86)\teraterm5\testfile.txt"

A csatolt képeken megtalálod a többi információt - az Arduinóból egyszerűen ki kell íratni, amikről már beszéltünk. Annyit csaltam, hogy az INI fájlban megváltoztattam a betűtípust, hogy az ékezetek is látsszanak (UTF-8 kódolást használtam, neked nem kell), de végül is a felhasználódnak adhatsz előkészített INI fájlt is.

Elfelejtettem a testfile.txt-be az első sor elé írni még egy sort, olyat, hogy "Ez nem fog látszani, mert mindjárt kitörlődik.", de legalább neked is lesz mit kipróbálni.
A hozzászólás módosítva: Szept 16, 2025
(#) szendi001 válasza icserny hozzászólására (») Szept 17, 2025 /
 
Köszönöm a támogató választ! Elolvastam a dokumentumot és telejsen örömteli látni hogy fiatalok hogy elvannak ezzel a témával. SPI 128x32 lcd van két darab. Ma tesztelem őket a gyári mintaprogrammal. A 7 szegmensen jól működik, csináltam vele számlálót és órát is.
(#) szendi001 válasza icserny hozzászólására (») Szept 25, 2025 /
 
Szia! Sikerült a kis OLED elindítása. Ezzel nem volt kínlódás, arányaiban egyszerűen ment. Már csak a HW-787AB van hátra. Ez teljes izgalom, nem igazán akart életre kelni.
(#) kobold333 válasza tki hozzászólására (») Szept 27, 2025 /
 
Ajaj nekem. Jogos a morgás. Most éppen beteg vagyok, nem játszom a kütyüvel. De utána kipróbálom. Nagyon köszönöm a részletes leírást, és a segítséget...
(#) tki válasza kobold333 hozzászólására (») Szept 27, 2025 /
 
Jobbulást! Ilyesmire nem vonatkozik a noszogatás. : -) Remélem, nincs nagy gond.
(#) kobold333 válasza tki hozzászólására (») Okt 4, 2025 / 1
 
Semmi nagy baj, még próbafekvésre sem kellett elmennem Már egyben vagyok, köszönöm.
(#) Frankye hozzászólása Okt 5, 2025 /
 

Elvi elakadás - segítségkérés

Sziasztok!
Két, elvi logikai bukfencbe is belefutottam közvetlenül egymás után, ebben kérném a segítségeteket.
Az első:
Egy nyomógombot kell figyelni, amelyet ha megnyomna, egy sor műveletet kell végrehajtani, összesen kb. 20 másodpercig ismételgetve őket. (A 20 mp nem kritikus, csak közelítő érték, aközben a nyomógombbal történő bárminemű beavatkozás irreleváns.) Eddig akár hogyan próbáltam megközelíteni, vagy a 20 mp nem volt tartható (folyamatosan futott az alprogram), vagy csak addig futott az alprogram, amíg a gomb le volt nyomva. Mit ronthattam el? Mi lenne a jó megoldás?
A másik:
A fenti alprogram részeként LED-et kell villogtatni (eddig nem volna baj, ez megy is), azonban elég "speciális" módon kellene villognia: egy rövid felvillanás után egy rövidebb szünet, majd ismét egy rövid felvillanás, és egy hosszabb szünet. Ennek kellene ismétlődnie. A delay szóba sem jöhet (blokkoló), viszont a millis () -szel nem sikerült a különböző idejű "szüneteket" megoldanom. Tudnátok egy példát mutatni, hogyan lehet ezt megvalósítani?
Minden segítséget előre is nagyon köszönök!
(#) wbt válasza Frankye hozzászólására (») Okt 5, 2025 /
 
Sülthal vagyok a C++-hoz, de ez nagyon megszakítás után kiált. A gombodnál vársz, amíg meg nem nyomják, addig zárt ciklus, kiugrasz. A kimenetnél, ha valami mintázatot kell csinálni, akkor én csinálok egy akárhány Hz-es időzítő megszakítást (ez kb 7-14-30Hz-re jön ki, kinek, mi tetszik). A mintázat hosszától függően byte vagy word-be bekerül a mintázat (amikor a főprogram akarja, nálad a gomb megnyomása). A megszakítás meg csak annyit csinál (mindig), hogy elrotálja a mintázatot és kiteszi a kimenetre a legfelső /legalsó (szabadon választott) bit értékét. Hibajelzés kivillogtatásához nekem eddig elég volt a word. (itt tudni kellene a nálad igényelt jel/szünet arányt persze). Általában, ha már megszakításban vagyok, beolvasom a gombokat is (lassú INT miatt a pergésmentesítés is megoldva), hipp-hopp meg van minden, a főprogram meg unatkozik. Mivel időzíteni is kell, kell egy számlálót létrehoznod, ami minden INT-nél csökken és ha nem 0, akkor LED-villogtat, ha nulla, akkor átugorja. Tehát gombnyomásodkor 2 dolgot kell tenned: 1. beállítod a pattern-t, beírod az időzítőszámlálódba a kívánt időt és alszol...mindent magától végig megcsinál az INT. (ha félreértettem, bocs, de valahogy így) Ha nagyon nagy a jel/szünet arány, akkor nem úszod meg a jel/szünet táblát és a legkisebb változáshoz kell igazítanod az ütemjeled (INT).
(#) Régi motoros válasza Frankye hozzászólására (») Okt 5, 2025 /
 
Fontos lenne tudni, hogy a gombnyomásod utáni folyamat közben, elég csak a folyamatban lévő műveletet végrehajtani, vagy mást is csinálni kell közben?
Első esetben megoldható, ha a végzendő folyamatot beteszed egy fügvénybe.
A gombnyomást a fő programban figyelned, ha van gombnyomás, indul a fügvény ahol nincs gomb figyelés.
Ha a fügvény lefut, a fő programba vissza térve újra aktív a gomb figyelése.

Ha a mellék folyamat közben mást is csinálni kell a fő programban, akkor keress rá az "arduino multitasking" kifejezésre. Az már bonyolultabb lesz, én nem mennék bele.

A másik problémád szintén hasonló módon megoldható. Csak neked manuálisan kell programozni, hogy hány villanás legyen, milyen hosszú magas és alacsony szintekkel.
(#) Frankye válasza wbt hozzászólására (») Okt 5, 2025 /
 
Nem állítom, hogy mindent megértettem abból, amit írtál, de megpróbálom kibogarászni. Köszönöm a segítséged.
(#) Frankye válasza Régi motoros hozzászólására (») Okt 5, 2025 /
 
Első körben valószínűleg nem kell mást csinálnia a programnak a villogás közben, de lehet, hogy később majd ki kell egészíteni valami egyébbel is. Köszönöm a válaszodat.
(#) sargarigo válasza Frankye hozzászólására (») Okt 5, 2025 /
 
Nem próbáltam, de nézd meg!
  1. const int buttonPin = 2;
  2. const int ledPin = 13;
  3.  
  4. unsigned long startTime = 0;
  5. bool running = false;
  6.  
  7. enum State {IDLE, ON1, OFF1, ON2, OFF2};
  8. State state = IDLE;
  9.  
  10. unsigned long stateStart = 0;
  11.  
  12. // Időzítések (ms)
  13. const unsigned long shortOn  = 100;   // rövid felvillanás
  14. const unsigned long shortOff = 200;   // rövid szünet
  15. const unsigned long longOff  = 800;   // hosszabb szünet
  16. const unsigned long cycleTime = 20000; // 20 másodperc
  17.  
  18. void setup() {
  19.   pinMode(buttonPin, INPUT_PULLUP);
  20.   pinMode(ledPin, OUTPUT);
  21.   digitalWrite(ledPin, LOW);
  22. }
  23.  
  24. void loop() {
  25.   unsigned long now = millis();
  26.  
  27.   // Gombnyomás figyelés (aktív alacsony)
  28.   if (!digitalRead(buttonPin) && !running) {
  29.     running = true;
  30.     startTime = now;
  31.     state = ON1;
  32.     stateStart = now;
  33.     digitalWrite(ledPin, HIGH);
  34.   }
  35.  
  36.   if (running) {
  37.     if (now - startTime >= cycleTime) {
  38.       running = false;
  39.       digitalWrite(ledPin, LOW);
  40.       state = IDLE;
  41.     } else {
  42.       switch (state) {
  43.         case ON1:
  44.           if (now - stateStart >= shortOn) {
  45.             digitalWrite(ledPin, LOW);
  46.             state = OFF1;
  47.             stateStart = now;
  48.           }
  49.           break;
  50.  
  51.         case OFF1:
  52.           if (now - stateStart >= shortOff) {
  53.             digitalWrite(ledPin, HIGH);
  54.             state = ON2;
  55.             stateStart = now;
  56.           }
  57.           break;
  58.  
  59.         case ON2:
  60.           if (now - stateStart >= shortOn) {
  61.             digitalWrite(ledPin, LOW);
  62.             state = OFF2;
  63.             stateStart = now;
  64.           }
  65.           break;
  66.  
  67.         case OFF2:
  68.           if (now - stateStart >= longOff) {
  69.             digitalWrite(ledPin, HIGH);
  70.             state = ON1;
  71.             stateStart = now;
  72.           }
  73.           break;
  74.  
  75.         default:
  76.           break;
  77.       }
  78.     }
  79.   }
  80. }
(#) Frankye válasza sargarigo hozzászólására (») Okt 6, 2025 /
 
Köszönöm, kipróbálom.
(#) Directors hozzászólása Csü, 13:14 /
 

Hálózati feszültség jelenlét érzékelő modul

Sziasztok!

Szerintetek ez Bővebben: Link a modul küldhet jelet 60Hz 110V esetén is egy ESP32-nek mondjuk ? Vagy csak is 230V esetén működik ahogyan az a leírásban van ?
(#) proli007 válasza Directors hozzászólására (») Csü, 13:39 /
 
Hello! Működni fog 110V/60Hz-ről is, legfeljebb a melák ellenállást kell cserélni az értéke felére.
(#) Directors válasza proli007 hozzászólására (») Csü, 15:12 /
 
Köszi!
(#) kameleon2 hozzászólása Pé, 19:03 /
 
(#) Bakman válasza kameleon2 hozzászólására (») Pé, 20:24 /
 
Egy cikk hasonló tartalommal, magyarul: HWSW.
(#) Massawa válasza kameleon2 hozzászólására (») Vas, 13:54 /
 
Felvásárolta.
(#) kameleon2 válasza Massawa hozzászólására (») Vas, 15:49 /
 
Az a kérdés, ez jó lesz-e vagy sem? Mert nyilván nekik az új, saját eszközök lesznek a prioritás, nem a közösség.
Következő: »»   864 / 864
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem