Stap 3: Stap 3: de Code
Voor de code ik begon met voorbeeldcode voor het testen van elke individuele deel eerst, en werkte daarna voor mijn eigen codes voor het opgeven van de kleuren rood en groen. Mij troep blauw als een "else" in de code, zodat als de ping niet van de signalen halen deed, de standaard blauwe zou zijn. Ik voegde ook een seriële print lijn zodat ik kon de ping test en zorg ervoor dat het was oppakken van afstand leest. Houd in gedachten dat ik op verschillende manieren over dit te gaan langs de weg die zo veel dingen tot aanpassing, wijziging of dingen getest zijn te worden verwijderd en gewijzigd zodat de code doen als u nodig hebt.
#include
LED schema geïnspireerd door adafruit voorbeeld @ https://learn.adafruit.com/rgb-led-strips/schemat...
en de bibliotheek van de constructor op 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, uitvoer);
pinMode (GREENPIN, uitvoer); }
void loop
{delay(1000);
unsigned int ons = sonar.ping();
Serial.Print ("Ping:");
int DIS = uS / US_ROUNDTRIP_CM;
Serial.Print(DIS);
Serial.println("cm");
int r, g, b;
Als (31 > = DIS & & DIS > 0) {}
verkleuren van rood naar geel
voor (g = 0 g < 256; g ++) {analogWrite (GREENPIN, g); delay(FADESPEED);}
vervagen van geel tot groen
voor (r = 255; r > 0; r--) {analogWrite (REDPIN, r); delay(FADESPEED);}
}
else {b = 255; analogWrite(BLUEPIN,b);}}