- Meggyi001: RTX 5060 - Az új népkártya?
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- gban: Ingyen kellene, de tegnapra
- eBay-es kütyük kis pénzért
- sziku69: Szólánc.
- pr1mzejEE: Viszlát CoD2, CoD4, CS:GO!
- Magga: PLEX: multimédia az egész lakásban
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- bitpork: Phautós tali a Balcsinál 2025 Augusztus 2 napján (szombat)
Hirdetés
Talpon vagyunk, köszönjük a sok biztatást! Ha segíteni szeretnél, boldogan ajánljuk Előfizetéseinket!
-
LOGOUT
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).
-
weiss
addikt
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
- XFX RX-69XTATBD9 Xfx Radeon RX 6900 XT 16 GB GDDR6 videókártya csere Rtx 4070Ti
- AKCIÓ!!! GAMER PC: RYZEN 5 4500-5600X +RX 9060XT/9070/9070XT +16-64GB DDR4! GAR/SZÁMLA!!!
- AKCIÓ!!! DDR5 GAMER PC: RYZEN 5 8400F/9600X +RX 9060XT/9070/9070XT +16-64GB DDR5! GAR/SZÁMLA!!!
- Asus X299 TUF / Beszámítás OK!
- AKCIÓ!!! GAMER PC: RYZEN 7 5700/5800X +RX 9060XT/9070/9070XT +16-64GB DDR4! GAR/SZÁMLA!!!
- AKCIÓ! Apple Macbook PRO 15" 2018 i9 32GB 500GB notebook garanciával hibátlan működéssel
- Bomba ár! HP EliteBook 830 G5 - i5-8G I 8GB I 256GB SSD I 13,3" FHD I HDMI I Cam I W11 I Gari!
- HIBÁTLAN iPhone 11 64GB White -1 ÉV GARANCIA - Kártyafüggetlen, MS3027
- AKCIÓ! EZÜST! RITKASÁG! Surface Pro 11 Qualcomm Snapdragon X Elite 16GB 512GB OLED 120Hz Gar!
- Keresünk dokkolókat
Állásajánlatok
Cég: FOTC
Város: Budapest