FAQ | Points | Add... | Recent posts | Search | Register | Log in


[C] klawiatura matrycowa 3x4 -jaki program?


Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> [C] klawiatura matrycowa 3x4 -jaki program?
Author
Message
Philut
Poziom 10
Poziom 10


Joined: 10 Mar 2009
Posts: 58
Location: Trojmiasto

Post#1 Post from the author of the topic 10 Mar 2010 19:47   

[C] klawiatura matrycowa 3x4 -jaki program?


Witam!

Wiem, że na tym forum jest już dużo tematów z klawiaturami, ale mało dotyczy języka C/C++... Mam klawiaturę matrycową 3x4 podłączoną do portów PD0-PD6. Porty 0-2 mam ustawione jako wyjścia a kolejne cztery (3-6) jako wejścia.
Chciałbym napisać program, który odpowiednim klawiszom przypisuje jakąś zmienną.
Kolejna sprawa jest taka, że nie wiem czy w ogóle dobrze mam te porty ustawione- czyli, że PD0-PD2 jako wyjścia. Czy jak będzie np. PD1 (wyjście) zwarty z PD5 (wejście), to Atmega będzie "kumać", że z PD1 "ucieka" prąd?? Bo chodzi mi o to, żeby przypisać tym pinom wartość 1 (portD = 0100010) w momencie wciśnięcia klawisza "8".
Mam nadzieję, że wam za bardzo nie namieszałem i że wiecie o co mi chodzi. Proszę o pomoc!

Pozdrawiam!
Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#2 10 Mar 2010 21:09   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


tu kod dla klawiatury 4x4

Code:
void KBD_init(void)
{
KBD_DIR = 1<<KBD_col1 | 1<<KBD_col2 | 1<<KBD_col3 | 1<<KBD_col4 |
~(1<<KBD_row1 | 1<<KBD_row2 | 1<<KBD_row3 | 1<<KBD_row4);

KBD_PORT = 0xFF;
};

unsigned char KBD_read(void)
{
KBD_PORT=0xff;
KBD_PORT &= ~(1<<KBD_col1);

asm volatile("nop");
asm volatile("nop");

   if( !(KBD_PIN & (1<<KBD_row1)))
      return (1);
   if( !(KBD_PIN & (1<<KBD_row2)))
      return (2);   
   if( !(KBD_PIN & (1<<KBD_row3)))
      return (3);
   if( !(KBD_PIN & (1<<KBD_row4)))
      return (KEY_A);

KBD_PORT |=  (1<<KBD_col1);
KBD_PORT &= ~(1<<KBD_col2);

asm volatile("nop");
asm volatile("nop");

   if( !(KBD_PIN & (1<<KBD_row1)))
      return (4);
   if( !(KBD_PIN & (1<<KBD_row2)))
      return (5);   
   if( !(KBD_PIN & (1<<KBD_row3)))
      return (6);
   if( !(KBD_PIN & (1<<KBD_row4)))
      return (KEY_B);
 
KBD_PORT |=  (1<<KBD_col2);
KBD_PORT &= ~(1<<KBD_col3);

asm volatile("nop");
asm volatile("nop");

   if( !(KBD_PIN & (1<<KBD_row1)))
      return (7);
   if( !(KBD_PIN & (1<<KBD_row2)))
      return (8);   
   if( !(KBD_PIN & (1<<KBD_row3)))
      return (9);
   if( !(KBD_PIN & (1<<KBD_row4)))
      return (KEY_C);

KBD_PORT |=  (1<<KBD_col3);
KBD_PORT &= ~(1<<KBD_col4);

asm volatile("nop");
asm volatile("nop");

   if( !(KBD_PIN & (1<<KBD_row1)))
      return (KEY_GW);
   if( !(KBD_PIN & (1<<KBD_row2)))
      return (0);   
   if( !(KBD_PIN & (1<<KBD_row3)))
      return (KEY_KR);
   if( !(KBD_PIN & (1<<KBD_row4)))
      return (KEY_D);

KBD_PORT |=  (1<<KBD_col4);
return (0xFF);
}

unsigned char get_key(void)
{
unsigned char x;
do
{
x = KBD_read();
_delay_ms(10);
}while(x == 0xFF);
while (0xFF != KBD_read());
{
_delay_ms(10);
}
return (x);
}


deklaracja portów:

Code:

// linie kolumn klawiatury
#define KBD_PORT   PORTB
#define KBD_DIR      DDRB
#define KBD_PIN      PINB

#define KBD_col1   7

#define KBD_col2   6

#define KBD_col3   5

#define KBD_col4   4

// linie wierszy klawiatury

#define KBD_row1   3

#define KBD_row2   2

#define KBD_row3   1

Back to top
   
mirekk36
Poziom 25
Poziom 25


Joined: 17 Jun 2006
Posts: 8708
Location: Szczecin

Post#3 10 Mar 2010 21:12   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Philut --> na główne pytanie "jaki program?" odpowiedź jest jedna - własny program.

Pytasz czy nam namieszałeś, nam nie - ale sobie? .... oooj bardzo. O jakim ty "uciekaniu" prądu piszesz?

Poza tym ATmega nic nie będzie sama "kumać" ..... procesor nie myśli. To ty musisz tak pomyśleć żeby przyporządkować sobie odpowiedni stan odpowiednich portów I/O do jakiejś zmiennej, która będzie ci podawać w programie głównym kody klawiszy.
Back to top
   
Dr.Vee
Poziom 22
Poziom 22


Joined: 16 May 2008
Posts: 1808
Location: Wrocław

Post#4 10 Mar 2010 21:26   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Wszystkie piny ustawiasz jako wejścia, wewnętrznie podciągnięte do Vcc
Po kolei ustawiasz 110, 101, 011 na PD(2:0) (odpowiedni pin jako wyjście i stan niski) i testujsz stan wejść PD(6:3).
Jeśli stan na pinie == 0, to dany przycisk jest wciśnięty. Inaczej jest zwolniony.

Ten sposób pozwoli Ci na poprawne obsłużenie sytuacji gdy kilka przycisków jest wciśniętych na raz.
Możesz też PD(2:0) ustawić jako wejścia bez podciągania, będzie mniej bitów do zmiany przy przemiataniu.

Pozdrawiam,
Dr.Vee
Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#5 10 Mar 2010 21:28   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


przynajmniej użył cudzysłowu

musisz wykorzystać wewnętrzne pull-upy
Back to top
   
Philut
Poziom 10
Poziom 10


Joined: 10 Mar 2009
Posts: 58
Location: Trojmiasto

Post#6 Post from the author of the topic 10 Mar 2010 21:44   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Do tadzik85:
Trochę sporo tych kodów, czy na pewno nie ma krótszej możliwości??

Do mirekk36:
Wiem, że własny program, właśnie dla tego powstał ten post.
Czemu sobie skomplikowałem? Co do tekstu z tym "uciekaniem" to Dr.Vee mnie dobrze skumał.
Dla tego też najbardziej mi się podoba jego pomysł i będę drążył w tym kierunku.

Dziękuje wam wszystkim za pomoc, dam znać jak będą jakieś postępy (albo jak będę stał w miejscu...)

Pozdrawiam!
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 10 Mar 2010 21:44   





Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#7 10 Mar 2010 23:23   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


jest możesz zastosować pętle for jednak ten kod jest bardziej uniwersalny, łatwe wykonanie przypisania kodów konkretnym przyciskom oraz łatwe podłączenie klawiatury każde wyprowadzenie możne wręcz znajdować się na innym pinie procesora. poza tym NOPy są istotne, gdyż za szybie odczytanie kolumn po ustawieniu wierszy powoduje zły odczyt musi minąć co najmniej jeden takt zegara by odczytać stan wejściowy
Back to top
   
Philut
Poziom 10
Poziom 10


Joined: 10 Mar 2009
Posts: 58
Location: Trojmiasto

Post#8 Post from the author of the topic 10 Mar 2010 23:55   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


No dobra, stoję w miejscu... Porty mam ustawione tak: DDRD = 0x00; PORTD = 0xff; Mam taki testowy programik napisany, który ma mi LED'a zapalić jak którykolwiek przycisk zadziała, ale nic się nie dzieje.
Nie rozumiem dokładnie tego:
Quote:
Po kolei ustawiasz 110, 101, 011 na PD(2:0) (odpowiedni pin jako wyjście i stan niski) i testujesz stan wejść PD(6:3).

Czy mógłby mi ktoś dokładniej wytłumaczyć?
Pozdrawiam!
Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#9 11 Mar 2010 00:01   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


