Clavier custom

Un clavier simple (pour déclencher des actions sur différents logiciels).

#include "HID-Project.h"
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#include <avr/power.h>
#endif

int pinqt = 3;
const int buttonPin[] = {3, 4, 5, 6};
#define PIN 2 // PIN LED
#define NUMPIXELS 8
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);


void setup() {
  for (int i = 0; i <= pinqt; i++) {
    pinMode(buttonPin[i], INPUT_PULLUP);
  }
  Keyboard.begin();
#if defined(__AVR_ATtiny85__) && (F_CPU == 16000000)
  clock_prescale_set(clock_div_1);
#endif
  pixels.begin();
  bootled();
}//setup


void loop() {
  if (!digitalRead(buttonPin[0])) {
    Keyboard.write(KEY_F18);
    anim1();

  }
  if (!digitalRead(buttonPin[1])) {
    Keyboard.write(KEY_F19);
    anim2();

  }
  if (!digitalRead(buttonPin[2])) {
    Keyboard.write(KEY_F20);
    anim3();

  }
  if (!digitalRead(buttonPin[3])) {
    Keyboard.write(KEY_F21);
    anim4();

  }
}//loop

void bootled() {
  for (int i = 0; i < 2; i++) {
    for (int i = 0; i < NUMPIXELS; i++) {
      pixels.clear();
      pixels.setPixelColor(i, pixels.Color(100, 100, 100));
      pixels.show();
      delay(50);
    }
    for (int i = 0; i < NUMPIXELS; i++) {
      pixels.clear();
      pixels.setPixelColor((NUMPIXELS - 1) - i, pixels.Color(100, 100, 100));
      pixels.show();
      delay(50);
    }
  }
  pixels.clear();
  pixels.show();
}//bootled


void anim1() {
  pixels.clear();
  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 255, 0));
  }
  pixels.show();
  delay(80);

  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor((NUMPIXELS - 1) - i, pixels.Color(0, 0, 0));
    pixels.show();
    delay(50);
  }
  delay(50);

}



void anim2() {
  pixels.clear();
  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(255, 0, 0));
  }
  pixels.show();
  delay(80);

  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));
    pixels.show();
    delay(50);
  }
  delay(50);

}
void anim3() {
  pixels.clear();
  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 0, 255));
  }
  pixels.show();
  delay(80);

  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 0, 0));
    pixels.show();
    delay(50);
  }
  delay(50);
}
void anim4() {
  pixels.clear();
  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor(i, pixels.Color(0, 0, 255));
  }
  pixels.show();
  delay(80);

  for (int i = 0; i < NUMPIXELS; i++) {
    pixels.setPixelColor((NUMPIXELS - 1) - i, pixels.Color(0, 0, 0));
    pixels.show();
    delay(50);
  }
  delay(50);
}

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *