Tranzystor.pl – Vortal Elektroniczny

Arduino – Knight Rider v2

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:

Schemat ideowy:

Knight Rider nieustraszony schemat ideowy v2Kod programu:

// 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);
}
}

5/5 - (2 ocena/y)
Exit mobile version