Knight Rider na Arduino

Knight Rider na Arduino

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Witam wszystkich dziś pokaże wam jak zrobić taki efekt świetlny jak ten w King Ride a to wszystko za pomocą arduino

 

Arduino_Uno_-_R3

 

 

 

 

 

 

 

 

Do wykonania tego projektu potrzebujemy :

– Arduino lub atmega z botladerem (ja posiadam Arduino Uno R3)

– Płytka stykowa (ja posiadam płytkę która ma 830 otworów)

– 6 diod led (ja wybrałem czerwone)

– 6 rezystorów 220 Ω

– 2 Potencjometry THT  10kΩ

– 14 przewodów połączeniowych

 

Ja swój projekt wykonałem projekt na arduino uno r3.

Zaczynam od podłączenia diod led w taki oto stosób:

Untitled Sketch_bb

 

 

 

 

 

 

 

Katodą (-) czylminusem do listwy minusów a Anodą (+) w kierunku rezystorów.

teraz dodajemy potencjometry
ss

 

 

 

 

 

 

a na koniec łączymy to wszystko z płytką arduino

sd_bb

 

 

 

 

 

 

 

 

 

 

następną rzeczą jest wgranie kodu :

 

Knight Rider Overkill
*
 *  By wiring a potentiometer to analog inputs 0 and 1 I can adjust the
*  speed and brightness.
 *
* In ASCII art the extra wiring looks something like this:
 *
*          +-+ potentiometer
 *          |0|
*          +-+
 *         / | \
*      5v   |   Gnd
 *           |
*         inputPin
 */
int speedPin = 0;  // pin to read the potentiometer for speed
int intenPin = 1;  // pin to read the potentiometer for brightness

#define NUMLIGHTS 5
int pins[NUMLIGHTS] = { 5, 6, 9, 10, 11 };

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) >> 2;  // read the value and divide by 4 to get range 0 .. 255

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


Wykorzystałem kod z http://playground.arduino.cc//Main/LEDPots

 

Myślę że spodobało się mi osobiście sprawiło to wiele frajdy Mateusz

INFORMACJA: Poniższy post nie wydostał się z Poczekalni :(

Ocena: 0/5 (głosów: 0)

Podobne posty

3 komentarzy do “Knight Rider na Arduino

  • No błagam…
    Wspomniałem już o tym przy okazji innych tematów: ile razy jeszcze będzie wałkowany temat pt “jak zapalić LEDa”?
    Już nie wspominając o tym, że cały układ to… TUTORIAL z Arduino.cc
    Czy za kopiowanie z oficjalnej strony Arduino kodu i układu trafia się tutaj na główną? Pomijam kupony do botlandu – niech sobie je wygrywają ludziska, ale niech chociaż to będzie coś sensowniejszego niż “miganie LEDami”

    Odpowiedz
    • Nie wiem ale co złego jest w diodach led. tak z tym że to jest kopia się zgodzę ale przecież jest t produkt open sorce więc nie wiem czy to coś złego ale może kogoś zainteresuję to tutaj w formie pisemnej.

      Odpowiedz

Odpowiedz

anuluj

Masz uwagi?