odczyt realizuje się po "0". to najważniejsze.

zakładając ze odczytujesz z kolumn:
ustawiasz wiersze jako 0111
odczyt kolumny jeśli któraś 0 to -> zwróć kod przycisku.
przesuwasz zero wierszy czyli 1011
ponowny odczyt kolumny jeśli 0 t0 -> zwróć kod przycisku

itd

przesuwasz zero i sprawdzasz kolumnę.

Jak wspomniano musisz zastosować wewnętrzne podciągnięcia.

Najlepiej przestudiuj mój kod, długi ale bardzo prostu do zrozumienia
Back to top
   
Dr.Vee
Poziom 22
Poziom 22


Joined: 16 May 2008
Posts: 1808
Location: Wrocław

Post#10 12 Mar 2010 00:06   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Test dla jednego wiersza/kolumny (jak to tam masz podłączone):
Code:

    // inicjalizacja
    DDRD  = 0;
    PORTD = ~0x7;

    // załóżmy, że PD(2:0) to wiersze, a PD(6:3) to kolumny

    // testuj pierwszy wiersz - PD0 jako wyjście = 0
    DDRD  |= _BV(0);

    if (~PIND & _BV(3))
        // PIND(3) == 0 -> "skrzyżowanie" PD0 i PD3 jest zwarte!
    // i tak dalej...

    // zawijasz wszystko w 2 pętle i masz elegancki program :)


Pozdrawiam,
Dr.Vee
Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#11 12 Mar 2010 00:10   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


DDRD na pewno nie będzie = 0 !
Back to top
   
Google

Google Adsense


Post# 12 Mar 2010 00:10   





Back to top
   
Philut
Poziom 10
Poziom 10


Joined: 10 Mar 2009
Posts: 58
Location: Trojmiasto

Post#12 Post from the author of the topic 14 Mar 2010 14:06   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Witam ponownie.

Wkleiłem ten fragment programu, przekształcałem go, próbowałem różnych kombinacji, ale dalej mi to nic nie dało. Kompletnie mi to nie wychodzi! Aż straciłem ochotę, tak więc odezwę się znowu, jak przyjdą mi ponownie chęci lub nowe pomysły. Pozdrawiam!
Back to top
   
Google

Google Adsense


Post# Post from the author of the topic 14 Mar 2010 14:06   





Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#13 14 Mar 2010 14:19   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


No człowieku, jakiż to problem napisać obsługę klawiatury matrycowej. Jedna z prostszych rzeczy. Dałem ci gotowca. Tylko skopiować i usunąć jedna kolumnę (wiersz). I pozmieniać kody przycisków wg własnego użytku. Do tego musisz napisać jeszcze jakaś funkcję wykorzystującą to przemiatanie. Debounce czy coś w tym stylu i gotowe.
Back to top
   
Philut
Poziom 10
Poziom 10


Joined: 10 Mar 2009
Posts: 58
Location: Trojmiasto

Post#14 Post from the author of the topic 22 Mar 2010 17:18   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Witam ponownie po krótkiej przerwie!
Posiedziałem trochę nad tą całą klawiaturką i nie mogę powiedzieć, że coś wymyśliłem, ale znalazłem coś ciekawego na sieci. Próbowałem sporo rzeczy z programem od "tadzik85", ale nie da się go skompilować - wykrywa mi mnóstwo błędów. Dodam jeszcze, że dla mnie osobiście jest mało zrozumiały, co wynika jedynie z braku wystarczającej ilości wiedzy mojej, więc przedstawię (nie mój) projekt, który zdecydowanie bardziej rozumiem i który mi już częściowo działa:
Code:

#define F_CPU 1000000L
#include <avr/io.h>
#include <util/delay.h>

/**** DEFINICJE WŁASNYCH FUNKCJI ****/
/* Konfiguracja sprzętu */
void init(void)
{
   /* Konfiguruj portu A jako wyjścia */
   /* Wyświetlacz */
   DDRA  = 0xFF;
   PORTA = 0xFF;
   /* Klawiaturka  PD0..PD7 */
   DDRD  = 0x0f;
   PORTD = 0x7f;
}
/*
Funkcja zmienia bajt w kodzie binarnym na bajt
zakodowany w BCD
*/
unsigned char bin2bcd(unsigned char bin)
{
   if(bin>99) return bin;
   return  bin/10<<4 | bin%10;
}
/*
Funkcja sprawdza kolejno wszystkie przyciski klawiatury
i zwraca numer pierwszego wciśniętego przycisku, albo zero,
gdy żaden przycisk nie został wciśnięty.
 */
