ferrybig

Arduino keymatrix example

Feb 5th, 2020
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.10 KB | None | 0 0
  1. void setup() {
  2. pinMode(rowPin1, OUTPUT);
  3. pinMode(rowPin2, OUTPUT);
  4. pinMode(rowPin3, OUTPUT);
  5. pinMode(rowPin4, OUTPUT);
  6. pinMode(colPin1, INPUT_PULLUP);
  7. pinMode(colPin2, INPUT_PULLUP);
  8. pinMode(colPin3, INPUT_PULLUP);
  9. pinMode(colPin4, INPUT_PULLUP);
  10. digitalWrite(rowPin1, HIGH);
  11. digitalWrite(rowPin2, HIGH);
  12. digitalWrite(rowPin3, HIGH);
  13. digitalWrite(rowPin4, HIGH);
  14. Serial.begin(9600);
  15. }
  16.  
  17. void checkRow(int rowPin) {
  18. digitalWrite(rowPin, LOW);
  19. if(digitalRead(colPin1) == LOW) {
  20. Serial.println("Button/switch at column 1 is pressed");
  21. }
  22. if(digitalRead(colPin2) == LOW) {
  23. Serial.println("Button/switch at column 2 is pressed");
  24. }
  25. if(digitalRead(colPin3) == LOW) {
  26. Serial.println("Button/switch at column 3 is pressed");
  27. }
  28. if(digitalRead(colPin4) == LOW) {
  29. Serial.println("Button/switch at column 4 is pressed");
  30. }
  31. digitalWrite(rowPin, HIGH);
  32. }
  33.  
  34. void loop() {
  35. Serial.println("Checking row 1");
  36. checkRow(rowPin1);
  37. Serial.println("Checking row 2");
  38. checkRow(rowPin2);
  39. Serial.println("Checking row 3");
  40. checkRow(rowPin3);
  41. Serial.println("Checking row 4");
  42. checkRow(rowPin4);
  43. delay(200);
  44. }
Advertisement
Add Comment
Please, Sign In to add comment