Advertisement
bra1nphuk

Arduino Code for Foot Pedal Keyboard

Oct 22nd, 2018
1,480
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.  * Arduino Keyboard Emulation
  3.  * learnelectronics
  4.  * 13 FEB 2017
  5.  *
  6.  * www.youtube.com/c/learnelectronics
  7.  */
  8.  
  9. //#############################################################################################################
  10. //This code only works on an Arduino with the ATmega32U4 chip, so only Arduino Leonardo and Arduino Pro Micro!!
  11. //#############################################################################################################
  12.  
  13.  
  14. #include <Keyboard.h>    // This is a "built-in" library no need to install
  15.  
  16. #include "Keyboard.h"
  17.  
  18. #define PEDAL1_KEY   '5'   //Change this to define which key to send for each pedal
  19. #define PEDAL2_KEY   '6'
  20. #define PEDAL3_KEY   '7'
  21. #define PEDAL4_KEY   '8'
  22. #define PEDAL5_KEY   '9'
  23.  
  24.  
  25.  
  26.  
  27.  
  28. #define PEDAL1_PIN   3    //define input pins for the switches
  29. #define PEDAL2_PIN   4
  30. #define PEDAL3_PIN   5
  31. #define PEDAL4_PIN   6
  32. #define PEDAL5_PIN   7
  33.  
  34. // Works on the Leonardo board only to simulate
  35. // a HID keyboard over USB
  36.  
  37.  
  38. void setup(void)
  39. {
  40.  
  41.  pinMode(2,INPUT_PULLUP);   //Pin 2 is used as a failsafe, connect it to GND!
  42. delay(100);
  43.  
  44.  
  45.     // Set pin to input
  46.     pinMode(PEDAL1_PIN, INPUT);
  47.     // Enable pullup resistor
  48.     digitalWrite(PEDAL1_PIN, HIGH);
  49.  
  50.     // Set pin to input
  51.     pinMode(PEDAL2_PIN, INPUT);
  52.     // Enable pullup resistor
  53.     digitalWrite(PEDAL2_PIN, HIGH);
  54.    
  55.         // Set pin to input
  56.     pinMode(PEDAL3_PIN, INPUT);
  57.     // Enable pullup resistor
  58.     digitalWrite(PEDAL3_PIN, HIGH);
  59.  
  60.     // Set pin to input
  61.     pinMode(PEDAL4_PIN, INPUT);
  62.     // Enable pullup resistor
  63.     digitalWrite(PEDAL4_PIN, HIGH);
  64.    
  65.         // Set pin to input
  66.     pinMode(PEDAL5_PIN, INPUT);
  67.     // Enable pullup resistor
  68.     digitalWrite(PEDAL5_PIN, HIGH);
  69.  
  70.  
  71. delay(100);
  72.  
  73.  
  74.     if (digitalRead(2) == 0)   //Failsafe
  75.   {
  76.   Keyboard.begin();
  77.   }
  78.   else {
  79.     delay(20000);
  80.   }
  81.  
  82.  
  83.  
  84.   }
  85.  
  86.  
  87.  
  88.  
  89. void loop(void)
  90. {
  91.     static uint8_t pedal1StateLast = 0;
  92.     static uint8_t pedal2StateLast = 0;
  93.     static uint8_t pedal3StateLast = 0;
  94.     static uint8_t pedal4StateLast = 0;
  95.     static uint8_t pedal5StateLast = 0;
  96.  
  97.     uint8_t pedalState1;
  98.     uint8_t pedalState2;
  99.     uint8_t pedalState3;
  100.     uint8_t pedalState4;
  101.     uint8_t pedalState5;
  102.  
  103.    
  104.     pedalState1 = digitalRead(PEDAL1_PIN);
  105.     if (pedalState1 != pedal1StateLast) {
  106.         pedal1StateLast = pedalState1;
  107.  
  108.         if (pedalState1 == 0) {
  109.              Keyboard.press(PEDAL1_KEY);
  110.             delay(10);
  111.             }
  112.             else
  113.             {
  114.             Keyboard.release(PEDAL1_KEY);
  115.             }
  116.        
  117.     }
  118.  
  119.     pedalState2 = digitalRead(PEDAL2_PIN);
  120.     if (pedalState2 != pedal2StateLast) {
  121.         pedal2StateLast = pedalState2;
  122.  
  123.         if (pedalState2 == 0) {
  124.             Keyboard.press(PEDAL2_KEY);
  125.             delay(10);
  126.         }
  127.  
  128.         else
  129.             {
  130.             Keyboard.release(PEDAL2_KEY);
  131.             }
  132.     }
  133.  
  134.  
  135.  pedalState3 = digitalRead(PEDAL3_PIN);
  136.     if (pedalState3 != pedal3StateLast) {
  137.         pedal3StateLast = pedalState3;
  138.  
  139.         if (pedalState3 == 0) {
  140.             Keyboard.press(PEDAL3_KEY);
  141.             delay(10);
  142.         }
  143.  
  144.         else
  145.             {
  146.             Keyboard.release(PEDAL3_KEY);
  147.             }
  148.     }
  149.  
  150.  
  151.      pedalState4 = digitalRead(PEDAL4_PIN);
  152.     if (pedalState4 != pedal4StateLast) {
  153.         pedal4StateLast = pedalState4;
  154.  
  155.         if (pedalState4 == 0) {
  156.             Keyboard.press(PEDAL4_KEY);
  157.             delay(10);
  158.         }
  159.  
  160.         else
  161.             {
  162.             Keyboard.release(PEDAL4_KEY);
  163.             }
  164.     }
  165.  
  166.  
  167.      pedalState5 = digitalRead(PEDAL5_PIN);
  168.     if (pedalState5 != pedal5StateLast) {
  169.         pedal5StateLast = pedalState5;
  170.  
  171.         if (pedalState5 == 0) {
  172.             Keyboard.press(PEDAL5_KEY);
  173.             delay(10);
  174.         }
  175.  
  176.         else
  177.             {
  178.             Keyboard.release(PEDAL5_KEY);
  179.             }
  180.     }
  181.  
  182.  
  183.     delay(50);
  184. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement