Hirdetés
Hirdetés
(használd a CYBSEC25PH kuponkódot további 20 ezer ft kedvezményért!)
-
PROHARDVER!
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
-
-
Urna
tag
Erre igazából csak azért írom meg a választ, hátha valaki belefutna .. és lehet egyszerűbb lesz már neki
AKeyboard.press()
-egy lenyomást ad át, amit hogyha nem követ valamikor egyKeyboard.release()
vagy egyKeyboard.releaseAll()
akkor addig megy a lenyomott gomb, amíg a scope él, szóval nem ideális ilyenre. Emellett a megengedett paramétere is vagy char kell hogylegyen vagy pedig egy adott billentyű kódja, pl:char ctrlKey = KEY_LEFT_CTRL;
[...]
Keyboard.press(ctrlKey);
Namost, emellett hogyha nagybetűt adok meg, akkor lenyomja az eredetit is és a shiftet is ami pedig különösen nem volt előnyös
A megoldás erre, hogy kicseréltem mindetKeyboard.write();
-ra. Tegnap a proto-tákolmány be is tudta olvasni az összes billentyű kódot elsőre, egy hiba nélkül.
Még kísérletezek hogy kell-e a ciklusba delay, mert tuti ami fix kapott 10ms-et egy koordináta kiiíratása után de .. szerintem nem lényeges.
Emellett pedig még a#define LAYOUT
változót kéne megnézni meg hogy az mivel ad többet/ kevesebbet, ugyanis a 0-s helyett most ö-betűt ír mintha át lenne "címkézve" egy magyar billentyűzetnek egy angol. De ez is minimális probléma mert a beolvasása a sorok-oszlopoknak működik, jöhet a mátrix. -
Urna
tag
Hát .. nem lett minden jó mégse, este megnéztm a G-T-5-F5, meg Á,Ő-Ü billentyűket és elkönyveltem hogy kész.
Viszont sajna most az utolsó előtti egész sor esik ki ( L-shift, Í ,Y, X, C, V, B,N,M,?,:,-,R-shift) ami eddig adott jelet.
Délután ránézek újra areadPinNumber
-ra meg adown_arrow
-ra. Ezekben az eredetiben van egy adag delay betéve és lehet hogy a két egymás utáni switch-case túl gyorsan jön ahhoz hogy az USBHIDKeyboard.h le tudja kezelni. A másik tippem hogy ilyesmi sebességkülönbség lehet a
Keyboard.write()
meg aKeyboard.press()
közt. -
Igen, most megnéztem, ha jól látom az USB+- pinek nincsenek is külön kivezetve.
csak akkor debugolni nem fogom tudni mert elvesztem a serial írás lehetőségét.
Egy csodát nem.
Mivel keyboard vezérlőt építesz, úgy tudsz vele debugolni, hogy megnyitod például a notepad-et a gépen, és hagyod, hogy beleírja azt, amit amúgy a serial-ra íratnál.
-
dew28
aktív tag
A harmadik hogy nem hiszem hogy feltétlen külföldről rendelném mivel egy becslésre kb 2$ volt a pcb, de idehozni 20 lett volna, lehet előbb itthon körbenézek még, ahogy néztem van több opció is.
Ha easyEda-bol rendeled, is van kedvezmeny, meg a jlcpcb oldalan is kapsz kupont, talan havonta(?) . nekem az utolso rendelesem 2 kulonbozo pcb-bol 5-5db, a $8-os kuponnal:
Merchandise Total: $1.00
Shipping Charge: $0.50
Customs duties & taxes: $0.41
Order Total: $1.91("Global Standard Direct Line" szallitassal, 9 nap volt)
persze csak ha nem kell semmi extra opcio, vagy osszeszereles stb. -
-
Nyugodtan tedd on-ba szerintem.
Megnézted, hogy a board 2x 2 pin sorát a valóságban is össze tudod majd ezen a módon kötni a PCB-n, ahogy a terven szerepel?
Kihagytad az USB által lefoglalt pin-eket? Sajnos nem tudom fejből, hogy melyik 2 pint használja az USB, nézd majd meg.
Írtad, hogy a keyboard tartalmaz touchpad-et, azt hogy fogod kezelni? Vagy nem jól értettem? -
Janos250
őstag
"van-e bármi amit esetleg elronthattam a design közben?"
Van. Például nem minden légvezetéket alakítottál át.
Ott van benne egy ellenőrzés, futtasd le. Nem tudom fejből, hogy hol, de van.
Az persze egy csomó egyéb figyelmeztetést is kiír. Pl. ha egy láb semmihez nincs csatlakoztatva, stb.
"Ezen a linken meg tudja nézni"
A kapcsolás jónak tűnik, de nem látom a panelon a vezetékezést!
" Ez alapján választottam a pcb-hez egy csatlakozó-alapot:"
Csinálhatsz is magadnak saját footprintet.
"Offra tettem, mivel nem annyira arduino mint a pcb-készítés,"
De, Arduino, mert az Arduino alapú projektekhez kell PCB is!
Én is Arduino dolgokhoz használom. -
Janos250
őstag
Én az easyeda.com-ot használom. Gyors, jó minőség, és olcsó, bár a szállítás megdrágítja
-
Postas99
őstag
STM32? estleg, oda elegendő a BluePill - abból van klón is és tud HID eszközként működni akár egér akár billentyűzetként.
Igaz a kódot STMCUBE-ban láttam.Ha valami nem klón cucc kellene akkor innen:
[GroundStudio]
[Let me Explain]Természetesen játszik a TME és a többi bolt is, ki mit tart jobbnak.
-
Ha tényleg ennyire árérzékeny a dolog, akkor tényleg próbáld meg, amit a kolléga javasolt: Attiny85 + például 2db MCP23017 port expander (darabja 16 portot ad neked), csak az Attiny85 i2c képessége nem túl megbízható.
Esetleg lehetne a 2db MCP23017-t közvetlenül a Raspberry-re kötni Arduino nélkül, és egy custom driverrel (pl python) kezelni a keyboard-ot. Erre nem tudom van-e kész megoldás, de szerintem megvalósítható (C64 joystick portot például lehet közvetlenül rpi gpio-ról kezelni, van hozzá driver). -
Szia!
Teljesen replikálni szeretnéd a projektet, vagy hasonlót elérni? Hol helyezkedik el a projekt az árérzékenység/bütykölés arányon?
Csak azért kérdezem, mert ez az egész simán megoldható egy Attiny85-el, 4db 8bites kaszkádolt shift regiszterrel, és egy 8 bites multiplexerrel.
Az Attiny tud billentyűzetet emulálni, csak kevés az IO rajta (5, ill reset kiiktatásával 6)
A shift registereket 2 pinnel meghajtva meg tudod címezni a billentyűzet 23 pinjét, és a 8 bites multiplexer 3 címző bemenetét. A multiplexer a 8 visszatérő ágat 1 kimenetre fésüli be címzés szerint, így 1 pinnel olvashatod a visszatérő eredményt. 1 pint használhatsz resetnek a multiplexeren és a regisztereken.
Sebességét tekintve persze lassabb lesz. Attiny85-ön sima digitalWrite-al 132kHz egy output sebessége, portmanipulációval ~800kHz+
Ahhoz, hogy végigscanneld a billentyűzetet, a 23 kimenetet mind-mind meg kell címezni, és mellé minden alkalommal a 8 multiplexer címet is. Ez 184 teljes címzés ami 26 kimenet címzéséhez ~4800 output művelet. 800kHz mellett ez azt jelenti, hogy másodpercenként 166x tudod lescannelni a teljes billentyűzet állapotát. Azaz 6ms-ig el kell tartson egy lenyomás, és két lenyomás közti szünet, hogy legyen esély észrevenni. A valóságban szeretünk ilyen műveleteknél 3 ütemet fenntartani, hogy kiszűrhetőek legyenek a zavarok.
Itt leteszteltem hogy átlagosan meddig tartom nyomva a laptop billjét gépelés közben. 50ms jött ki, és a legrövidebb amit szándékosan okozni tudtam 34ms volt.
Szóval szerintem bőven jó lehet.
Szerk.: Ja és a scannelés amivel számoltam, az szimpla bruteforce, ennél léteznek okosabb megoldások, amivel minimum le lehet felezni a ciklust.
Új hozzászólás Aktív témák
- ASRock B550M-ITX/ac alaplap + Crucial Ballistix 16GB DDR4 3600MHz CL16 memória kit - ELADÓ!
- Új 0km es GARANCIAS acer nitro 15 rtx 4060 ryzen 7
- Új garanciás MSI Alpha ! R9 7945hx 32 ram 17 col 240hz qhd rtx 4070
- Ár értékbajnok! Prémium kategória 4060 ESZMÉLETLEN JÓ ÁRON! GIGABYTE AORUS rtx 4060
- ENNYI PÉNZÉRT ilyen konfigot nem kapsz! Prémium kategória! Gigabyte aorus rtx 4070 i9 14900hx 2k qhd
- 16 GB RTX 4080 SUPER HP OMEN - garanciával
- GYÖNYÖRŰ iPhone 12 Mini 64GB Black -1 ÉV GARANCIA - Kártyafüggetlen, MS3647
- DDR5 16GB 8GB 32GB 4800MHz 5600MHz RAM Több db
- GYÖNYÖRŰ iPhone 13 mini 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3049, 94% Akkumulátor
- HIBÁTLAN iPhone 12 mini 128GB Purple -1 ÉV GARANCIA - Kártyafüggetlen, MS3392, 94% Akkumulátor
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest