Hallo
Ich habe einen Arduino Uno und benutze einen Funkuhrempfänger DCF77 und ein LED streifen mit AdafruitNeopixel.
Mein problem:
mit dem beispiel sketch DCF Signal von DCF77
kann ich sofort am Arduino Uno das LED (13) on Board zum takt der einkommenden Funksignale blinken sehen.
nun möchte ich dieses blinken auf einem einzelnen LED auf meinem WS2812b-LED-Band mit der Neopixel Adafruit Bibliothek blinken lassen .
meine Idee
if (digitalRead(DCF_PIN)==LOW){pixels.setPixelColor(59, pixels.Color(7,0,0)); }else{ pixels.setPixelColor(59, pixels.Color(0,0,0)); }
Aber das funktioniert nicht.
Die Logic sollte so oder ähnlich sein: wenn LED13 blinkt dann blinkt LED59 aud dem LED Streifen.
haben sie eine Idee wie ich das machen kann ?
Über deine Antwort bin ich wirklich sehr Dankbar und ich wünsche ihnen einen schönen Tag.
Liebe Grüße
a) lies im Forum how to nach wie man code postest und korrigiere deinen ersten Post (edit)
b) hast du pixels.show() vergessen?
c) poste deinen Code inklusivie deiner Änderung mit Neopixel
Hallo Heinz
Danke für deine Antwort !
Ich kann jedes licht auf dem LED Streifen ansteueren bzw. an und aus machen. mit Licht 7 ist es gut zu sehen das funktioniert einwandfrei,
Ich möchte nur wissen wie ich eine Logische verbindung herstellen kann, so das wenn LED 13 vom Arduino Bord aufleuchtet gleichzeitig ein LED auf dem Lichtstreifen angeht ?
Weißt du wie das geht ?
Gruß
Jessica
Hallo noiasca,
bitte entschuldige, ich bin neu.
Ja Pixels.show habe ich an. Ich habe keine probleme mit dem LED Streifen das klappt alles wunderbar, Ich möchte nur eben wenn die LED 13 von dem Board leuchtet, das ich das auf dem Lichtstreifen sehen kann. Weißt du wie ich das machen kann ?
Hier nochmal der Beispiel Sketch namens: DCF Signal vom DCF77 Libari
#define BLINKPIN 13
#define DCF77PIN 2
int prevSensorValue=0;
void setup() {
Serial.begin(9600);
pinMode(DCF77PIN, INPUT);
pinMode(13, OUTPUT);
Serial.println("0ms 100ms 200ms 300ms 400ms 500ms 600ms 700ms 800ms 900ms 1000ms 1100ms 1200ms");
}
void loop() {
int sensorValue = digitalRead(DCF77PIN);
if (sensorValue==1 && prevSensorValue==0) { Serial.println(""); }
digitalWrite(BLINKPIN, sensorValue);
Serial.print(sensorValue);
prevSensorValue = sensorValue;
delay(10);
}
kann ich sofort am Arduino Uno das LED (13) on Board zum takt der einkommenden Funksignale blinken sehen.
nun möchte ich dieses blinken auf einem einzelnen LED auf meinem WS2812b-LED-Band mit der Neopixel Adafruit Bibliothek blinken lassen .
meine Idee
if (digitalRead(DCF_PIN)==LOW){pixels.setPixelColor(59, pixels.Color(7,0,0)); }else{ pixels.setPixelColor(59, pixels.Color(0,0,0)); }
Wie gesagt: DCF77 Funktioniert
DCF Signal wird empfangen.
Uhrzeit wird eingestellt.
Neopixel LED Streifen funktioniert
jetz möchte ich als überwachung ob das Signal eintrifft Optisch auf dem LED Streifen sehen.
Das LED 13 auf dem Arduiono Bord blinkt bei jedem Signal einmal. wenn man die Antenne an den Arduino hält fängt es an zu flakern, weil die Funksignale gestört werden, diese Störung oder eben das saubere Signal soll sichtbar auf dem LED Streifen werden. Ich hoffe ich habs einigermaßen verständlich erklärt ?
Vielen Lieben Dank für Eure Hilfe.
Gruß
Jessica
Hallo
ich habe hier Neopixel und DCF 77 zusammengetan, wenn ich diesen sketch laufen lasse leuchtet LED 1Rot LED2 Grün LED3 Blau und LED 4 soll genauso wie das LED 13 auf dem Arduino blinken.
Auf dem Arduino wird über den DCF77 das Funsignal der Funkuhrübertragung
auf dem Pin 13 (BLINKPIN) angezeigt. Es blinkt pro sekunde entweder 200ms oder 100ms eben so wie das Funksignal per Morsecode ankommt z.B lang kurz kurz lang usw.. .
Dieses Blinken möchte ich auf dem LED Streifen bringen ( z.b. LED 4 )
Ich habe hier auch deinen Code eingefügt und es laufen lassen aber wie gesagt es blinkt nur auf dem Arduino UNO Onboard Pin 13 (BLINKPIN) ?
LG
Es ist keine gute Idee immer wieder die Daten auf den LED Streifen zu senden.
Im Sketch hast Du ja bereits eine Kanten- Erkennung um auf die serielle Schnittstelle zu senden.
Pixels.show sendet die Daten auf den LED Streifen. Es muß jedesmal aufgerufen werden wenn sich was auf dem Streifen ändern soll.
Du mußt nicht nur den L-H Übergang kontrollieren sondern auch den L-H Übergang um prevSensorValue wieder auf LOW zu setzen. Ansonsten funktioniert das nur einmal.
Ist das der vollständige Sketch oder nur ein Teil?
Zeigst Du uns wie Du versucht hast die WS2812 anzusteuern?
DCF77 ist ziemlich empfindlich gegenüber allem möglichen Störungen. Darum ist DCF77 nur sinnvoll um eine RTC zu setzen und nicht als Uhr.
ich habe hier Neopixel und DCF 77 zusammengetan, wenn ich diesen sketch laufen lasse leuchtet LED 1Rot LED2 Grün LED3 Blau und LED 4 soll genauso wie das LED 13 auf dem Arduino blinken.
Auf dem Arduino wird über den DCF77 das Funsignal der Funkuhrübertragung
auf dem Pin 13 (BLINKPIN) angezeigt. Es blinkt pro sekunde entweder 200ms oder 100ms eben so wie das Funksignal per Morsecode ankommt z.B lang kurz kurz lang usw.. .
Dieses Blinken möchte ich auf dem LED Streifen bringen ( z.b. LED 4 )
Ich habe hier auch deinen Code eingefügt und es laufen lassen aber wie gesagt es blinkt nur auf dem Arduino UNO Onboard Pin 13 (BLINKPIN) ?
DCF77 Funktioniert
DCF Signal wird störfrei empfangen, weil ich sehen kann wie der andere Beispiel sketch die
Uhrzeit exakt eingestellt.
Neopixel LED Streifen funktioniert
pixels.show();} ganz am ende vom Loop