Led barvy na matrix poli pomocí tlačítek

Popis

Tento projekt slouží k ovládání LED diod pomocí tlačítek. Každé tlačítko ovládá jednu LED a mění její barvu. Po stisknutí tlačítka se LED rozsvítí v odpovídající barvě.

Komponenty

Součastka Značka Použití Popis
LED Dekorativní osvětlení, Displaye, Vykreslování jednoduchých obrázku Diody, které vyzařuji světlo, když do ních teče elektrický proud.
Tlačitko Eduingo Tlačitka Zapnutí/vypnutí světla, Ovládání zařízení, Herní ovladače Součástka, která při stisku spojí obvod a propustí proud.

Ukázkový kód

#include <Arduino.h>
#include <Adafruit_NeoPixel.h>

#define DIN_PIN 5           // Pin pro připojení LED matrixu
#define NUM_PIXELS 64       // Počet LED na matrici
#define BUTTON_RED_PIN 2    // Pin pro červené tlačítko
#define BUTTON_YELLOW_PIN 1 // Pin pro žluté tlačítko
#define BUTTON_BLUE_PIN 3   // Pin pro modré tlačítko
#define BUTTON_GREEN_PIN 4  // Pin pro zelené tlačítko

Adafruit_NeoPixel matrix = Adafruit_NeoPixel(NUM_PIXELS, DIN_PIN, NEO_GRB + NEO_KHZ800);

void setup() {
  // Nastavení pinů pro tlačítka
  pinMode(BUTTON_RED_PIN, INPUT);
  pinMode(BUTTON_YELLOW_PIN, INPUT);
  pinMode(BUTTON_BLUE_PIN, INPUT);
  pinMode(BUTTON_GREEN_PIN, INPUT);

  matrix.begin();             // Inicializace LED matrice
  matrix.setBrightness(10);   // Nastavení jasu
}

void setMatrixColor(uint32_t color) {
  for (int i = 0; i < NUM_PIXELS; i++) {
    matrix.setPixelColor(i, color);   // Nastavení barvy pro každou LED
  }
  matrix.show();                     // Zobrazení změněných pixelů
}

void loop() {
  // Čtení stavu tlačítek a nastavení barvy matrice
  if (digitalRead(BUTTON_RED_PIN) == LOW) {
    setMatrixColor(matrix.Color(255, 0, 0)); // Červená
  }
  else if (digitalRead(BUTTON_YELLOW_PIN) == LOW) {
    setMatrixColor(matrix.Color(255, 255, 0)); // Žlutá
  }
  else if (digitalRead(BUTTON_BLUE_PIN) == LOW) {
    setMatrixColor(matrix.Color(0, 0, 255)); // Modrá
  }
  else if (digitalRead(BUTTON_GREEN_PIN) == LOW) {
    setMatrixColor(matrix.Color(0, 255, 0)); // Zelená
  }
}

Tato stránka byla naposledy upravena 2025-12-30 12:53

Běží na Wiki|Docs

This page was last edited on 2025-12-30 12:53

Eduingo
info@eduingo.com

Běží na Wiki|Docs