• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Jak prościej to napisać :)
#1
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 Smile

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ść Smile

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);
}
}
 
Odpowiedź
  


Wiadomości w tym wątku
Jak prościej to napisać :) - przez mizu - 05-12-2015, 16:26
RE: Jak prościej to napisać :) - przez JasQ - 05-12-2015, 17:14
RE: Jak prościej to napisać :) - przez mizu - 05-12-2015, 21:00
RE: Jak prościej to napisać :) - przez mizu - 07-12-2015, 18:43

Skocz do:


Przeglądający: 1 gości