 |

|
|
Elektronika.lt portalo forumas
Jūs esate neprisijungęs lankytojas. Norint dalyvauti diskusijose, būtina užsiregistruoti ir prisijungti prie forumo.
Prisijungę galėsite kurti naujas temas, atsakyti į kitų užduotus klausimus, balsuoti forumo apklausose.
Administracija pasilieka teisę pašalinti pasisakymus bei dalyvius,
kurie nesilaiko forumo taisyklių.
Pastebėjus nusižengimus, prašome pranešti.
Dabar yra 2026 02 27, 12:05. Visos datos yra GMT + 2 valandos.
|
|
|
 |
Forumas » Mikrovaldikliai » Koks maksimalus ilgis klaviaturos laidui?
|
Jūs negalite rašyti naujų pranešimų į šį forumą Jūs negalite atsakinėti į pranešimus šiame forume Jūs negalite redaguoti savo pranešimų šiame forume Jūs negalite ištrinti savo pranešimų šiame forume Jūs negalite dalyvauti apklausose šiame forume
|
|
|
 |
 |
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 05, 19:09 |
|
|
|
|
| ewas rašo: |
| AlgisL rašo: |
| mikrovaldiklio plokste irgi gali ekranuoti ir tinkamai izeminti, o laido gali uztekti ir vien suktos poros, bet jei idesi nedidukes varzikes tiek "gnd" tiek signalo puseje, o jei klausi kam? atsakau - busi ramesnis del atsitiktinio uCU persikrovimo ar pakibimo. jei kazka darai ne atsiskaityti destytojui, o zadi naudoti realiame gyvenime, ypac parduoti kaip komercini produkta - daryk kaip priklauso, kad paskui nereiktu taisyti klaidu. |
Su dėstytojais išsiskyriau jau daugiau nei prieš 20metų . Parduoti... na nebent jei nepavyks kaip detalių laužą , bet žinoma yra ir komercinė pusė jei pavyks- mažiausiai 500Lt sutaupysiu, bet pasitenkinimo, kad šį tą pats pasidariau tai nieks neįkainos.
Taip ir apsistosiu su tinklo kabeliuku: viena pora I2C, antra maitinimui, trečia klavyrai dar lieka laisva, gal kam panaudosiu išjungimo mygtukui ar signaliam zumeriui. Klavyra tipo tokia:
Kurį klavyros laidą geriau į porą su išėjimu poruoti- GND? |
nu kam tai klaviaturai maitnimas? negi nebutu paprasciau su adc matuoti ne itampa o varza?
pagal va tokia shema
 |
