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:

  • 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:

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

Post Author: swistak

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Potwierdz, że nie jesteś botem. *

This site uses Akismet to reduce spam. Learn how your comment data is processed.