Světla pro auto

Pořád  jsem toužil po hezkých světlech pro merkurovská vozidla

Parametry:

napájení:  4-6 V
přední: blikačky – dálková – potkávací
zadní: blikačky – zadní – brzdová

Společná zem – nelze připojit k otevřenému kolektoru, možno připojit přímo k Arduinu, viz video.

rozměry:  10x40mm, upevňovací díry 4mm, rozteč 10mm




Přední světla



Výpis programu pro arduino (4x světla 3G):

/*
 Svetla u auta, 12x, demonstrace všech světel
 
            vlevo       vpravo
            left        right
 front     2, 3, 4     5, 6, 7
 predni    0, 1, 2     3, 4, 5
 
 back      8, 9, 10    11, 12, 13
 zadni     6, 7, 8      9, 10, 11
 
 Programování pomocí Arrays, LED mají spolecnou zem - GND
 
 The circuit:
 * LEDs from pins 2 through 13 to ground
 
 created 2012
 by Ladislav Vohralik
 */

int timer = 500;           // The higher the number, the slower the timing.
int ledPins[] = { 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13 };
           // 2, 7, 4, 6, 5, 3 an array of pin numbers to which LEDs are attached
int pinCount = 12;           // 6 the number of pins (i.e. the length of the array)

void setup() {
  int thisPin;
  // the array elements are numbered from 0 to (pinCount - 1).
  // use a for loop to initialize each pin as an output:
  for (int thisPin = 0; thisPin < pinCount; thisPin++)  {
    pinMode(ledPins[thisPin], OUTPUT);
  }
}

void light_on() { //rozsvitit 4, 5, 10, 11  
  digitalWrite(ledPins[2], HIGH);
  digitalWrite(ledPins[3], HIGH);
  digitalWrite(ledPins[8], HIGH);
  digitalWrite(ledPins[9], HIGH);
    delay(timer);
}
void light_off() { //zhasnout 4, 5, 10, 11
  digitalWrite(ledPins[2], LOW);
  digitalWrite(ledPins[3], LOW);
  digitalWrite(ledPins[8], LOW);
  digitalWrite(ledPins[9], LOW);
  delay(timer);
}
void beam_on() { //rozsvitit 3, 6
  digitalWrite(ledPins[1], HIGH);
  digitalWrite(ledPins[4], HIGH);
  delay(timer);
}
void beam_off() { //zhasnout 3, 6
  digitalWrite(ledPins[1], LOW);
  digitalWrite(ledPins[4], LOW);
  delay(timer);
}
void break_on() { //rozsvitit 9, 12
  digitalWrite(ledPins[7], HIGH);
  digitalWrite(ledPins[10], HIGH);
  delay(timer);
}
void break_off() { //zhasnout 9, 12
  digitalWrite(ledPins[7], LOW);
  digitalWrite(ledPins[10], LOW);
}
void go_left() { // blika 2, 8
  digitalWrite(ledPins[0], HIGH);
  digitalWrite(ledPins[6], HIGH);
  delay(timer);
  digitalWrite(ledPins[0], LOW);
  digitalWrite(ledPins[6], LOW);
  delay(timer);
}
void go_right() { // blika 7, 13
  digitalWrite(ledPins[5], HIGH);
  digitalWrite(ledPins[11], HIGH);
  delay(timer);
  digitalWrite(ledPins[5], LOW);
  digitalWrite(ledPins[11], LOW);
  delay(timer);
  
}
void crash() {
  for (int thisPin = 0; thisPin < pinCount; thisPin++) {
    // turn the pin on:
    digitalWrite(ledPins[thisPin], HIGH);
  }
  delay(timer);
  for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) {
    // turn the pin off:
    digitalWrite(ledPins[thisPin], LOW);
  }
}
void parking() {
  digitalWrite(ledPins[0], HIGH);
  digitalWrite(ledPins[6], HIGH);
  digitalWrite(ledPins[5], HIGH);
  digitalWrite(ledPins[11], HIGH);
  delay(timer);
  digitalWrite(ledPins[0], LOW);
  digitalWrite(ledPins[6], LOW);
  digitalWrite(ledPins[5], LOW);
  digitalWrite(ledPins[11], LOW);
  delay(timer);
  
}
void bargraf() {
  // loop from the lowest pin to the highest:
  for (int thisPin = 0; thisPin < pinCount; thisPin++) {
    // turn the pin on:
    digitalWrite(ledPins[thisPin], HIGH);
    delay(timer);
    // turn the pin off:
    digitalWrite(ledPins[thisPin], LOW);    

  }

  // loop from the highest pin to the lowest:
  for (int thisPin = pinCount - 1; thisPin >= 0; thisPin--) {
    // turn the pin on:
    digitalWrite(ledPins[thisPin], HIGH);
    delay(timer);
    // turn the pin off:
    digitalWrite(ledPins[thisPin], LOW);
  }
}

void loop() {
 light_on();  // rozsvitit svetla 4, 5, 10, 11
// light_off(); // zhasnout svetla 4, 5, 10, 11
 beam_on();   // rozsvitit dalkova 3, 6 
 beam_off();  // zhasnout dalkova 3, 6
 break_on();  // rozsvitit brzdova 9, 12
 break_off(); // zhasnout brzdova 9, 12
 go_left();   // blika doleva 2, 8
 go_left();   // blika doleva 2, 8
 go_left();   // blika doleva 2, 8
 go_left();   // blika doleva 2, 8
 go_right();  // blika doprava 7, 13
 go_right();  // blika doprava 7, 13
 go_right();  // blika doprava 7, 13
 go_right();  // blika doprava 7, 13
 
 light_off(); // zhasnout svetla 4, 5, 10, 11
 crash();     // blikaji vsechna svetla
 parking();   // blikaji vsechny smerovky
 bargraf();   // rozsveceni dokola

 light_on();  // rozsvitit svetla 4, 5, 10, 11  
 beam_on();   // rozsvitit dalkova 3, 6 
 parking();   // blikaji vsechny smerovky
 parking();   // blikaji vsechny smerovky
 parking();   // blikaji vsechny smerovky
 parking();   // blikaji vsechny smerovky
 parking();   // blikaji vsechny smerovky
 parking();   // blikaji vsechny smerovky
 delay(timer);
}

Napsat komentář