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 | ![]() |
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á
}
}