|
|
|
|
|
 |
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 05, 19:42 |
|
|
|
|
| Ibanez rašo: |
| pagal duota schema du klavisus nuspaudus vienu metu nesupras gi kuri klavisa nuspaude |
Supras. Ne visai lengvai (čia Digix pateikta versija labiau tinka), bet suprastų ir taip. Atidžiau pažiūrėk ir pagalvok. Beje daugumos aparatūros klaviatūros (jei mygtukų nelabai daug) būtent taip padarytos. Jei mygtukų daug tai tada daroma matrica. |
|
|
|
|
|
 |
 |
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 05, 21:07 |
|
|
|
|
| Ibanez rašo: |
| Galiu pasiulyti kaip isvis panaikinti ta kabeli: galima naudotiu Bluetooth modulius. |
o čia jau artilerija. Gal tiek to. Daugiau problemų nei naudos iš tokios įrangos.
| Digix rašo: |
| negi nebutu paprasciau su adc matuoti ne itampa o varza? pagal va tokia shema |
| Digix rašo: |
| matrica galima padaryti tokia pat analogine |
tai jau tinka ir tas ir tas variantai, mano kol kas fantazijai ir 8 pimpų užtektų. Labai nesinori valdymo organizuoti per "daugiasluoksnį" menių. Geriausia būtų, kiekvienam veiksmui po mygtuką, bet tai vėl bus panašu į mobiliako klaviatūrą.
Pultas bus va toks
mygtukas ne kažin kiek vietos maždaug 25x70 membraninės klaviatūros neradau teks su mikriukais bovytis. |
|
|
|
|
|
 |
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 06, 22:35 |
|
|
|
|
| buvau radęs sketcha ( c++) klaviatūrai praskanuoti, kad nustatyti tiksliai kiekvieno mygtuko reikšmę, bet kur tai nukišau ir nerandu, o kaip pono googlo paklausti jau fantazijos trūksta, gal kas turite po ranka |
|
|
|
|
|
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 06, 23:37 |
|
|
|
|
Aš čia tokį dabar pasirašiau, lyg ir rodo ką reikia
| Citata: |
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#define Key_PIN A0
LiquidCrystal_I2C lcd(0x20,16,2);
int a=0;
void setup ()
{
lcd.init();
lcd.backlight();
pinMode (Key_PIN, INPUT);
}
void loop ()
{
a = analogRead (0);
lcd.clear ();
lcd.setCursor (0,1);
lcd.print (" reiksme: ");
lcd.print (a);
delay (250);
}
|
Dabar gautas reikšmes priskirsiu kiekvienai knopkei ir turėtų jau tikti tai ką šioje nuorodoje pasiūlei. |
|
|
|
|
|
 |
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 07, 00:02 |
|
|
|
|
analoginiams iejimams mode nustatineti nereikia, nebent juos nori paversti skaitmeniniais.
kodo pavyzdys galimai tinka, bet skirtingu gamintoju gali skirtis kazkiek varzos, tai ir gaunamos reiksmes gali skirtis.
jei reikia detektuoti keleta vienu metu nuspaustu klavisu, gali modifikuotis taip, kad galetum pamatuoti 2^N itampas, parinkes varzas R, 2R, 4R, 8R, 16R ..., tik nepamirsk, kad matavimo tikslumas ir galimybe parinkti varzas nelabai leidzia pasiekti daugiau nei 8 klavisu.
kazkiek didesni tiksluma galima isgauti, jei pasirinkti reference external nuo 3,3V ir klaviatura uzmaitinti is ten pat per R varza.
R cia kazkoks patogus nominalas, kurio kartotiniu nesunku butu rasti ar sudaryti jungiant nuosekliai, pvz 1k , tada reikes tokiu varzu:
2x 1k, 2k, 4k, 8k, 16k, 32k
klavisu reiksmes galima isgauti:
| Kodas: |
int key_val=(1019-analogRead(A0))>>4;
if(key_val & 1) {};
if(key_val & 2) {};
if(key_val & 4) {};
if(key_val & 8) {};
if(key_val & 16) {};
if(key_val & 32) {};
|
|
|
Paskutinį kartą redagavo AlgisL, 2013 11 07, 00:40. Redaguota 1 kartą |
|
|
|
 |
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 07, 00:20 |
|
|
|
|
susirinkau maketą tokį
o norėjau kaip ir rašei detektuoti kokią reikmę kuris mygtukas generuoja. Gavosi taip: 63,198,330,442,578,722,842,960. Diskretiškumas gavosi apie 120 tarp artimiausių reikšmių. Gal to pakaks? |
|
|
|
|
|
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 07, 01:03 |
|
|
|
|
| ewas rašo: |
susirinkau maketą tokį
o norėjau kaip ir rašei detektuoti kokią reikmę kuris mygtukas generuoja. Gavosi taip: 63,198,330,442,578,722,842,960. Diskretiškumas gavosi apie 120 tarp artimiausių reikšmių. Gal to pakaks? |
cia panasu i mano duota shema, tik varzos durnai sujungtos
sitokiu budu jungiant reikia skirtingu nominalu o galima tiesiog jungti nuosekliai vienodas varzas. |
|
|
|
|
|
 |
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 07, 01:12 |
|
|
|
|
Taip tavo schemute ir panaudojau, atsiprašau, kad autorystės nepaminėjau, bet kaip tai šlubai veikia, prijungus tokią klaviatūrą prie mano projektų grybą pjauna, reiks ieškot kame problemos. Atitinkami pakeičiu reikšmes tokiu principu:
| Citata: |
#define KEYPAD_PIN A0 // Klaviatura pajungta prie pinA0
//nurodome reiksmes A0 klaviaturai
#define ButtonRight_LOW 0
#define ButtonRight_HIGH 50
#define ButtonUp_LOW 90
#define ButtonUp_HIGH 160
#define ButtonDown_LOW 200
#define ButtonDown_HIGH 350
#define ButtonLeft_LOW 400
#define ButtonLeft_HIGH 550
#define ButtonSelect_LOW 650
#define ButtonSelect_HIGH 850
|
, bet vistiek "neklauso" |
|
|
|
|
|
 |
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 07, 20:58 |
|
|
|
|
Klavitūrai naudojamas įvairus dešifravimas, kos iš jų butų geriausias čia dažniausiai naudojami, bent jau man taip pasirodė:
1 ////////////////////////////////////////////////
#define btnRIGHT 0
#define btnUP 1
#define btnDOWN 2
#define btnLEFT 3
#define btnSELECT 4
if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 195) return btnUP;
if (adc_key_in < 380) return btnDOWN;
if (adc_key_in < 555) return btnLEFT;
if (adc_key_in < 790) return btnSELECT;
2/////////////////////////////////////////////////////
#define ButtonRight_LOW 0
#define ButtonRight_HIGH 50
#define ButtonUp_LOW 90
#define ButtonUp_HIGH 160
#define ButtonDown_LOW 200
#define ButtonDown_HIGH 350
#define ButtonLeft_LOW 400
#define ButtonLeft_HIGH 550
#define ButtonSelect_LOW 650
#define ButtonSelect_HIGH 850
if (KeyValue2<ButtonUp_HIGH&&KeyValue2>ButtonUp_LOW) {KeyNum=1;}//Up
if (KeyValue2<ButtonDown_HIGH&&KeyValue2>ButtonDown_LOW) {KeyNum=2;}//Down
if (KeyValue2<ButtonLeft_HIGH&&KeyValue2>ButtonLeft_LOW) {KeyNum=3;}//Left
if (KeyValue2<ButtonRight_HIGH&&KeyValue2>ButtonRight_LOW) {KeyNum=4;}//Right
if (KeyValue2<ButtonSelect_HIGH&&KeyValue2>ButtonSelect_LOW) {KeyNum=5;}//Select
3////////////////////////////////////////////////////////
#define RIGHT_10BIT_ADC 0 // right
#define UP_10BIT_ADC 145 // up
#define DOWN_10BIT_ADC 329 // down
#define LEFT_10BIT_ADC 505 // left
#define SELECT_10BIT_ADC 741 // right
#define BUTTONHYSTERESIS 10 // hysteresis for valid button sensing window
//return values for ReadButtons()
#define BUTTON_NONE 0 //
#define BUTTON_RIGHT 1 //
#define BUTTON_UP 2 //
#define BUTTON_DOWN 3 //
#define BUTTON_LEFT 4 //
#define BUTTON_SELECT 5 //
if( buttonVoltage < ( RIGHT_10BIT_ADC + BUTTONHYSTERESIS ) )
{
button = BUTTON_RIGHT;
}
else if( buttonVoltage >= ( UP_10BIT_ADC - BUTTONHYSTERESIS )
&& buttonVoltage <= ( UP_10BIT_ADC + BUTTONHYSTERESIS ) )
{
button = BUTTON_UP;
}
else if( buttonVoltage >= ( DOWN_10BIT_ADC - BUTTONHYSTERESIS )
&& buttonVoltage <= ( DOWN_10BIT_ADC + BUTTONHYSTERESIS ) )
{
button = BUTTON_DOWN;
}
else if( buttonVoltage >= ( LEFT_10BIT_ADC - BUTTONHYSTERESIS )
&& buttonVoltage <= ( LEFT_10BIT_ADC + BUTTONHYSTERESIS ) )
{
button = BUTTON_LEFT;
}
else if( buttonVoltage >= ( SELECT_10BIT_ADC - BUTTONHYSTERESIS )
&& buttonVoltage <= ( SELECT_10BIT_ADC + BUTTONHYSTERESIS ) )
{
button = BUTTON_SELECT;
}
//handle button flags for just pressed and just released events
if( ( buttonWas == BUTTON_NONE ) && ( button != BUTTON_NONE ) ) |
|
|
|
|
|
 |
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 07, 22:28 |
|
|
|
|
| Evaldas_S rašo: |
| Ibanez rašo: |
| pagal duota schema du klavisus nuspaudus vienu metu nesupras gi kuri klavisa nuspaude |
Supras. Ne visai lengvai (čia Digix pateikta versija labiau tinka), bet suprastų ir taip. Atidžiau pažiūrėk ir pagalvok. Beje daugumos aparatūros klaviatūros (jei mygtukų nelabai daug) būtent taip padarytos. Jei mygtukų daug tai tada daroma matrica. |
Suku maumuolį ir nesugalvoju ar tiksliai suprantu, čia varžinis daliklis ar kaip čia veikia tas? įtampos vertės atitinkamos  |
|
_________________ Bandau praplėst žinias |
|
|
|
 |