unsigned char read_keypad(void)
{
   unsigned char row,col,key;
   for(row=0x7e,key=1; row>=0x77; row=(row<<1|0x1)&0x7f)
   {
        PORTD = row;
      for(col=0x10; col< 0x80; col<<=1, key++)
                   if(!(PIND & col)) return key;
   }
   return 0;
}
/**** POCZĄTEK PROGRAMU ****/
/* Definicja funkcji main */
int main(void)
{
   unsigned char key;

/* Konfiguracja portów we/wy */
   init();

/* Nieskończona pętla */
   for(;;)
      if(key = read_keypad())
             PORTA = bin2bcd(key);
}

Problem tkwi teraz jedynie w tym, że nie działa mi pierwszy wiersz (1,2,3). Dopiero jak wprowadzę zmianę w pętli for:
Code:
for(col=0x10; col< 0x80; col<<=1, key++)
i zamienię 0x10 na 0x8 działa mi pierwszy wiersz, ale pojawia się kolejny błąd: wiersze są kolumnami a kolumny wierszami... czyli zamiast 1,2,3,4,5,6,7,8,9,A,0,B mam 1,5,9,2,6,A,3,7,0,4,8,B. Z tego wynika, że moja zmiana jest zła i należy coś zmienić w pierwszej pętli for. Tam już też próbowałem i nie mam dalej pomysłów.
Co wy o tym wszystkim myślicie? Macie jakieś pomysły?
Pozdro!
Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#15 22 Mar 2010 18:15   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Jeśli mój program wywala ci błędy powiedz jakie. I dlaczego nie zrozumiał?? Zastosowałem define po to by skonfigurować podłączenie klawiatury, Każdy pin osobno wobec czego bez problemu możesz obrócić klawiaturę zamieniając kolumny z wierszami. Nazwy również są bardzo zrozumiałe. KBD_rowX to wiersz KBD_colX to kolumna.

Dodano po 7 [minuty]:

A nie działanie jednego wiersza (kolumny) jest spowodowane za szybkim sprawdzenie rejestry PIN po zmianie rejestru PORT. Taki problem sam miałem na początku
Back to top
   
doles
Poziom 15
Poziom 15


Joined: 05 Jun 2007
Posts: 245
Location: Grudziądz

Post#16 04 Dec 2011 12:42   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Witam, dołączę się do tematu. Piszę również klawiaturę matrycową ale oczywiście nie działa. Nie mogę zrozumieć błędu, mimo, że debuger dobrze symuluje mi pracę ... Problem tkwi w tym, że dla jednego wiersza dobrze działają klawisze i wyświetlanie cyfr 1,2,3 natomiast gdy dodam analogiczną formułę dla 2 wiersza następuje jakaś zamiana "logiki" ? Mianowicie zmienia się cyfra 1 z cyfrą 4 drugiego wiersza... Skąd to się dzieje ? Przecież z programu wg. mnie jak byk widać, że podaję zero na drugi wiersz i sprawdzam czy wykryto 0 na kolumnie 1.
Oto kod:
Code C - [expand]
 
#include <avr/io.h>
/******************************************************************/
int wyswietlacz(int cyfra);
/******************************************************************/
int main(void)
{
DDRA = 0xF0;
DDRC = 0xFF;
PORTC = 0xFF;
PORTA = 0xFF;
 
while(1)
{
// piny PA7 - PA4 wiersze (wyjscia)
// piny PA3 - PA1 kolumny (wejscia)
PORTA = 0b01111111; //1 wiersz PA7 i 1 kolumna PA3
//jesli prawda odczyt portu A i pinu 3 to wyswietla cyfre 1
if(bit_is_clear(PINA, 3)) PORTC = wyswietlacz(1);
 
PORTA = 0b01111111; //1 wiersz PA7 i 2 kolumna PA2
//jesli prawda odczyt portu A i pinu 2 to wyswietla cyfre 2
if(bit_is_clear(PINA, 2)) PORTC = wyswietlacz(2);
 
PORTA = 0b01111111; //1 wiersz PA7 i 3 kolumna PA1
//jesli prawda odczyt portu A i pinu 1 to wyswietla cyfre 3
if(bit_is_clear(PINA, 1)) PORTC = wyswietlacz(3);
 
PORTA = 0b10111111; //2 wiersz PA6 i 1 kolumna PA3
//jesli prawda odczyt portu A i pinu 1 to wyswietla cyfre 3
if(bit_is_clear(PINA, 3)) PORTC = wyswietlacz(4);
}
return 0;
}
/******************************************************************/
int wyswietlacz(int cyfra)
{
switch(cyfra)
{
case 0:
return 0b11000000; //0
 
case 1:
return 0b11111001; //1
 
case 2:
return 0b10100100; //2
 
case 3:
return 0b10110000; //3
 
case 4:
return 0b10011001; //4
 
case 5:
return 0b10010010; //5
 
case 6:
return 0b10000010; //6
 
case 7:
return 0b11111000; //7
 
case 8:
return 0b10000000; //8
 
case 9:
return 0b10010000; //9
 
case 11: //kropka
return 0b01111111;
}
return 0;
}
/******************************************************************/
 

Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#17 04 Dec 2011 12:57   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Brak nop przez sprawdzeniem stanu pinu. Nie musisz powielać zerowania bitów kolumn.
Back to top
   
doles
Poziom 15
Poziom 15


Joined: 05 Jun 2007
Posts: 245
Location: Grudziądz

Post#18 04 Dec 2011 13:11   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


OK, wywaliłem to powielanie i zrobiłem po prostu if i potem else if. Co masz na myśli brak nop ? asm("nop"); ?

Code C - [expand]
PORTA = 0b01111111;
if((PINA & 0x08)==0) PORTC = wyswietlacz(1);
 
else if((PINA & 0x04)==0) PORTC = wyswietlacz(2);
 
else if((PINA & 0x02)==0) PORTC = wyswietlacz(3);
 
PORTA = 0b10111111;
asm("nop");
if((PINA & 0x08)==0) PORTC = wyswietlacz(4);

Niestety jest to samo, 4 i 1 jest odwrócone...
Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#19 04 Dec 2011 13:17   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


CO znaczy odwrócone?
Back to top
   
doles
Poziom 15
Poziom 15


Joined: 05 Jun 2007
Posts: 245
Location: Grudziądz

Post#20 04 Dec 2011 13:19   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Gdy wciskam klawisz w kolumnie 1 i wierszu 2 to zamiast cyfry 4 wyświetla mi się cyfra 1 tak samo przycisk w kolumnie 1 i wierszu 1 - 4 zamiast cyfry 1. Klawiatura ma 3 kolumny i 4 wiersze, z przypisanymi cyframi jak w klawiaturze telefonu.
EDIT: po dodaniu wszystkich cyferek...

Code C - [expand]
PORTA = 0b01111111;
if((PINA & 0x08)==0) PORTC = wyswietlacz(1); //wyswietla sie cyfra 4...
 
else if((PINA & 0x04)==0) PORTC = wyswietlacz(2);
 
else if((PINA & 0x02)==0) PORTC = wyswietlacz(3);
 
PORTA = 0b10111111;
if((PINA & 0x08)==0) PORTC = wyswietlacz(4); // wyswietla sie cyfra 7...
 
else if((PINA & 0x04)==0) PORTC = wyswietlacz(5);
 
else if((PINA & 0x02)==0) PORTC = wyswietlacz(6);
 
PORTA = 0b11011111;
if((PINA & 0x08)==0) PORTC = wyswietlacz(7); // wyswietla sie cyfra 1...
 
else if((PINA & 0x04)==0) PORTC = wyswietlacz(8);
 
else if((PINA & 0x02)==0) PORTC = wyswietlacz(9);

Back to top
   
tadzik85
Poziom 22
Poziom 22


Joined: 28 Feb 2007
Posts: 1637
Location: Bydgoszcz

Post#21 04 Dec 2011 13:31   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


A gdzie nopy po zerowaniu kolumn?
Back to top
   
doles
Poziom 15
Poziom 15


Joined: 05 Jun 2007
Posts: 245
Location: Grudziądz

