LED valgusdioodi vilgutamine

void setup()

{

  // pinMode() määrab töörežim

  pinMode(13, OUTPUT);   // 13-pini number, INPUT/OUTPUT(Sisend/Väljund).

}

void loop()

{

  digitalWrite(13, HIGH);   // Lülita sisse

  delay(1000);              // Ootab 1 sek  

  digitalWrite(13, LOW);    // Lülita välja

  delay(1000);              // Ootab 1 sek
  
  digitalWrite(13, HIGH);
  
  delay(500);
  
  digitalWrite(13, LOW);
  
  delay(500);
  
  digitalWrite(13, HIGH);
  
  delay(250);
  
  digitalWrite(13, LOW);
  
  delay(250);

}

RGB ledi ühendamine

const int RED_PIN = 11;

const int GREEN_PIN = 9;

const int BLUE_PIN = 10;

int DISPLAY_TIME = 100;  // värvimuutuse kiirus

void setup()

{

  pinMode(RED_PIN, OUTPUT);

  pinMode(GREEN_PIN, OUTPUT);

  pinMode(BLUE_PIN, OUTPUT);

}

void loop()

{

mainColors();

showSpectrum();

}

void mainColors()

{

// Kõik LEDid on välja lülitatud

  digitalWrite(RED_PIN, LOW);

  digitalWrite(GREEN_PIN, LOW);

  digitalWrite(BLUE_PIN, LOW);

 delay(1000);

//Põleb punane

  digitalWrite(RED_PIN, HIGH);

  digitalWrite(GREEN_PIN, LOW);

  digitalWrite(BLUE_PIN, LOW);

  delay(1000);

// Põleb roheline

  digitalWrite(RED_PIN, LOW);

  digitalWrite(GREEN_PIN, HIGH);

  digitalWrite(BLUE_PIN, LOW);

  delay(1000);

// Sinine on sisse lülitatud

  digitalWrite(RED_PIN, LOW);

  digitalWrite(GREEN_PIN, LOW);

  digitalWrite(BLUE_PIN, HIGH);

  delay(1000);

// Kollane.

  digitalWrite(RED_PIN, HIGH);

  digitalWrite(GREEN_PIN, HIGH);

  digitalWrite(BLUE_PIN, LOW);

  delay(1000);

// Lilla

  digitalWrite(RED_PIN, LOW);

  digitalWrite(GREEN_PIN, HIGH);

  digitalWrite(BLUE_PIN, HIGH);

  delay(1000);

//Roosa

  digitalWrite(RED_PIN, HIGH);

  digitalWrite(GREEN_PIN, LOW);

  digitalWrite(BLUE_PIN, HIGH);

  delay(1000);

//Valge ehk kõik on sisse lülitatud

  digitalWrite(RED_PIN, HIGH);

  digitalWrite(GREEN_PIN, HIGH);

  digitalWrite(BLUE_PIN, HIGH);

  delay(1000);

}

// Vikerkaar. 

void showSpectrum()

{

  int x;

  for (x = 0; x < 768; x++)

  {

    showRGB(x);  // 

    delay(10);   // paus 0,001 sek

  }

}

// ShowRGB()  põhivärvid: 

// 0 = punane 

// 255 = roheline

// 511 = sinine

// 767 = jälle punane 

void showRGB(int color)

{

  int redIntensity;

  int greenIntensity;

  int blueIntensity;

  if (color <= 255)                

  {

    redIntensity = 255 - color;    // lülitakse välja punane

    greenIntensity = color;        // lülitakse sisse roheline

    blueIntensity = 0;             // sinine on välja lülitatud

  }

  else if (color <= 511)          

  {

    redIntensity = 0;                     // punane on välja lülitatud

    greenIntensity = 255 - (color - 256); 

    blueIntensity = (color - 256);        

  }

  else if (color >= 512)             

  {

    redIntensity = (color - 512);        

    greenIntensity = 0;                  

    blueIntensity = 255 - (color - 512);  

  }

  analogWrite(RED_PIN, redIntensity); // punase LED´i sujuv ümberlülitamine

  analogWrite(BLUE_PIN, blueIntensity);

  analogWrite(GREEN_PIN, greenIntensity);

}

Ülesanne 1 “Valgusfoor”

Töö kirjeldus




Kasutatud komponenid


Töö protsess




Uuritud funktsioonid



Kasutamisvõimalused tavaelus


Skeem



Video:



Programm

const int RED = 11;

const int YELLOW = 12;

const int GREEN = 9;

const int GREEN1 = 5;

const int RED1 = 6;

void setup()
{
pinMode(RED, OUTPUT);

pinMode(GREEN, OUTPUT);

pinMode(YELLOW, OUTPUT);

pinMode(RED1, OUTPUT);

pinMode(GREEN1, OUTPUT);
}

// цикл работы светофора
void loop(){
day();
delay(1000);
night();
delay(1000);
}


// ночной режим

void night(){
  for (int i=0; i<5;i++){
  digitalWrite(YELLOW, HIGH);  // Включаем желтый
  digitalWrite(GREEN, LOW);
  digitalWrite(RED, LOW);
  digitalWrite(GREEN1, LOW);
  digitalWrite(RED1, LOW);
  delay(500);
  digitalWrite(YELLOW, LOW);   // Выключаем желтый
  digitalWrite(GREEN, LOW);
  digitalWrite(RED, LOW);
  digitalWrite(GREEN1, LOW);
  digitalWrite(RED1, LOW);
  delay(500);
  }  
}

  
void day() {
 digitalWrite(YELLOW, LOW);
 digitalWrite(GREEN, LOW);
 digitalWrite(RED, HIGH);
 digitalWrite(GREEN1, HIGH);
 digitalWrite(RED1, LOW);
 delay(5000);
  
 digitalWrite(YELLOW, HIGH);
 digitalWrite(GREEN, LOW);
 digitalWrite(RED, HIGH);
 digitalWrite(GREEN1, LOW);
 digitalWrite(RED1, HIGH);
 delay(1000);
  
 digitalWrite(YELLOW, LOW);
 digitalWrite(GREEN, HIGH);
 digitalWrite(RED, LOW);
 digitalWrite(GREEN1, LOW);
 digitalWrite(RED1, HIGH);
 delay(5000);
 
  for (int i=0; i<3;i++){
  digitalWrite(GREEN, LOW);
  delay(500);
  digitalWrite(GREEN, HIGH);
  delay(500);
  }
  
 digitalWrite(YELLOW, HIGH);
 digitalWrite(GREEN, LOW);
 digitalWrite(RED, LOW);
 digitalWrite(GREEN1, LOW);
 digitalWrite(RED1, HIGH);
 delay(1000);
  
 digitalWrite(YELLOW, LOW);
 digitalWrite(GREEN, LOW);
 digitalWrite(RED, HIGH);
 digitalWrite(GREEN1, HIGH);
 digitalWrite(RED1, LOW);
 delay(5000);
  
}