Paso 3: Paso 3: el código
Para el código inició con código de ejemplo para probar cada parte individual primero y luego pasó a mis propios códigos para especificar los colores rojo y verde. Me puse azul como un "otro" en el código por lo que si el ping no recoger las señales, el valor por defecto sería azul. También he añadido una línea serie de la impresión por lo que pude probar el ping y asegúrese de que fue recogiendo lecturas de distancia. Tenga en cuenta que he probado varios métodos diferentes de ir sobre esto en el camino que tantas cosas son hasta adaptación, cambio o cosas ser borrados y alterado que el código lo haga como quiera.
#include
esquema LED inspirado por adafruit ejemplo @ https://learn.adafruit.com/rgb-led-strips/schemat...
y la biblioteca de constructor de playground.arduino.cc
#define REDPIN
#define 5 GREENPIN
BLUEPIN #define 6 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
Sonar de NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE);
void setup() {}
pinMode (REDPIN, salida);
pinMode (GREENPIN, salida); }
void loop()
{delay(1000);
unsigned int nos = sonar.ping();
Serial.Print ("Ping:");
int DIS = uS / US_ROUNDTRIP_CM;
Serial.Print(DIS);
Serial.println("cm");
int r, g, b;
Si (31 > = DIS & & DIS > 0) {}
Fade de rojo a amarillo
para (g = 0 g < 256; g ++) {analogWrite (GREENPIN, g); delay(FADESPEED);}
Fade de amarillo a verde
para (r = 255; r > 0; i--) {analogWrite (REDPIN, r); delay(FADESPEED);}
}
Else {b = 255; analogWrite(BLUEPIN,b);}}