Upload files to 'polyandry'
This commit is contained in:
parent
f375def0a3
commit
b2a2a16cd1
130
polyandry/PolyPad_ItsyBitsy_M0.ino
Normal file
130
polyandry/PolyPad_ItsyBitsy_M0.ino
Normal file
@ -0,0 +1,130 @@
|
||||
/*
|
||||
Copyright (c) 2014-2015 NicoHood
|
||||
See the readme for credit to other people.
|
||||
*/
|
||||
|
||||
#include "HID-Project.h"
|
||||
|
||||
const int pinLed = LED_BUILTIN;
|
||||
const int MX01 = A1;
|
||||
const int MX02 = A2;
|
||||
const int MX03 = A3;
|
||||
const int MX04 = A4;
|
||||
const int MX05 = SCK;
|
||||
const int MX06 = MOSI;
|
||||
const int MX07 = 11;
|
||||
const int MX08 = 10;
|
||||
const int MX09 = 9;
|
||||
const int MX10 = 7;
|
||||
const int MX11 = SCL;
|
||||
const int MX12 = SDA;
|
||||
const int VGround = A5;
|
||||
|
||||
void setup() {
|
||||
// Prepare led + buttons
|
||||
pinMode(pinLed, OUTPUT);
|
||||
pinMode(MX01, INPUT_PULLUP);
|
||||
pinMode(MX02, INPUT_PULLUP);
|
||||
pinMode(MX03, INPUT_PULLUP);
|
||||
pinMode(MX04, INPUT_PULLUP);
|
||||
pinMode(MX05, INPUT_PULLUP);
|
||||
pinMode(MX06, INPUT_PULLUP);
|
||||
pinMode(MX07, INPUT_PULLUP);
|
||||
pinMode(MX08, INPUT_PULLUP);
|
||||
pinMode(MX09, INPUT_PULLUP);
|
||||
pinMode(MX10, INPUT_PULLUP);
|
||||
pinMode(MX11, INPUT_PULLUP);
|
||||
pinMode(MX12, INPUT_PULLUP);
|
||||
pinMode(VGround, OUTPUT);
|
||||
digitalWrite(VGround, LOW);
|
||||
|
||||
// Sends a clean report to the host. This is important on any Arduino type.
|
||||
Keyboard.begin();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (!digitalRead(MX01)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_HOME);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX02)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_UP);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX03)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_PAGE_UP);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX04)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_LEFT);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX05)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_ESC);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX06)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_RIGHT);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX07)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_END);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX08)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_DOWN);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX09)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_PAGE_DOWN);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX10)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_BACKSPACE);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX11)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_SPACE);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX12)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_ENTER);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
}
|
130
polyandry/PolyPad_ProMicro.ino
Normal file
130
polyandry/PolyPad_ProMicro.ino
Normal file
@ -0,0 +1,130 @@
|
||||
/*
|
||||
Copyright (c) 2014-2015 NicoHood
|
||||
See the readme for credit to other people.
|
||||
*/
|
||||
|
||||
#include "HID-Project.h"
|
||||
|
||||
const int pinLed = LED_BUILTIN;
|
||||
const int MX01 = 2;
|
||||
const int MX02 = 3;
|
||||
const int MX03 = 4;
|
||||
const int MX04 = 5;
|
||||
const int MX05 = 7;
|
||||
const int MX06 = 8;
|
||||
const int MX07 = 21;
|
||||
const int MX08 = 20;
|
||||
const int MX09 = 19;
|
||||
const int MX10 = 18;
|
||||
const int MX11 = 14;
|
||||
const int MX12 = 16;
|
||||
const int VGround = 6;
|
||||
|
||||
void setup() {
|
||||
// Prepare led + buttons
|
||||
pinMode(pinLed, OUTPUT);
|
||||
pinMode(MX01, INPUT_PULLUP);
|
||||
pinMode(MX02, INPUT_PULLUP);
|
||||
pinMode(MX03, INPUT_PULLUP);
|
||||
pinMode(MX04, INPUT_PULLUP);
|
||||
pinMode(MX05, INPUT_PULLUP);
|
||||
pinMode(MX06, INPUT_PULLUP);
|
||||
pinMode(MX07, INPUT_PULLUP);
|
||||
pinMode(MX08, INPUT_PULLUP);
|
||||
pinMode(MX09, INPUT_PULLUP);
|
||||
pinMode(MX10, INPUT_PULLUP);
|
||||
pinMode(MX11, INPUT_PULLUP);
|
||||
pinMode(MX12, INPUT_PULLUP);
|
||||
pinMode(VGround, OUTPUT);
|
||||
digitalWrite(VGround, LOW);
|
||||
|
||||
// Sends a clean report to the host. This is important on any Arduino type.
|
||||
Keyboard.begin();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
if (!digitalRead(MX01)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_HOME);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX02)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_UP);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX03)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_PAGE_UP);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX04)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_LEFT);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX05)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_ESC);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX06)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_RIGHT);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX07)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_END);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX08)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_DOWN);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX09)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_PAGE_DOWN);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX10)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_BACKSPACE);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX11)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_SPACE);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
if (!digitalRead(MX12)) {
|
||||
digitalWrite(pinLed, HIGH);
|
||||
Keyboard.write(KEY_ENTER);
|
||||
// Simple debounce
|
||||
delay(300);
|
||||
digitalWrite(pinLed, LOW);
|
||||
}
|
||||
}
|
116
polyandry/PolyPad_Teensy_2.0.ino
Normal file
116
polyandry/PolyPad_Teensy_2.0.ino
Normal file
@ -0,0 +1,116 @@
|
||||
/* Buttons to USB Keyboard Example - Special Media Player Keys
|
||||
You must select Keyboard from the "Tools > USB Type" menu
|
||||
This example code is in the public domain.
|
||||
*/
|
||||
|
||||
#include <Bounce.h>
|
||||
|
||||
// Create Bounce objects for each button. The Bounce object
|
||||
// automatically deals with contact chatter or "bounce", and
|
||||
// it makes detecting changes very simple.
|
||||
Bounce MX01 = Bounce(4, 10);
|
||||
Bounce MX02 = Bounce(5, 10); // 10 ms debounce time is appropriate
|
||||
Bounce MX03 = Bounce(6, 10); // for most mechanical pushbuttons
|
||||
Bounce MX04 = Bounce(7, 10);
|
||||
Bounce MX05 = Bounce(9, 10); // if a button is too "sensitive"
|
||||
Bounce MX06 = Bounce(10, 10); // you can increase this time.
|
||||
Bounce MX07 = Bounce(17, 10);
|
||||
Bounce MX08 = Bounce(16, 10);
|
||||
Bounce MX09 = Bounce(15, 10);
|
||||
Bounce MX10 = Bounce(14, 10);
|
||||
Bounce MX11 = Bounce(12, 10);
|
||||
Bounce MX12 = Bounce(11, 10);
|
||||
|
||||
void setup() {
|
||||
// Configure the pins for input mode with pullup resistors.
|
||||
// The pushbuttons connect from each pin to ground. When
|
||||
// the button is pressed, the pin reads LOW because the button
|
||||
// shorts it to ground. When released, the pin reads HIGH
|
||||
// because the pullup resistor connects to +5 volts inside
|
||||
// the chip.
|
||||
pinMode(4, INPUT_PULLUP);
|
||||
pinMode(5, INPUT_PULLUP);
|
||||
pinMode(6, INPUT_PULLUP);
|
||||
pinMode(7, INPUT_PULLUP);
|
||||
pinMode(9, INPUT_PULLUP);
|
||||
pinMode(10, INPUT_PULLUP);
|
||||
pinMode(17, INPUT_PULLUP);
|
||||
pinMode(16, INPUT_PULLUP);
|
||||
pinMode(15, INPUT_PULLUP);
|
||||
pinMode(14, INPUT_PULLUP);
|
||||
pinMode(12, INPUT_PULLUP);
|
||||
pinMode(11, INPUT_PULLUP);
|
||||
|
||||
pinMode(8, OUTPUT); // The virtual Ground Pin
|
||||
digitalWrite(8, LOW);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// Update all the buttons. There should not be any long
|
||||
// delays in loop(), so this runs repetitively at a rate
|
||||
// faster than the buttons could be pressed and released.
|
||||
MX01.update();
|
||||
MX02.update();
|
||||
MX03.update();
|
||||
MX04.update();
|
||||
MX05.update();
|
||||
MX06.update();
|
||||
MX07.update();
|
||||
MX08.update();
|
||||
MX09.update();
|
||||
MX10.update();
|
||||
MX11.update();
|
||||
MX12.update();
|
||||
|
||||
// Check each button for "falling" edge.
|
||||
// falling = high (not pressed - voltage from pullup resistor)
|
||||
// to low (pressed - button connects pin to ground)
|
||||
if (MX01.fallingEdge()) {
|
||||
Keyboard.press(KEY_HOME);
|
||||
Keyboard.release(KEY_HOME);
|
||||
}
|
||||
if (MX02.fallingEdge()) {
|
||||
Keyboard.press(KEY_UP);
|
||||
Keyboard.release(KEY_UP);
|
||||
}
|
||||
if (MX03.fallingEdge()) {
|
||||
Keyboard.press(KEY_PAGE_UP);
|
||||
Keyboard.release(KEY_PAGE_UP);
|
||||
}
|
||||
if (MX04.fallingEdge()) {
|
||||
Keyboard.press(KEY_LEFT);
|
||||
Keyboard.release(KEY_LEFT);
|
||||
}
|
||||
if (MX05.fallingEdge()) {
|
||||
Keyboard.press(KEY_ESC);
|
||||
Keyboard.release(KEY_ESC);
|
||||
}
|
||||
if (MX06.fallingEdge()) {
|
||||
Keyboard.press(KEY_RIGHT);
|
||||
Keyboard.release(KEY_RIGHT);
|
||||
}
|
||||
if (MX07.fallingEdge()) {
|
||||
Keyboard.press(KEY_END);
|
||||
Keyboard.release(KEY_END);
|
||||
}
|
||||
if (MX08.fallingEdge()) {
|
||||
Keyboard.press(KEY_DOWN);
|
||||
Keyboard.release(KEY_DOWN);
|
||||
}
|
||||
if (MX09.fallingEdge()) {
|
||||
Keyboard.press(KEY_PAGE_DOWN);
|
||||
Keyboard.release(KEY_PAGE_DOWN);
|
||||
}
|
||||
if (MX10.fallingEdge()) {
|
||||
Keyboard.press(KEY_BACKSPACE);
|
||||
Keyboard.release(KEY_BACKSPACE);
|
||||
}
|
||||
if (MX11.fallingEdge()) {
|
||||
Keyboard.press(KEY_SPACE);
|
||||
Keyboard.release(KEY_SPACE);
|
||||
}
|
||||
if (MX12.fallingEdge()) {
|
||||
Keyboard.press(KEY_ENTER);
|
||||
Keyboard.release(KEY_ENTER);
|
||||
}
|
||||
}
|
116
polyandry/PolyPad_Teensy_3.5.ino
Normal file
116
polyandry/PolyPad_Teensy_3.5.ino
Normal file
@ -0,0 +1,116 @@
|
||||
/* Buttons to USB Keyboard Example - Special Media Player Keys
|
||||
You must select Keyboard from the "Tools > USB Type" menu
|
||||
This example code is in the public domain.
|
||||
*/
|
||||
|
||||
#include <Bounce.h>
|
||||
|
||||
// Create Bounce objects for each button. The Bounce object
|
||||
// automatically deals with contact chatter or "bounce", and
|
||||
// it makes detecting changes very simple.
|
||||
Bounce MX01 = Bounce(4, 10);
|
||||
Bounce MX02 = Bounce(5, 10); // 10 ms debounce time is appropriate
|
||||
Bounce MX03 = Bounce(6, 10); // for most mechanical pushbuttons
|
||||
Bounce MX04 = Bounce(7, 10);
|
||||
Bounce MX05 = Bounce(9, 10); // if a button is too "sensitive"
|
||||
Bounce MX06 = Bounce(10, 10); // you can increase this time.
|
||||
Bounce MX07 = Bounce(21, 10);
|
||||
Bounce MX08 = Bounce(20, 10);
|
||||
Bounce MX09 = Bounce(19, 10);
|
||||
Bounce MX10 = Bounce(18, 10);
|
||||
Bounce MX11 = Bounce(16, 10);
|
||||
Bounce MX12 = Bounce(15, 10);
|
||||
|
||||
void setup() {
|
||||
// Configure the pins for input mode with pullup resistors.
|
||||
// The pushbuttons connect from each pin to ground. When
|
||||
// the button is pressed, the pin reads LOW because the button
|
||||
// shorts it to ground. When released, the pin reads HIGH
|
||||
// because the pullup resistor connects to +5 volts inside
|
||||
// the chip.
|
||||
pinMode(4, INPUT_PULLUP);
|
||||
pinMode(5, INPUT_PULLUP);
|
||||
pinMode(6, INPUT_PULLUP);
|
||||
pinMode(7, INPUT_PULLUP);
|
||||
pinMode(9, INPUT_PULLUP);
|
||||
pinMode(10, INPUT_PULLUP);
|
||||
pinMode(21, INPUT_PULLUP);
|
||||
pinMode(20, INPUT_PULLUP);
|
||||
pinMode(19, INPUT_PULLUP);
|
||||
pinMode(18, INPUT_PULLUP);
|
||||
pinMode(16, INPUT_PULLUP);
|
||||
pinMode(15, INPUT_PULLUP);
|
||||
|
||||
pinMode(8, OUTPUT); // The virtual Ground Pin
|
||||
digitalWrite(8, LOW);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
// Update all the buttons. There should not be any long
|
||||
// delays in loop(), so this runs repetitively at a rate
|
||||
// faster than the buttons could be pressed and released.
|
||||
MX01.update();
|
||||
MX02.update();
|
||||
MX03.update();
|
||||
MX04.update();
|
||||
MX05.update();
|
||||
MX06.update();
|
||||
MX07.update();
|
||||
MX08.update();
|
||||
MX09.update();
|
||||
MX10.update();
|
||||
MX11.update();
|
||||
MX12.update();
|
||||
|
||||
// Check each button for "falling" edge.
|
||||
// falling = high (not pressed - voltage from pullup resistor)
|
||||
// to low (pressed - button connects pin to ground)
|
||||
if (MX01.fallingEdge()) {
|
||||
Keyboard.press(KEY_HOME);
|
||||
Keyboard.release(KEY_HOME);
|
||||
}
|
||||
if (MX02.fallingEdge()) {
|
||||
Keyboard.press(KEY_UP);
|
||||
Keyboard.release(KEY_UP);
|
||||
}
|
||||
if (MX03.fallingEdge()) {
|
||||
Keyboard.press(KEY_PAGE_UP);
|
||||
Keyboard.release(KEY_PAGE_UP);
|
||||
}
|
||||
if (MX04.fallingEdge()) {
|
||||
Keyboard.press(KEY_LEFT);
|
||||
Keyboard.release(KEY_LEFT);
|
||||
}
|
||||
if (MX05.fallingEdge()) {
|
||||
Keyboard.press(KEY_ESC);
|
||||
Keyboard.release(KEY_ESC);
|
||||
}
|
||||
if (MX06.fallingEdge()) {
|
||||
Keyboard.press(KEY_RIGHT);
|
||||
Keyboard.release(KEY_RIGHT);
|
||||
}
|
||||
if (MX07.fallingEdge()) {
|
||||
Keyboard.press(KEY_END);
|
||||
Keyboard.release(KEY_END);
|
||||
}
|
||||
if (MX08.fallingEdge()) {
|
||||
Keyboard.press(KEY_DOWN);
|
||||
Keyboard.release(KEY_DOWN);
|
||||
}
|
||||
if (MX09.fallingEdge()) {
|
||||
Keyboard.press(KEY_PAGE_DOWN);
|
||||
Keyboard.release(KEY_PAGE_DOWN);
|
||||
}
|
||||
if (MX10.fallingEdge()) {
|
||||
Keyboard.press(KEY_BACKSPACE);
|
||||
Keyboard.release(KEY_BACKSPACE);
|
||||
}
|
||||
if (MX11.fallingEdge()) {
|
||||
Keyboard.press(KEY_SPACE);
|
||||
Keyboard.release(KEY_SPACE);
|
||||
}
|
||||
if (MX12.fallingEdge()) {
|
||||
Keyboard.press(KEY_ENTER);
|
||||
Keyboard.release(KEY_ENTER);
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user