Skocz do zawartości

Jak zaprogramować w Arduino konkretny klawisz na klawiaturce X16 tack switch


bardgang

Pomocna odpowiedź

Oj faktycznie zapomniałem jednego warunku . Kod już poprawiony. Polecam poćwiczyć sobie warunki ze zmiennymi, całkiem przydatna rzecz 🙂.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

@bardgang Musisz przypisać po prostu zrobić takiego ifa, że jak te, które chcesz są wciśnięte, to zrobi się to co chciałeś.

Link do komentarza
Share on other sites

jas123 Ma rację, znajdziesz takie coś w internecie, pokombinuj trochę, tak się więcej nauczysz.

Edytowano przez KHX
Link do komentarza
Share on other sites

(edytowany)

@ethanak mam nawet więcej pinów, korzystam z arduino mega

 

to mój kod, nie wiem co mam dopisać aby po napisaniu znaków z pierwszej oraz kilku z drugiej dopiero wykonało czynność:

#include <Wire.h>   // standardowa biblioteka Arduino
#include <LiquidCrystal_I2C.h> // dolaczenie pobranej biblioteki I2C dla LCD
LiquidCrystal_I2C lcd(0x27, 2, 1, 0, 4, 5, 6, 7, 3, POSITIVE);  // Ustawienie adresu ukladu na 0x27
#include <Keypad.h> //biblioteka od klawiatury
byte k=0;
const byte ROWS1 = 4;
const byte COLS1 =   4;

const byte ROWS2 = 4;
const byte COLS2 = 4;
 
byte rowPins1[ROWS1] = {5, 4, 3, 2};
byte colPins1[COLS1] = {6, 7, 8, 9};

byte rowPins2[ROWS2] = {28, 26, 24, 22};
byte colPins2[COLS2] = {30, 32, 34, 36};
 
 
char keys1[ROWS1][COLS1] = {
  {'a','b','c',' '},
  {'d','e','f','.'},
  {'g','h','i','{'},
  {'j','k','l',','},
};
char keys2[ROWS2][COLS2] = {
  {'m','n','o','/'},
  {'p','r','s',' '},
  {'t','u','w',' '},
  {'y','z','x',' '},
};


 
Keypad klawiatura1 = Keypad( makeKeymap(keys1), rowPins1, colPins1, ROWS1, COLS1 ); //inicjalizacja klawiatury
Keypad klawiatura2 = Keypad( makeKeymap(keys2), rowPins2, colPins2, ROWS2, COLS2 ); //inicjalizacja klawiatury
void setup(){

  Serial.begin(9600);
    lcd.begin(20,4);   // Inicjalizacja LCD 20x4
      lcd.backlight(); // zalaczenie podwietl'B'enia
      lcd.setCursor(0,0); // Ustawienie kursora w pozycji 0,0 (pierwszy wiersz, pierwsza kolumna)
      lcd.print("users:/bardgang >");
}
void loop(){
    char klawisz1 = klawiatura1.getKey();
     char klawisz2 = klawiatura2.getKey();
if(klawisz1){
    Serial.print(klawisz1);
      lcd.print(klawisz1);

            if (klawisz1 == '{') {
           lcd.setCursor (0,1);
          
              lcd.print (";>");
            }
                 if (klawisz1 == ',') {
           lcd.setCursor (0,2);
              lcd.print (";>");
            }
 
}
 if (klawisz1){                                                                                                                                                    
 if (k==0 &&klawisz1 == 'c') {
  k++;
 } else if (k==1 && klawisz1 == 'l') {
  k++;
  }else if (k==2 && klawisz1 == 'e') {
  k++;
  } else if (k==3 && klawisz1 == 'a') {
 k=0;      
lcd.clear();
lcd.print("users:/bardgang >");  
}
}
 
if(klawisz2){
    Serial.print(klawisz2);
      lcd.print(klawisz2);}            
}

 

Edytowano przez Gieneq
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.