Knight Rider V2 jest to rozwinięcie wersji pierwszej jednak tym razem mamy manualną możliwość regulacji prędkości. Regulacja prędkości odbywa się potencjometrem 10kΩ, wpiętym w pin A0 lub inny wystarczy zmienić w kodzie. No dobra dobra bez zbędnego pisanie, przechodzimy do komponentów.
Potrzebne komponenty:
- Arduino uno / Mega
- diody LED x 8 np. czerwone
- rezystor 220Ω x 8
- potencjometr 10kΩ
- płytka stykowa lub jak kto woli na pająka 😉
Schemat ideowy:
// Copyright © by swistak
// www.tranzystor.pl
int pinInicial=6; // pin do którego podłączysz 1 diodę
int pinFinal=13; // pin do którego podłączysz ostatnią diodęvoid setup() {
for(int i=pinInicial;i<=pinFinal;i++)
{
pinMode(i,OUTPUT);
}pinMode(A0,INPUT); // pin do potencjometru
for(int i=pinInicial;i<=pinFinal;i++)
{
digitalWrite(i,LOW);
}
}void loop() {
for(int i=pinInicial;i<pinFinal;i++)
{
digitalWrite(i,HIGH);
ledDelay(1);
digitalWrite(i+1,HIGH);
ledDelay(2);
digitalWrite(i,LOW);
ledDelay(3);
}
for(int i=pinFinal;i>pinInicial;i–)
{
digitalWrite(i,HIGH);
ledDelay(1);
digitalWrite(i-1,HIGH);
ledDelay(2);
digitalWrite(i,LOW);
ledDelay(3);
}
}int valVelocidad(){
float valorPotenciometro=int(analogRead(A0)/100);
if(valorPotenciometro<0){
return(0);
}
else if(valorPotenciometro>9) {
return(9);
}
else {
return(valorPotenciometro);
}
}void ledDelay(int d){
for(int j=0;j<(valVelocidad()*2);j++)
{
delay(d);
}
}