Schritt 3: Schritt 3: der Code
Für den Code ich startete mit Beispiel-Code zu testen, jedes einzelne Teil zuerst, und wechselte dann zu meiner eigenen Codes für die Angabe der Farben rot und grün. Ich habe blau wie ein "anderes" im Code, also, wenn der Ping-Befehl nicht Signale empfangen, standardmäßig blau. Ich habe auch eine serielle Schnittstelle drucken, so dass ich könnte den Ping-Befehl zu testen und sicherzustellen, dass es war picking up Entfernung liest. Denken Sie daran, habe ich verschiedene Methoden getestet, dabei auf dem Weg sind so viele Dinge bis zur Anpassung, Änderung oder Dinge gelöscht und geändert, um den Code wie Sie wollen.
#include
LED Schaltplan inspiriert von Adafruit Beispiel @ https://learn.adafruit.com/rgb-led-strips/schemat...
und der Konstruktor-Bibliothek am playground.arduino.cc
#define REDPIN
5 #define GREENPIN
6 #define BLUEPIN 3
#define RED_SHORT 0
#define RED_LONG 125
#define GREEN_SHORT 225
#define GREEN_LONG 75
#define FADESPEED 10 //speed
#define TRIGGER_PIN 13
#define ECHO_PIN 11
#define MAX_DISTANCE 200
NewPing Sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {}
PinMode (REDPIN, OUTPUT);
PinMode (GREENPIN, OUTPUT); }
void loop()
{delay(1000);
unsigned Int uns = sonar.ping();
Serial.Print ("Ping:");
Int DIS = uS / US_ROUNDTRIP_CM;
Serial.Print(DIS);
Serial.println("cm");
Int R, g, b;
Wenn (31 > = DIS & & DIS > 0) {}
verblassen von rot bis gelb
für (g = 0; g < 256 g ++) {AnalogWrite (GREENPIN, g); delay(FADESPEED);}
verblassen von gelb auf grün
für (R = R--, 255; R > 0) {AnalogWrite (REDPIN, R); delay(FADESPEED);}
}
Else {b = 255; analogWrite(BLUEPIN,b);}}