The Alpha Geek – Geeking Out

Momentary Button

Project #22: Synthesizer – Momentary Button – Mk09

——

#DonLucElectronics #DonLuc #Synthesizer #Mozzi #Keyboard #ADSREnvelope #Arduino #AdafruitMETROM0Express #Project #Fritzing #Programming #Electronics #Microcontrollers #Consultant

——

Momentary Button

——

Momentary Button

——

Momentary Button

——

Momentary Button – Panel Mount

It’s your basic black or blue action button. This is a very useful, small, panel-mount momentary switch. It is a SPST N.O. with the threaded portion being 6.75 mm in diameter. This button is perfect for basic On/Off functions. Overall length including leads and has small solder lugs for connection. These momentary buttons are rated up to 0.5A and 250VAC.

Momentary button connect two points in a circuit when you press them. Turns on and off a light emitting LED. When the button is open there is no connection between the two legs of the button, so the pin is connected to ground, through the pull-down resistor, and we read a LOW. When the button is closed, it makes a connection between its two legs, connecting the pin to 5 volts, so that we read a HIGH.

You can also wire this circuit the opposite way, with a pullup resistor keeping the input HIGH, and going LOW when the button is pressed. If so, the behavior of the sketch will be reversed, with the LED normally on and turning off when you press the button.

DL2208Mk02

1 x Adafruit METRO M0 Express
8 x Momentary Button – Panel Mount (Blue)
5 x Momentary Button – Panel Mount (Black)
13 x 10K Ohm Resistor
1 x LED Red 5mm
1 x SparkFun Cerberus USB Cable

Adafruit METRO M0 Express

KY0 – 0
KY1 – 1
KY2 – 2
KY3 – 3
KY4 – 4
KY5 – 5
KY6 – 6
KY7 – 7
KY8 – 8
LEDR – 9
KY10 – 10
KY11 – 11
KY12 – 12
KY13 – 13
VIN – +5V
GND – GND

——

DL2208Mk02p.ino

/* ***** Don Luc Electronics © *****
Software Version Information
Project #22: Synthesizer - Momentary Button - Mk09
22-09
DL2208Mk02p.ino
1 x Adafruit METRO M0 Express
8 x Momentary Button - Panel Mount (Blue)
5 x Momentary Button - Panel Mount (Black)
13 x 1K Ohm Resistor
1 x LED Red 5mm
1 x SparkFun Cerberus USB Cable
*/

// Include the Library Code


// Simple Keyboard
// Minimum reading of the button that generates a note
//const int iKeyboard0 = 0;
const int iKeyboard1 = 1;
const int iKeyboard2 = 2;
const int iKeyboard3 = 3;
const int iKeyboard4 = 4;
const int iKeyboard5 = 5;
const int iKeyboard6 = 6;
const int iKeyboard7 = 7;
const int iKeyboard8 = 8;
const int iKeyboard10 = 10;
const int iKeyboard11 = 11;
const int iKeyboard12 = 12;
const int iKeyboard13 = 13;
// Button is pressed
int iB0 = 1;
int iB1 = 1;
int iB2 = 1;
int iB3 = 1;
int iB4 = 1;
int iB5 = 1;
int iB6 = 1;
int iB7 = 1;
int iB8 = 1;
int iB10 = 1;
int iB11 = 1;
int iB12 = 1;
int iB13 = 1;

// The number of the LED Red pin 9
const int iLedR =  9;

// Software Version Information
String sver = "22-09";

void loop() {

  // isKeyboard
  isKeyboard();
  
}

getKeyboard.ino

