Ich habe ein einfaches Setup, wenn ich analoge Werte von einem Lichtsensor lesen muss, und ich muss ihn weit weg vom Arduino (mehrere Meter entfernt) platzieren. Ich möchte wissen, wie ich eine kabelgebundene zuverlässige Verbindung vom Arduino zum Sensor herstellen kann .
Simulieren Sie diese Schaltung – Mit CircuitLab erstellter Schaltplan
Hier ist die Funktion, die das System aktiviert:
void photoResistorActivation () { int photoResistor = 1024 - analogRead(PHOTO_RESISTOR_PIN); if (DEBUG) { Serial.println (photoResistor, DEC); } if (photoResistor >= LIGHT_THRESHOLD) { personDetected = false; } else { if (personDetected == false) { trigger = true; personDetected = true; } } }
Bearbeiten: Ich habe in den Antworten wertvolles Feedback zur Vermeidung von Rauschen erhalten, möchte jedoch klarstellen, dass ich nach einer physischen Verbindung frage (Kabel, Anschlüsse usw.). Welche Art von Kabeln sollte ich verwenden? Überbrückungskabel?
Danke
Ich würde in Betracht ziehen, einige Kondensatoren, Klemmdioden und Ausgangswiderstände sehr nahe am Arduino zu verwenden.
Die langen Drähte haben kapazitive und induktive Lasten. Unebenheiten am Draht erzeugen Rauschspitzen.
Deine Frage ist etwas vage.
Die beste Lösung wäre, einen ADC hinter dem Sensor zu platzieren, da die digitale Übertragung viel widerstandsfähiger gegen Verzerrungen ist. Wenn dies möglich ist, möchten Sie es möglicherweise sogar differenziell übertragen (invertieren Sie das Signal und geben Sie entweder plus und minus Ihren hohen Pegel oder 0 aus).
Wenn dies nicht möglich ist, sollten Sie zumindest ein Twisted-Pair-Kabel oder ein abgeschirmtes Kabel verwenden, um die Verzerrung zu reduzieren. Die beste Verbindung sollte ein BNC-Anschluss auf der Platine und ein Koaxialkabel sein.
Auch wenn Sie keinen ADC hinter den Sensor stellen können, möchten Sie vielleicht trotzdem Ihr analoges Signal verstärken, je nachdem, was der Sensor ausgibt.
Stefan
IAmJulianAcosta
gbulmer
IAmJulianAcosta
Scott Seidman
IAmJulianAcosta