Avståndet sensing ledade struktur (3 / 6 steg)
Steg 3: Steg 3: koden
För kod som jag började med exempelkod för att testa ut varje enskild del först och sedan flyttade till min egna koder för att ange färgerna rött och grönt. Jag satte blå som en "annan" i koden så om ping inte har plocka upp signaler, standard skulle vara blå. Jag lade också till en seriell print linje så att jag kunde testa ping och se till att det var att plocka upp avstånd läsningar. Kom ihåg jag testat flera olika metoder för att gå om detta längs vägen så många saker är upp till anpassning, förändring eller saker som ska tas bort och ändras för att göra koden göra som du vill.
#include
ledde Schematisk inspirerad av adafruit exempel @ https://learn.adafruit.com/rgb-led-strips/schemat...
och konstruktören biblioteket på 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 oss = sonar.ping();
Serial.Print ("Ping:");
int DIS = oss / US_ROUNDTRIP_CM;
Serial.Print(DIS);
Serial.println("cm");
int r, g, b;
om (31 > = DIS & & DIS > 0) {
blekna från rött till gult
för (g = 0, g < 256, g ++) {analogWrite (GREENPIN, g); delay(FADESPEED);}
blekna från gult till grönt
för (r = 255, r > 0, r--) {analogWrite (REDPIN, r); delay(FADESPEED);}
}
annat {b = 255; analogWrite(BLUEPIN,b);}}