05-12-2015, 16:26
(Ten post był ostatnio modyfikowany: 07-12-2015, 23:31 przez CEO.
Powód edycji: Używamy znaczników kodu
)
Witam serdecznie, zrobiłem małą lampkę z NEOPIXEL RINGA 12
napisałem kod, chociaż jestem zielony w tym temacie, lecz bardzo mnie zainteresował.
Czytam o wielu rzeczach teraz, lecz nie mogę się dopatrzeć jak łatwiej zapisać taki oto schemacik
(piszę w Aurdiono IDE czyli C+ )
#include <Adafruit_NeoPixel.h>
#define PIN 3
#define NUMPIXELS 12
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
Program wygląda następująco :
Najpierw zapalają się diody 0,2,4,6,8,10,
Po 4000 milisekundach
Zapalają się diody 1,3,5,7,9,11
Niestety zajmuje to trochę miejsca a na pewno do przyszłych projektów przyda mi się, żeby wiedzieć jak napisać to szybciej, nie zajmując tylu linijek kodu
Moje pytanie brzmi :
Czy jest możliwe aby program wybrał tylko nieparzyste diody lub parzyste ?
czy można to zrobić opcją #define ? Jeśli nie to jak można to zrobić ?
Z góry dziękuję, jestem kompletnie zielony więc proszę o wyrozumiałość
napisałem kod, chociaż jestem zielony w tym temacie, lecz bardzo mnie zainteresował.
Czytam o wielu rzeczach teraz, lecz nie mogę się dopatrzeć jak łatwiej zapisać taki oto schemacik
(piszę w Aurdiono IDE czyli C+ )
#include <Adafruit_NeoPixel.h>
#define PIN 3
#define NUMPIXELS 12
Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
Program wygląda następująco :
Najpierw zapalają się diody 0,2,4,6,8,10,
Po 4000 milisekundach
Zapalają się diody 1,3,5,7,9,11
Niestety zajmuje to trochę miejsca a na pewno do przyszłych projektów przyda mi się, żeby wiedzieć jak napisać to szybciej, nie zajmując tylu linijek kodu
Moje pytanie brzmi :
Czy jest możliwe aby program wybrał tylko nieparzyste diody lub parzyste ?
czy można to zrobić opcją #define ? Jeśli nie to jak można to zrobić ?
Z góry dziękuję, jestem kompletnie zielony więc proszę o wyrozumiałość
Kod:
void setup()
{
pixels.begin(); //inicjalizacja ( włączenie ) NeoPixelRing
}
void loop()
{
for(int i=0; i<NUMPIXELS; i++)
{
pixels.setPixelColor(i=0, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=2, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=4, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=6, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=8, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=10, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=12, pixels.Color(50,50,255));
pixels.show();
delay(4000);
pixels.setPixelColor(i=1, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=3, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=5, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=7, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=9, pixels.Color(50,50,255));
pixels.show();
delay(50);
pixels.setPixelColor(i=11, pixels.Color(50,50,255));
pixels.show();
delay(50);
}
}