Koks maksimalus ilgis klaviaturos laidui? |
Parašytas: 2013 11 07, 22:42 |
|
|
|
|
| Mano primityvia nuomone, tai jei apibrėši ribas kiekvienai knopkai, tai kitos kombinacijos, kaip ir nieko neduos, bet kuo knopkų daugiau tuo tie rėžių pločiai siaurėja ir tikimybė, kad kelias nuspaudus - sutaps su kokia nereikalinga tuo momentu reikšme didėja. |
|
|
|
|
|
|
 |
Google paieška forume |
|
|
 |
Naujos temos forume |
|
 |
FS25 Tractors
Farming Simulator 25 Mods,
FS25 Maps,
FS25 Trucks |
 |
ETS2 Mods
ETS2 Trucks,
ETS2 Bus,
Euro Truck Simulator 2 Mods
|
 |
FS22 Tractors
Farming Simulator 22 Mods,
FS22 Maps,
FS25 Mods |
 |
Dantų protezavimas
All on 4 implantai,
Endodontija mikroskopu,
Dantų implantacija |
 |
FS25 Mods
FS25 Maps,
FS25 Cheats,
FS25 Install Mods |
 |
FS25 Mods
Farming Simulator 25 Mods,
FS25 Maps |
 |
ATS Trailers
American Truck Simulator Mods,
ATS Trucks,
ATS Maps |
 |
RDR2 Mods
Euro Truck Simulator 2 Mods,
WOT Mods,
Assetto Corsa Rally Mods |
|

|
 |