Knight Rider czyli Nieustraszony serial z lat 1982–1986, kto wówczas nie chciał mieć takiego inteligentnego samochodu ? Kto nie zna charakterystycznego elementu tego samochodu czyli czerwonego pływającego światła z przodu. Dzięki układowi który opiszę będziecie mogli wykonać taki sam pasek LED we własnym domu. Co nam będzie potrzebne do wykonania wspomnianego układu ?
Potrzebne elementy:
- Arduino np. uno lub nano,
- diody LED czerwone,
- rezystory 220Ω
- płytka stykowa opcjonalnie
Zaczynamy od połączenia wszystkiego wg. schematu poniżej, diody podłączamy do wyjść Arduino (11,10,9,6,5,3) poprzez rezystor 220Ω, drugą nóżkę diody podłączamy do GND.
Schemat ideowy:
// Pobrano z www.tranzystor.pl
int speedPin = 0;
int intenPin = 1;#define NUMLIGHTS 6
int pins[NUMLIGHTS] = { 11, 10, 9, 6, 5, 3};void setup()
{
int lightPin;for (lightPin=0 ; lightPin < NUMLIGHTS ; lightPin++) {
pinMode(pins[lightPin], OUTPUT);
}
}void loop()
{
static int pos = 0; // the position of the brightest light in the light array
static int direction = 1; // the direction the bright spot is travelling (1 or -1)
int light;
int speed = analogRead(speedPin); // how fast the light moves
int inten = analogRead(intenPin) >> 255; // read the value and divide by 4 to get range 0 .. 255if (inten > 255) inten = 255;
for (light=0 ; light < NUMLIGHTS ; light++) {
if (light == pos) { // The light at this position is set bright
analogWrite(pins[light], inten);
} else if ( light == (pos+1) || light == (pos-1)) {
// This makes the two lights adjacent to the bright one glow at reduced intensity.
// It makes for a nicer effect
analogWrite(pins[light], inten>>4);
} else {
// Digital I/O pins 5 & 6 don’t seem to go dark if I do analogWrite(pins[light], 0)
// By doing digitalWrite it all looks correct
digitalWrite(pins[light], 0);
}
}// move the light position
pos += direction;
// if we’ve reached the end, reverse directions
if (pos >= (NUMLIGHTS-1)) direction = -1;
if (pos <= 0) direction = 1;
delay(speed);
}
[…] Rider V2 jest to rozwinięcie wersji pierwszej jednak tym razem mamy manualną możliwość regulacji prędkości. Regulacja prędkości odbywa […]