// getKeyboard
// setupKeyboard
void setupKeyboard() {

  // Initialize the button pin as an input
//  pinMode(iKeyboard0, INPUT_PULLUP);
  pinMode(iKeyboard1, INPUT_PULLUP);
  pinMode(iKeyboard2, INPUT_PULLUP);
  pinMode(iKeyboard3, INPUT_PULLUP);
  pinMode(iKeyboard4, INPUT_PULLUP);
  pinMode(iKeyboard5, INPUT_PULLUP);
  pinMode(iKeyboard6, INPUT_PULLUP);
  pinMode(iKeyboard7, INPUT_PULLUP);
  pinMode(iKeyboard8, INPUT_PULLUP);
  pinMode(iKeyboard10, INPUT_PULLUP);
  pinMode(iKeyboard11, INPUT_PULLUP);
  pinMode(iKeyboard12, INPUT_PULLUP);
  pinMode(iKeyboard13, INPUT_PULLUP);
 
}
// isKeyboard
void isKeyboard() {

/*
  // Read the state of the button value 0
  if ( digitalRead(iKeyboard0) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 0
    iB0 = iB0 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB0 = iB0 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }
*/
  // Read the state of the button value 1
  if ( digitalRead(iKeyboard1) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 1
    iB1 = iB1 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB1 = iB1 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 2
  if ( digitalRead(iKeyboard2) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 2
    iB2 = iB2 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB2 = iB2 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 3
  if ( digitalRead(iKeyboard3) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 3
    iB3 = iB3 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB3 = iB3 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 4
  if ( digitalRead(iKeyboard4) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 4
    iB4 = iB4 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB4 = iB4 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 5
  if ( digitalRead(iKeyboard5) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 5
    iB5 = iB5 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB5 = iB5 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 6
  if ( digitalRead(iKeyboard6) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 6
    iB6 = iB6 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB6 = iB6 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 7
  if ( digitalRead(iKeyboard7) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 7
    iB7 = iB7 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB7 = iB7 - 1;// Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 8
  if ( digitalRead(iKeyboard8) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 8
    iB8 = iB8 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB8 = iB8 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 10
  if ( digitalRead(iKeyboard10) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 10
    iB10 = iB10 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB10 = iB10 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 11
  if ( digitalRead(iKeyboard11) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 11
    iB11 = iB11 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB11 = iB11 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 12
  if ( digitalRead(iKeyboard12) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 12
    iB12 = iB12 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB12 = iB12 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

  // Read the state of the button value 13
  if ( digitalRead(iKeyboard13) == HIGH ) {

    // Button is pressed - pullup keeps pin high normally 13
    iB13 = iB13 + 1;
    // Turn LED Red on
    digitalWrite(iLedR, HIGH );

  }
  else
  {
    
    iB13 = iB13 - 1;
    // Turn LED Red off
    digitalWrite(iLedR, LOW );
    
  }

}

setup.ino

// Setup
void setup() {

  // Setup Keyboard
  setupKeyboard();

  // Initialize the LED Red pin 9 as an output
  pinMode(iLedR, OUTPUT);
  
}

——

People can contact us: https://www.donluc.com/?page_id=1927

Technology Experience

  • Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi,Espressif, etc…)
  • IoT
  • Robotics
  • Camera and Video Capture Receiver Stationary, Wheel/Tank and Underwater Vehicle
  • Unmanned Vehicles Terrestrial and Marine
  • Research & Development (R & D)

Instructor and E-Mentor

  • IoT
  • PIC Microcontrollers
  • Arduino
  • Raspberry Pi
  • Espressif
  • Robotics

Follow Us

J. Luc Paquin – Curriculum Vitae – 2022 English & Español
https://www.jlpconsultants.com/luc/

Web: https://www.donluc.com/
Web: https://www.jlpconsultants.com/
Facebook: https://www.facebook.com/neosteam.labs.9/
YouTube: https://www.youtube.com/channel/UC5eRjrGn1CqkkGfZy0jxEdA
Twitter: https://twitter.com/labs_steam
Pinterest: https://www.pinterest.com/NeoSteamLabs/
Instagram: https://www.instagram.com/neosteamlabs/

Don Luc

Categories
Archives