-
Fototrend
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 LAYOUTvá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
- Mini PC - HP ProDesk 405 G4 DM / Ryzen 5 PRO 2400GE / DDR4 / NVMe / HDMI / több db / számla
- ÚJ, bontatlan iPhone 17 256GB levendula KÁRTYAFÜGGETLEN! 1 év Apple garancia!
- RYZEN 7 7800X3D 32 GB DDR5 RTX 3080 Ti 12GB 1TB M.2
- Lenovo ThinkPad P15 Gen 1 Tervező Vágó Laptop -50% 15,6" i7-10750H 32/512 QUADRO T1000 4GB
- Dell LAtitude 7490 FHD, TOUCH, i7-8565U CPU, 16GB DDR4, 512GB SSD, 27% ÁFÁS SZÁMLA, 1ÉV GARANCIA!
- HP ZBook Studio x360 Gen5 Intel Xeon E-2176M - Garancia
- LG 43NANO763QA 108 cm / 43 4K UHD NanoCell Smart TV 6 hó garancia Házhozszállítás
- Telefon felvásárlás! Samsung Galaxy A15, Samsung Galaxy A25, Samsung Galaxy A35, Samsung Galaxy A55
- AKCIÓ! Lenovo Legion Slim 5 Gamer notebook - R7 7435HS 16GB RAM 1TB SSD RTX 4070 8GB GDDR6 WIN11
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
Állásajánlatok
Cég: ATW Internet Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi


. A másik tippem hogy ilyesmi sebességkülönbség lehet a
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.

ekkold
