-
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
-
-
válasz
Brain75 #17034 üzenetére
Túl konkrét vagy, az a baj.
Az eszköz gondolom egy játékvezérlő, a készülék funkciója pedig valamiféle csalás lenne.
A feladatot valószínűleg meg lehet oldani a fent említett usb host shielddel, és egy Arduino Pro micro-val olyan módon, hogy rögzíteni kell a gamepad jeleit a host shielden keresztül, a pro micro-val pedig egy másik gamepad-et emulálni. Némi késleltetéssel lehet számolni. -
válasz
Brain75 #17032 üzenetére
Szia! Az első két bekezdés egyszerűnek tűnik, mintha egy tanítható infra távirányítóról lenne szó.
A gondok itt kezdődnek:
A jel USB-n jön és USB-n kell továbbmennie
Erről kicsit többet kéne tudni, mert elég sokféle jel közlekedhet usb-n, viszont Arduinoval csak egy részét lehet feldolgozni vagy emulálni. Valószínűleg szükség lesz egy olyan eszközre, amit pont kettővel feletted linkelt a kolléga. -
válasz
Brain75 #14998 üzenetére
Ja, hogy ja! Ez a fontos információ kimaradt, hogy az analóg és a gomb mindig együtt kapja az inputot. Ez esetben valóban weiss kolléga megoldása kapja a pontot.
Egy apró változtatást eszközölnék csak a kódján:const int kapcsolo = 7;
const int gomb = 9;
const int poti = A0;
void setup(){
pinMode(kapcsolo, INPUT_PULLUP);
pinMode(gomb, INPUT_PULLUP);
pinMode(poti, INPUT);
}
void loop(){
int poti_ertek = 0;
if(digitalRead(kapcsolo)){
poti_ertek = analogRead(poti);
}
else{
poti_ertek = digitalRead(gomb)?1023:0;
}Így a poti_ertek változóban mindig egy 0-1023 közti szám lesz, nem szükséges a kapcsoló állását később külön vizsgálni. A gombnál feltételeztem, hogy az alsó (kiengedett) állásban van megnyomva (poti_ertek=0).
-
válasz
Brain75 #14998 üzenetére
Fejből írom, de kb. erre gondoltam:
const int kapcsolo = 7;
const int gomb = 9;
const int poti = A0;
void setup(){
pinMode(kapcsolo, INPUT_PULLUP);
pinMode(gomb, INPUT_PULLUP);
pinMode(poti, INPUT);
}
void loop(){
bool gomb_lenyomva = false;
int poti_ertek = 0;
if(digitalRead(kapcsolo)){
poti_ertek = analogRead(poti);
}
else{
gomb_lenyomva = digitalRead(gomb);
}
} -
válasz
Brain75 #14991 üzenetére
Szerintem értelmetlen ez a megszakító gomb, mert egyszerű logika elég lenne hozzá: a nyomógomb felülírja az analóg jelet. Ha a nyomógomb nincs lenyomva, az analóg jelet olvasod be, ha a nyomógomb le van nyomva, az analóg állásától függetlenül 100% állást küldesz. Így akár felváltva is lehet használni a kart és a gombot.
De ha mindenképpen ragaszkodsz hozzá, akkor olyan javaslatom van, amihez 1db analóg láb is elég: a potméter marad fixre bekötve. A VCC és az A0 közé pedig sorba kötve a nyomógomb és a kapcsoló, ami kiiktatja.
Működés: az A0-on az analóg jelet kell olvasni. A nyomógomb 5V-ra húzza az A0-t, a poti állásától függetlenül. A kapcsoló pedig ezt meg tudja akadályozni.
Nem jó, az analóg GND felőli állásában rövidzárlatot csináltamÉn az első megoldást csinálnám. Ha használnom kellene is inkább egy ilyen megoldást preferálnék, mint kapcsolgassam ide-oda. Kivéve, ha a megrendelőnek kifejezett kívánsága volt (de akkor meg lebeszélném róla
)
-
-
-
-
-
válasz
Brain75 #14982 üzenetére
Szia! Nem értem a logikát.
A potméter egy feszültségosztó, a VCC és a GND közti 5V-ot osztja le, az A0 ezt a feszültséget méri. Ha megszakítod a GND-t, nincs mit osztani, az A0 megkapja a VCC-t.
Miért van szükség erre? Ha egyszerre csak egy bemenetre van szükséged, akkor olvasd csak az egyiket a programból.
Új hozzászólás Aktív témák
Hirdetés
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Kompakt vízhűtés
- Kerékpárosok, bringások ide!
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- eMAG vélemények - tapasztalatok
- Samsung Galaxy Z Flip7 - kis fogyás is sokat számít
- Nők, nőügyek (18+)
- Kínai és egyéb olcsó órák topikja
- Házimozi belépő szinten
- Kuponkunyeráló
- További aktív témák...
- iPhone 16 Pro Max 256GB Natúr Titán 2028.02.15-ig garancia! AppleCare+!
- 840 G11 14" FHD+ IPS Ultra 5 125U 16GB 512GB NVMe ujjolv IR kam gar
- P1 Gen3 15.6" FHD IPS Xeon W-10855M T2000 32GB 1TB NVMe ujjlolv gar
- Asus ROG Zephyrus G14 - 14"2.8K OLED 120Hz - Ryzen 9 8945HS - 16GB - 1TB - RTX 4060 -2,5 év garancia
- Intel Core i7-12700KF 12-Core 2.7GHz LGA1700 Box (25M Cache, up to 5.00 GHz) Processzor
- Bomba ár! Dell Latitude E7440 - i5-4GEN I 8GB I 500GB I 14" HD I HDMI I Cam I W10 I Gari!
- BESZÁMÍTÁS! ASRock X570 R9 5900X 32GB DDR4 1TB SSD RX 7800 XT 16GB Fractal Design Meshify 2 850W
- Bomba ár! Dell Latitude E7470 - i5-6GEN I 8GB I 256GB SSD I 14" FHD I HDMI I CAM I W11 I Gari!
- BESZÁMÍTÁS! MSI B450 R5 5600X 16GB DDR4 512GB SSD 1TB HDD RX 5700 XT 8GB ZALMAN S3 TG Chieftec 600W
- Akció! Paidashu 10600MAH / 20700MAH Powerbank olcsón!
Állásajánlatok
Cég: FOTC
Város: Budapest