Świecące pudełko
: 06 maja 2018, 17:14
#include <Adafruit_NeoPixel.h> //Dołączenie biblioteki
//Konfiguracja linijki
Adafruit_NeoPixel linijka = Adafruit_NeoPixel( 8, A0, NEO_GRB + NEO_KHZ800);
const int period=50; // A little delay to avoid errors.
int err = 0;
int x = 0;
int y = 0;
int z = 0;
int mx = 4;
int my = 4;
int mz = 4;
void setup() {
linijka.begin(); //Inicjalizacja
linijka.show();
pinMode(2, INPUT_PULLUP); //Przycisk 1 jako wejście
pinMode(3, INPUT_PULLUP); //Przycisk 2 jako wejście
pinMode(4, INPUT_PULLUP); //Przycisk 3 jako wejście
pinMode(5, INPUT_PULLUP); //Przycisk 4 jako wejście
Serial.begin(9600); // Initializing Serail communication.
}
void loop() {
if (digitalRead(4) == HIGH) {
if (digitalRead(3) == LOW) {
err = err + 1;
x = x + mx*60;
if (x > mx*60) x = 0;
delay (300);
}
if (digitalRead(2) == LOW) {
err = err + 1;
y = y + my*60;
if (y > my*60) y = 0;
delay (300);
}
if (digitalRead(5) == LOW) {
err = err + 1;
z = z + mz*60;
if (z > mz*60) z = 0;
delay (300);
}
}
if (digitalRead(4) == LOW) {
err = 0;
x = 0;
y = 0;
z = 0;
if (digitalRead(3) == LOW) {
mx = mx + 1;
if (mx > 4) mx = 1;
Serial.println(mx);
delay (300);
}
if (digitalRead(2) == LOW) {
my = my + 1;
if (my > 4) my = 1;
Serial.println(my);
delay (300);
}
if (digitalRead(5) == LOW) {
mz = mz + 1;
if (mz > 4) mz = 1;
Serial.println(mz);
delay (300);
}
}
if (digitalRead(5) == LOW) {
if (digitalRead(4) == LOW) {
if (digitalRead(3) == LOW) {
if (digitalRead(2) == LOW) {
err = 0;
x = 0;
y = 0;
z = 0;
mx = 4;
my = 4;
mz = 4;
}
}
}
}
if (err > 0) {
linijka.setPixelColor(0, linijka.Color(x, y, z)); //Dioda nr 1 świeci
linijka.show();
}
else {
linijka.setPixelColor(0, linijka.Color(0, 0, 0)); //Dioda nr 1 świeci
linijka.show();
}
}
//Konfiguracja linijki
Adafruit_NeoPixel linijka = Adafruit_NeoPixel( 8, A0, NEO_GRB + NEO_KHZ800);
const int period=50; // A little delay to avoid errors.
int err = 0;
int x = 0;
int y = 0;
int z = 0;
int mx = 4;
int my = 4;
int mz = 4;
void setup() {
linijka.begin(); //Inicjalizacja
linijka.show();
pinMode(2, INPUT_PULLUP); //Przycisk 1 jako wejście
pinMode(3, INPUT_PULLUP); //Przycisk 2 jako wejście
pinMode(4, INPUT_PULLUP); //Przycisk 3 jako wejście
pinMode(5, INPUT_PULLUP); //Przycisk 4 jako wejście
Serial.begin(9600); // Initializing Serail communication.
}
void loop() {
if (digitalRead(4) == HIGH) {
if (digitalRead(3) == LOW) {
err = err + 1;
x = x + mx*60;
if (x > mx*60) x = 0;
delay (300);
}
if (digitalRead(2) == LOW) {
err = err + 1;
y = y + my*60;
if (y > my*60) y = 0;
delay (300);
}
if (digitalRead(5) == LOW) {
err = err + 1;
z = z + mz*60;
if (z > mz*60) z = 0;
delay (300);
}
}
if (digitalRead(4) == LOW) {
err = 0;
x = 0;
y = 0;
z = 0;
if (digitalRead(3) == LOW) {
mx = mx + 1;
if (mx > 4) mx = 1;
Serial.println(mx);
delay (300);
}
if (digitalRead(2) == LOW) {
my = my + 1;
if (my > 4) my = 1;
Serial.println(my);
delay (300);
}
if (digitalRead(5) == LOW) {
mz = mz + 1;
if (mz > 4) mz = 1;
Serial.println(mz);
delay (300);
}
}
if (digitalRead(5) == LOW) {
if (digitalRead(4) == LOW) {
if (digitalRead(3) == LOW) {
if (digitalRead(2) == LOW) {
err = 0;
x = 0;
y = 0;
z = 0;
mx = 4;
my = 4;
mz = 4;
}
}
}
}
if (err > 0) {
linijka.setPixelColor(0, linijka.Color(x, y, z)); //Dioda nr 1 świeci
linijka.show();
}
else {
linijka.setPixelColor(0, linijka.Color(0, 0, 0)); //Dioda nr 1 świeci
linijka.show();
}
}