Post#22 04 Dec 2011 13:36   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Dziękuje Ci bardzo... teraz działa :) nie mogę niestety kliknąć pomógł bo nie ma opcji? Powiedz mi tylko dlaczego akurat wstawka asemblerowska nop po zerowaniu kolumn pomogła ? Nie rozumiem akurat jej użycia do wyeliminowania tego błędu
Back to top
   
Brutus_gsm
Poziom 18
Poziom 18


Joined: 01 May 2006
Posts: 479
Location: Łódź

Post#23 04 Dec 2011 13:49   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Po wpisaniu jakiejś wartości do DDRx lub PORTx stan PINx zmieni się dopiero z opóźnieniem jednej instrukcji. Jest to spowodowane synchronizatorem IO w AVR. Czyli między ustawianiem np. PORTA i odczytywaniem PINA musi pojawić się jakaś instrukcja. Zazwyczaj stosuje się assemblerowy NOP, bo on nic nie robi, ale trwa jeden cykl rozkazowy.

Polecam książkę do nauki C pana Tomasza z forum ;)
Back to top
   
doles
Poziom 15
Poziom 15


Joined: 05 Jun 2007
Posts: 245
Location: Grudziądz

Post#24 04 Dec 2011 14:17   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Dzięki wielkie ! :D Będę musiał poważnie pomyśleć nad literaturą...
Back to top
   
dondu
Poziom 23
Poziom 23


Joined: 18 Nov 2008
Posts: 3853

Post#25 04 Dec 2011 15:27   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


doles wrote:
Dzięki wielkie ! :D Będę musiał poważnie pomyśleć nad literaturą...

Tu masz dwie najnowsze: http://mikrokontrolery.blogspot.com/p/ksiazki-dla-ciebie.html
Kol. Brutus_gsm wspominał o tej pierwszej.
Back to top
   
doles
Poziom 15
Poziom 15


Joined: 05 Jun 2007
Posts: 245
Location: Grudziądz

Post#26 04 Dec 2011 15:30   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Właśnie nie wiem, którą książke wybrać, autora Tomasza Francuza czy Mirosława Kardasia...
Back to top
   
dondu
Poziom 23
Poziom 23


Joined: 18 Nov 2008
Posts: 3853

Post#27 04 Dec 2011 15:31   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Poszukaj na forum, były dyskusje na temat obu książek.
Back to top
   
doles
Poziom 15
Poziom 15


Joined: 05 Jun 2007
Posts: 245
Location: Grudziądz

Post#28 04 Dec 2011 15:33   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


OK :) W wolnej chwili poszukam, narazie piszę pewien program. Dzięki za pomoc :)
Back to top
   
Google

Google Adsense


Post# 04 Dec 2011 15:33   





Back to top
   
janbernat
Poziom 23
Poziom 23


Joined: 22 Oct 2008
Posts: 3918
Location: Warszawa

Post#29 06 Feb 2012 23:52   

Re: [C] klawiatura matrycowa 3x4 -jaki program?


Odkopię stary temat.
Tak to wygląda po wciśnięciu dwóch przycisków.
http://obrazki.elektroda.pl/3144685000_1328564848.png
Jedno wyjście w stanie wysokim- a drugie- niskim.
Przez 5-50ms ustala się w stanie pośrednim- tak ze 2.5V.
Prąd wypływa z jednego a wpływa do drugiego.
Jaki to jest prąd- może uda mi się zmierzyć.
Ale nie jest to coś takie ładne.
Back to top
   
Post new topic  Reply to topic      Main Page -> Forum Index -> Microcontrollers Generally -> [C] klawiatura matrycowa 3x4 -jaki program?
Page 1 of 1
Similar topics
Klawiatura matrycowac 3x4 obsługa w BASCOMIE. (4)
klawiatura 3x4 -> Bascom (5)
[C] klawiatura matrycowa 4x4 - źle działający program (11)
Klawiatura matrycowa dla 8051 i program w BASCOM (2)
[C] Klawiatura matrycowa - program, mikrokontroler AT89S52 (2)
Klawiatura matrycowa 3x4 połączenia elektryczne (4)
klawiatura matrycowa (12)
ATmega8 + klawiatura matrycowa (10)
klawiatura matrycowa Wait_key (1)
klawiatura matrycowa podstawy (5)

Page generation time: 0.227 seconds


FAQ || Administrator || Moderators || Widgets and banners || Contact
elektroda.pl topic RSS feed