Traffic light

Katse 1.1
Punane LED vilkuv:

Katse 1.1 kasutab komponente :

  • 1 värvilist LEDi ;
  • 1 resistor ;
  • 3 juhtmed ;
  • 1 Breadboard Small ;
  • 1 Arduino Uno R3

Tööpõhimõte :

  • Üks LED põleb ;
  • Koostas skeemi ja salvestas koodi keskkonda «tinkercad.com» ;
  • Koostas skeemi Arduino ise ;
  • Loos video töötav skeem ;
// C++ code
//
void setup()
{
  pinMode(LED_BUILTIN, OUTPUT);
}

void loop()
{
  digitalWrite(LED_BUILTIN, HIGH);
  delay(300); // Wait for 1000 millisecond(s)
  digitalWrite(LED_BUILTIN, LOW);
  delay(300); // Wait for 1000 millisecond(s)
}
https://www.tinkercad.com/things/jz00UDM0FSf-stunning-jaban-migelo?sharecode=NttO2CstZVS6WIdLW3KGViSVKpfir2wICyiKM3Io1z4: Traffic light

FOTO

Video

https://drive.google.com/file/d/1iOJQQ9vwls3PuZmzui6Ijurw8EBEdyUx/view?usp=drivesdk

Katse 1.2
RGB LED muudab värvi:

Katse 1.2 kasutab komponente :

  • 1 värvilist LEDi RGB;
  • 3 resistor ;
  • 5 juhtmed ;
  • 1 Breadboard Small ;
  • 1 Arduino Uno R3

Tööpõhimõte :

  • Üks RGB LED põleb ;
  • Koostas skeemi ja salvestas koodi keskkonda «tinkercad.com» ;
  • Koostas skeemi Arduino ise ;
  • Loos video töötav skeem ;
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);
}
https://www.tinkercad.com/things/7RwXgcPCgGz-smashing-jaagub-uusam?sharecode=yeJoiect0-6IQpEfv-jRvNp-m3zdCizgFx22766RUs4: Traffic light

FOTO

Video

https://drive.google.com/file/d/1FutxV41kOXR2M_DVunnDh5z-X_xTGzwh/view?usp=drivesdk

Valgusfoor

Valgusfoor kasutab komponente :

  • 5 värvilist LEDi (3 auto fooris ja 2 inimeste fooris) või/ja RGB-LED ;
  • 5 resistor ;
  • 6 juhtmed ;
  • 1 Breadboard Small ;
  • 1 Arduino Uno R3.

Tööpõhimõte : 

  • Töötab nagu auto ja inimeste foor koos öö režiimidega (vilkuv kollane) ;
  • Öö ja päeva vahel lülitumine automaatselt ;
  • Koostasid skeemi ja kirjutasid koodi «tinkercad.com» keskkonda ;
  • Koostati skeem Arduino enda kohta ;
  • Loome video töötavast valgusfoorist.

Valgusfoor töötab nii:

Päev:

Valgusfoor inimestele:

Punane staatiline põleb inimeste foori jaoks. See kehtib umbes 18-19 sekundit.

Siis lülitub ta rohelisele staatilisele. See kehtib umbes 7-8 sekundit.

Autode valgusfoor:

Roheline staatiline põleb auto foori jaoks. See toimib umbes 7 sekundit, siis hakkab vilkuma. Vilgub 3 korda umbes 0,5 sekundilise intervalliga.

Lülitub kollane staatiline . See kehtib umbes 7-8 sekundit.

Lülitub punane staatiline kehtib umbes 7-8 sekundit.

Öösel:

Kollane vilkur põleb. Vilgub umbes 7-8 sekundit umbes 0,5 sekundilise intervalliga. Vilgub 5 korda.

Skeem ja kood keskkonnas tinkercad.com:

Skeem:

Kood:

// C++ code
//
void setup()
{
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(12, OUTPUT);
  pinMode(13, OUTPUT);
}
void loop()

{
  day();
  night();
}

void day()
{
  digitalWrite(12, LOW);
  digitalWrite(13, HIGH);
  digitalWrite(7, LOW);
  digitalWrite(5, LOW);
  digitalWrite(6, HIGH);
  delay(7000);
for(int i=0; i<3; i++)
{
  digitalWrite(6, LOW);
  delay(800);
  digitalWrite(6, HIGH);
  delay(800);
}
  digitalWrite(6, LOW);
  digitalWrite(7, LOW);
  digitalWrite(5, HIGH);
  digitalWrite(13, HIGH);
  digitalWrite(12, LOW);
  delay(7000);
  digitalWrite(7, HIGH);
  digitalWrite(12, HIGH);
  digitalWrite(13, LOW);
  digitalWrite(5, LOW);
  delay(7000);
}

  void night()
{
 for (int i = 0; i < 5; i++) {
    digitalWrite(7, LOW);
    digitalWrite(5, HIGH);
    digitalWrite(6, LOW);
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);
    delay(700);
    
    digitalWrite(7, LOW);
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(13, LOW);
    digitalWrite(12, LOW);
    delay(1000);
 }

}

Kommentaatorid (uued võimalused):

FOR

Tsükkel for loendur, mis käivitamisel võtab vastu kolm seadistust: initsialiseerimine, tingimus ja muutmine. Tsükkel for sisaldab tavaliselt muutujat, mis muutub kogu tsükli jooksul.

  • Initsialiseerimine – siin omistatakse tavaliselt tsüklimuutuja algväärtus. Näiteks: int i = 0;
  • Tingimus – siin antakse tingimus, mille korral tsükkel täidetakse. Kui tingimus on rikutud, lõpetab tsükkel töö. Näiteks: i < 100;
  • Muutus – siin näidatakse tsüklimuutuja muutust igal iteratsioonil. Näiteks: i++;

Delay()

delay() hilinemine foori olekute muutuste vahel.

Kui funktsioon day() on esile kutsutud, määrab see foori päevarežiimile ja funktsioon night() seab selle öörežiimile.

Setup()

setup() määrab esialgsed väärtused, tagastab andmed.

Loop()

loop() on peamine funktsioon, Arduino kordab selle funktsiooni väljakutset miljoneid kordi sekundis, põhjustab day() ja night() vaheldumisi, et valgusfoor muutuks päevase ja öise režiimi vahel.

pinMode

Funktsioon pinMode() Arduino määrab määratud pini (sisse/välja) töörežiimi.

digitalWrite

digitalWrite – määrab tihvti oleku.

OUTPUT

OUTPUT — väljapääsu (выход).

HIGH ja LOW

HIGH ja LOW pingetase väljunditel.

Video

https://drive.google.com/file/d/1s7hGpX9Ska6hHMmFhqN98KtrYF3n-qb9/view?usp=drivesdk

FOTO

Kasutamisvõimalused tavaelus:

Selle töö komponente saab kasutada hüljes, morsai, LED-lint