Hirdetés
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- GoodSpeed: Haworth Aloha – egy nemcsak szavakban ergonomikus szék
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- gban: Ingyen kellene, de tegnapra
- gerner1
- eBay-es kütyük kis pénzért
- GoodSpeed: Nem vénnek való vidék - Berettyóújfalu
-
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.![;]](//cdn.rios.hu/dl/s/v1.gif)
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
- Dell Precision 3560 - Core I7-1165G7, 32GB ram, Nvidia T500, Vil.magyar bill, 12 hó gar.
- Lenovo IdeaPad Slim 3 16ABR8 Ryzen 5, 16GB RAM, 512GB SSD, dedikált grafika, garanciás
- Hp Zbook Fury G7 " Gyári magyar Bill " Sok - Sok darab!!!!
- Bomba áron GIGABYTE G5 /I7-13620H 16GB 1 TB SSD Nvidia RTX 4050 6GB 144 Hz FHD IPS
- Honor Pad X8 / 4/64GB / Wi-Fi / 12 Hó Garancia
- Eredeti Lenovo 90W szögleges laptop táp + kerek átalakító egyben eladó
- ASUS TUF A15 FA507 - 15.6"FHD 144Hz - Ryzen 7 7435HS - 16GB - 1TB - Win - RTX 4050 - 2+ év garancia
- 154 - Lenovo LOQ (15IRX9) - Intel Core i5-13450HX, RTX 4060
- Telefon felvásárlás!! Huawei P20 Lite/Huawei P20/Huawei P30 Lite/Huawei P30/Huawei P30 Pro
- 0perces! Samsung Galaxy Book5 Pro 360 2in1 Core Ultra 7 256V 16GB 2TB 16" WQXGA+ AMOLED TOUCH 1évgar
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


![;]](http://cdn.rios.hu/dl/s/v1.gif)
).





ekkold
