Ich habe selbst einige Male darüber nachgedacht ... aber ehrlich gesagt habe ich es nie durchgemacht, weil es so billig (wenn auch umweltverantwortlich) ist, einfach rauszugehen und einen neuen Strang zu kaufen.
Eine Möglichkeit, die ich mir vorstellen könnte, wenn ich eine DIY-Methode entwerfen würde, wäre jedenfalls, ein sehr enges Impulssignal über den "neutralen" Eingang zu übertragen und die Zeit zu messen, die benötigt wird, um eine Reflexion des Impulses bei zu erhalten die Quelle.
Ich würde den Impuls mit einem Allzweck-E / A-Pin eines Mikrocontrollers erzeugen, den ich anschließend als dreifach angegebenen Eingang konfigurieren würde. Ich würde mit einem A / D-Eingangspin am Mikrocontroller auf den Impuls "lauschen". Dies könnte wahrscheinlich sogar der gleiche Pin des Mikrocontrollers sein. Möglicherweise möchten Sie auch einen Strombegrenzungswiderstand zwischen dem Mikrocontroller-Pin und dem Lichtstrang platzieren.
Wenn man weiß, wie lange es gedauert hat, bis der Impuls reflektiert wurde, sollte es eine relativ einfache Berechnung sein, um herauszufinden, wie weit der unterbrochene Stromkreis im Strang liegt. Ich denke, es wäre eigentlich nur (in enger Annäherung):
length=speedoflight×measuredduration2
Dies wird wahrscheinlich nur funktionieren, wenn die Hälfte Ihrer Lichter funktioniert und die andere Hälfte nicht. Wenn alle Ihre Lichter ausgehen, würde ich erwarten, dass Sie zwei (möglicherweise) überlappende Reflexionen erhalten, was die Messung mehrdeutig machen würde. Das Interpretieren der Messung würde auch einige Kenntnisse der Schaltungstopologie Ihres speziellen Strangs erfordern, würde ich mir vorstellen, aber es würde Ihnen zumindest etwas geben , um fortzufahren.
Bearbeiten / Ergänzungen
Das Hauptproblem hierbei ist, dass man schnell genug probieren kann. Bei Lichtgeschwindigkeit dauert 6 Zoll nach meinen Berechnungen etwa eine halbe Nanosekunde. Sie benötigen also einen Timer mit fast 4 GHz, um schnell genug abzutasten und die Länge auf 6 Zoll zu verringern. Dies macht die Idee, dass ein A / D-Wandler Ihr Auslöser ist, so gut wie zunichte, und Sie benötigen eine Art Analogkomparator mit hoher Bandbreite und niedrigem Auslösepunkt, um den Impuls zu "verstärken" und einen möglichen Pin-Interrupt zu verursachen Verwenden Sie diese Option, um einen frei laufenden Timer zu erfassen.
Nehmen wir an, Sie verwenden ein Arduino mit 16 MHz. Ihre Timer-Auflösung beträgt dann theoretisch 62,5 ns. Das heißt, Sie haben eine Längenauflösung von 18,7 Metern, autsch. OK, wir brauchen also eine schnellere Uhr. Wenn Sie ein FPGA mit 1 GHz hätten, könnten Sie es auf etwa 0,3 Meter oder knapp einen Fuß senken. Aber jetzt fangen wir an, die Grenzen der DIY-Fähigkeit zu überschreiten.