Hallo ich bin neue hier und auch in der ganzen Arduino sache.
Ich benutze ein Arduino nano
dazu AZDelivery IR Infrarot Modul
und ein ws2812 led streifen
oder zum ersten code halt Normale led s
also ich habe eine Kugelbahn und möchte das einige Led´s leuchten oder blinken wenn die Kugel vorbei läuft, bei den Normalen Led´s funktioniert das auch ich benutze ein ir Sensor wenn sie vorbei kommt gehen die einzelnen led s an und wieder aus, aber bei dem led Stripe WS2812 bekomme ich das nur so hin das er immer wieder von vorn anfängt und nicht sage ich mal nach der 11 ausgeht, und das z.b. jede 2 led ne andere Farbe hat.
bei den normalen Led s habe ich folgenden code benutzt
//int IRSensor1 = 1;
int IRSensor2 = 2;
void setup()
{
pinMode (IRSensor2, INPUT);
pinMode (6, OUTPUT);
pinMode (7, OUTPUT);
pinMode (8, OUTPUT);
pinMode (9, OUTPUT);
pinMode (10, OUTPUT);
pinMode (11, OUTPUT);
pinMode (12, OUTPUT);
pinMode (13, OUTPUT);
}
void loop()
{
int statusSensor1 = digitalRead (IRSensor1);
int statusSensor2 = digitalRead (IRSensor2);
if (statusSensor2 == 0)
{
digitalWrite(13, HIGH);
delay(50);
digitalWrite(12, HIGH);
delay(50);
digitalWrite(11, HIGH);
delay(50);
digitalWrite(10, HIGH);
delay(50);
digitalWrite(9, HIGH);
delay(50);
digitalWrite(8, HIGH);
delay(50);
digitalWrite(7, HIGH);
delay(50);
digitalWrite(6, HIGH);
delay(20);
digitalWrite(13, LOW);
delay(50);
digitalWrite(12, LOW);
delay(50);
digitalWrite(11, LOW);
delay(500);
digitalWrite(10, LOW);
delay(50);
digitalWrite(9, LOW);
delay(50);
digitalWrite(8, LOW);
delay(500);
digitalWrite(7, LOW);
delay(50);
digitalWrite(6, LOW);
}
else
{
digitalWrite(13, LOW);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
digitalWrite(8, LOW);
digitalWrite(7, LOW);
digitalWrite(6, LOW);
}
}
und bei dem led streifen habe ich den code aus dem Beispiel
benutzt ersmal ohne ir sensor um zu schauen wie das funktoniert
#include <Adafruit_NeoPixel.h>
#ifdef __AVR__
#endif
#define PIN 6
#define NUMPIXELS 11
Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);
#define DELAYVAL 500
void setup() {
pixels.begin();
}
void loop() {
pixels.clear();
for(int i=0; i<NUMPIXELS; i++) {
pixels.setPixelColor(i, pixels.Color(0, 150, 0));
delay(100);
pixels.show();
delay(DELAYVAL);
}
}
aber ich weiß auch nicht warum die erste Led im streifen immer an bleibt und er immer neu anfängt gibt es da nicht auch so eine code wie digitalwrite wie ich das beim ersten code gemacht habe ??
Ich hoffe ihr steigt hier durch
viele grüße Benjamin