⭐⭐ Początkujący plus
⏱️ 15 minut
Elektroniczna kostka
Zrobisz kostkę ze światła. Naciśnij przycisk: lampki przez chwilę się toczą, a potem widzisz, ile wyrzuciłeś. Od 1 do 6 lampek!
🧰 Czego potrzebujesz?
🗺️ Schemat podłączenia
Poprowadź przewody od Arduino do każdej części. Kolory przewodów możesz wybrać samodzielnie.
| Od | Do |
|---|---|
Arduino UNO · D2 |
Przycisk · 1 |
Przycisk · 2 |
Arduino UNO · GND |
Arduino UNO · D6 |
Pierścień LED RGB (8 diod LED) · DI |
Arduino UNO · 5V |
Pierścień LED RGB (8 diod LED) · 5V |
Arduino UNO · GND |
Pierścień LED RGB (8 diod LED) · GND |
🛠️ Tak to zbudujesz
- Włóż przycisk nad przerwą w breadboardzie: jedna nóżka do pin 2, a nóżka po drugiej stronie do GND.
- Podłącz LED-ring: DI do pin 6, 5V do 5V i GND do GND.
💻 Kod
// Elektroniczna kostka
// Naciśnij przycisk: LED-ring chwilę się toczy, a potem świeci 1 do 6 lampek.
#include <Adafruit_NeoPixel.h>
const int PRZYCISK_PIN = 2; // Przycisk na pin 2 (druga strona do GND)
const int PIERSCIEN_PIN = 6; // DI LED-ring na pin 6
const int LICZBA_LED = 8;
Adafruit_NeoPixel pierscien(LICZBA_LED, PIERSCIEN_PIN, NEO_GRB + NEO_KHZ800);
// Zapala kilka lampek w jednym kolorze
void pokazLiczbe(int liczba, uint32_t kolor) {
pierscien.clear();
for (int i = 0; i < liczba; i++) {
pierscien.setPixelColor(i, kolor);
}
pierscien.show();
}
void setup() {
pinMode(PRZYCISK_PIN, INPUT_PULLUP);
randomSeed(analogRead(A0)); // Sprawia, że kostka jest naprawdę losowa
pierscien.begin();
pierscien.setBrightness(50);
pierscien.show();
}
void loop() {
if (digitalRead(PRZYCISK_PIN) == LOW) {
// Chwila "toczenia": szybko zmienne liczby, za każdym razem trochę wolniej
for (int i = 0; i < 15; i++) {
pokazLiczbe(random(1, 7), pierscien.Color(0, 80, 255));
delay(40 + i * 10);
}
int rzut = random(1, 7); // Liczba od 1 do 6
pokazLiczbe(rzut, pierscien.Color(0, 255, 60)); // Prawdziwa liczba na zielono
delay(500);
}
}
🧠 Co robi kod?
random(1, 7)wybiera losową liczbę od 1 do 6.- Najpierw pokazujemy szybko zmieniające się liczby na niebiesko. Wygląda to tak, jakby kostka się toczyła.
- Potem
pokazLiczbe()pokazuje prawdziwą liczbę na zielono.
🎯 Spróbuj…
- Daj każdej liczbie własny kolor
- Niech brzęczyk krótko zapiszczy, gdy kostka się zatrzyma
- Zrób z tego kostkę od 1 do 8
🚀 Zbuduj ten projekt z Codey: otwórz codey.online/pl/starter-kits/uno/projects/dice i kliknij ZRÓB TO. Wtedy kod i schemat podłączenia będą od razu gotowe.
Codey Online to produkt od OTRONIC