Lego Farbsensor + Arduino

7

Ich habe einen Farbsensor aus dem originalen Lego Mindstorms Set. Es fiel mir schwer, verlässliche Spezifikationen für das Ding zu finden, aber ich habe jemanden gefunden, der es hier ziemlich rückentwickelt hat. Das Ding hat allerdings nur zwei Anschlüsse. Ich bin nicht sehr gut in Schaltkreisen, aber ich möchte dies an mein Arduino anschließen und Werte daraus lesen. Scheint dies möglich? Wenn ja, haben Sie eine Idee, welche Pins Sie verwenden sollen oder welche Art von Code ich benötige?

captncraig
quelle

Antworten:

8

Die meisten Lego-Sensoren, die ich gesehen habe, verwenden einen Brückenrezifizierer, so dass sie nur zwei Drähte benötigen, um zu funktionieren. Dadurch kann der Sensor auch in jeder Ausrichtung eingesteckt werden. Die Schaltung für den Lichtsensor ist nicht anders.

Mit einem Arduino würden Sie ein Kabel an einen Ausgangsanschluss und das andere Kabel an einen Eingang anschließen. Wenn Sie den zusätzlichen Artikel am Ende der Seite lesen, würde ich sagen, dass Sie den Sensor am Arduino-Ausgang für 1,2 ms einschalten und dann für 0,1 ms ausschalten können sollten. Lesen Sie im ausgeschalteten Zustand den Wert des Sensors zu diesem Zeitpunkt am Arduino-Eingang ab.

In diesem Artikel wird auch angegeben, dass der Lego RCX 8 V ausgibt. Da der Arduino nur 5 V ausgibt, müssen Sie mehrere Werte verwenden und eine Wertetabelle extrpolieren, um den Messwert zu bestimmen. Der Wert entspricht einem Analogwert von 0 bis 127 von einem Legosensor.

jme
quelle
Interessant. Ich versuche dies: void loop () {digitalWrite (outPin, HIGH); Verzögerung (3); digitalWrite (outPin, LOW); sensorValue = analogRead (inPin); Serial.println (sensorValue); } und alles, was ich empfange, ist 170, egal in welchem ​​Licht es ist. Wenn ich es ausstecke, geht es auf ungefähr 227. Es gibt keine Änderung, wenn ich die Verzögerungszeit einstelle.
Captncraig
3

In Bezug auf die Hardware können Sie sich die Schaltpläne des Lego Mindstorms NXT als Referenz ansehen. Es ist kompatibel mit diesen alten Sensoren, die an die Pins 1 und 2 der Sensoranschlüsse angeschlossen werden können:

  • Gehen Sie zur Support-Seite für den NXT .

  • Holen Sie sich das Hardware Developer Kit (kein Link aufgrund einer schlecht gestalteten Webseite).

  • Sehen Sie sich die Schaltpläne für das Hauptgerät in Anhang 1 an.

  • Die Pins 1 der Sensorports werden von einem ATmega48 verwaltet. Schauen Sie sich ADC_A0 bis ADC_D0 für die Eingänge und I_ONA bis I_OND für die Leistungssteuerung an. Sensoranschluss Pin 2 ist geerdet.

  • Die Leistungssteuerschaltung enthält einen zusätzlichen PNP-Transistor zur Strombegrenzung, der für Sie möglicherweise übertrieben ist.

Wenn die Sensoren eingeschaltet sind, werden sie die meiste Zeit mit der vollen Batteriespannung betrieben. Sie werden bei jeder Messung nur kurz ausgeschaltet (ich denke, die 0,1 ms von jme sind korrekt). Standardmäßig wird alle drei ms eine Messung durchgeführt.

Sternenblau
quelle