RGB svijelto

Prva Riječka Hrvatska Gimnazija

Paljenje RGB svijetla koje se nasumično izmjenjuje.

Izrada projekta

RGB modul spojen na tri pina kontrolera Arduino MKR1000 pomoću tri analogna pina.

Mobilna aplikacija

Gumb za paljenje RGB svijetla.

Shema projekta

RGB svijeto je spojeno na Arduino plocicu. Crveno svjetlo je spojeno na pin A0, zeleno na A3 i plavo na A4. Ground je spojen na ground.

Shemu ovoga projekta možete preuzeti ovdje.

Arduino program

#define BLYNK_PRINT /*
/*************************************************************
  Download latest Blynk library here:
    https://github.com/blynkkk/blynk-library/releases/latest

  Blynk is a platform with iOS and Android apps to control
  Arduino, Raspberry Pi and the likes over the Internet.
  You can easily build graphic interfaces for all your
  projects by simply dragging and dropping widgets.

    Downloads, docs, tutorials: http://www.blynk.cc
    Sketch generator:           http://examples.blynk.cc
    Blynk community:            http://community.blynk.cc
    Follow us:                  http://www.fb.com/blynkapp
                                

  Blynk library is licensed under MIT license
  This example code is in public domain.

 *************************************************************

  You’ll need:
   - Blynk App (download from AppStore or Google Play)
   - Arduino MKR1000 board
   - Decide how to connect to Blynk
     (USB, Ethernet, Wi-Fi, Bluetooth, ...)

  There is a bunch of great example sketches included to show you how to get
  started. Think of them as LEGO bricks  and combine them as you wish.
  For example, take the Ethernet Shield sketch and combine it with the
  Servo example, or choose a USB sketch and add a code from SendData
  example.
 *************************************************************/

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT SerialUSB


#include 
#include 
#include 

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "8fe8be353019409db433158035bfa1c1";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "nastavnici";
char pass[] = "1rHG1m4A";

int pin1 = A0;    //crvena dioda na analognom pinu 0 postavljena u varijablu pin1
int pin2 = A3;    //zelena dioda na analognom pinu 3 postavljena u varijablu pin2
int pin3 = A4;    //plava dioda na analognom pinu 4 postavljena u varijablu pin3

long value3;    //postavljanje varijable value1, value2, value3
long value2;
long value1;

long current_value3;    //postavljanje varijable current_value1, current_value2, current_value3
long current_value2;
long current_value1;

int x;    //postavljanje varijable x 
  
void setup()
{
  // Debug console
  SerialUSB.begin(9600);
  Blynk.begin(auth, ssid, pass);

   randomSeed(analogRead(0));   //određivanje random broja

value1 = random(255);     //postavljanje random vrijednosti do 255 u varijablu value1
current_value1 = value1;    //postavljanje vrijednosti varijable value1 u varijablu current_value1
value2 = random(255);     //postavljanje random vrijednosti do 255 u varijablu value2
current_value2 = value2;    //postavljanje vrijednosti varijable value2 u varijablu current_value2
value3 = random(255);     //postavljanje random vrijednosti do 255 u varijablu value3
current_value3 = value3;    //postavljanje vrijednosti varijable value3 u varijablu current_value3

/*analogWrite(pin1, current_value1);    //potencijalna funkcija za pokretanje RGB svijetla pri pokretanju samog programa bez potrebe gumba
analogWrite(pin2, current_value2);
analogWrite(pin3, current_value3);
*/
value1 = random(255);   //postavljanje nove random vrijednosti u varijablu value1, dok u current_value1 ostaje stara random vrijednost
value2 = random(255);   //postavljanje nove random vrijednosti u varijablu value2, dok u current_value2 ostaje stara random vrijednost
value3 = random(255);   //postavljanje nove random vrijednosti u varijablu value3, dok u current_value3 ostaje stara random vrijednost

}

void ambiLight () {   //deklaracija ambiLight funkcije koje određuje jačinu pojedine diode da bi se postiglo što bolje izmjenjivanje boja
  
              x = random(3, 9);   //određuje random broj od 3 do 9 za nasumično vrijeme zadržavanja pojedine boje
   


                //objašnjenje prve if funkcije: ako je random vrijednosti value1 veća od vrijednosti current_value1, current_value1 se povećava i šalje diodi spojenoj na pin1. Ovo se izvodi dok current_value1 ne bude jednak value1 sa nausmičnim razmacima
                if (value1 > current_value1){       
 
                     current_value1++;
                     analogWrite(pin1, current_value1);
                     delay(x);
                                            }

                
                //objašnjnje druge if funkcije: ako je random vrijednost value1 manji od current_value1, current_value1 se smanjuje i šalje diodi spojenoj na pin1. Izvodi se dok current_vaue1 nije jednak value1
                if (value1 < current_value1){ current_value1--; analogWrite(pin1, current_value1); delay(x); } //objašnjenje treće if funkcije: ako je value1 jednak current_value1, current_value1 se šalje diodi spojenoj na pin1, te se varijabli value1 pridaje nova random vrijednost za ponovno, drugačije biranje jačine svijetlosti diode spojene na pin1 if (value1 == current_value1){ analogWrite(pin1, current_value1); value1 = random(255); } //prethodna objašnjenja prve, druge i treće if funkcije vrijede i za diode spojene na pin2 i pin3 if (value2 > current_value2){
           
                   current_value2++;
                   analogWrite(pin2, current_value2);
                    delay(x);
                                               }
           
                if (value2 < current_value2){ current_value2--; analogWrite(pin2, current_value2); delay(x); } if (value2 == current_value2){ analogWrite(pin2, current_value2); value2 = random(255); } if (value3 > current_value3){
           
                   current_value3++;
                   analogWrite(pin3, current_value3);
                    delay(x);
                                               }
           
                if (value3 < current_value3){
          
                  current_value3--;
                  analogWrite(pin3, current_value3);
                  delay(x);
           
                                            }
          
                if (value3 == current_value3){
          
                    analogWrite(pin3, current_value3);
                    value3 = random(255);
           
                                              }

            


        }



BLYNK_WRITE(V1) // At global scope (not inside of the function)   //deklariranje funkcije virtualnog gumba za paljenje RGB svijetla
{
    int i=param.asInt();      //očitavanje vrijednosti gumba (1 ili 0) te postavljanje te vrijednosti u varijablu i
    
    
    while (i==1)    //kada je i=1, odnosno virtualni gumb pritisnut, pokreće se ambiLight funkcija
    {
        ambiLight();
       
    }

}

void loop()
{
   Blynk.run();
  
}
     







Arduino program ovoga projekta možete preuzeti ovdje.

Autori

Projekt su izradili Jakov Mozetić i Ani Perušić uz mentorstvo Vedrana Vedriša iz Prve Riječke Hrvatske Gimnazije.

Projekt je prijavljen na temu: Internet of Things: Pametna rasvjeta.

Drugi projekti

Pametna rasvjeta – Zastora pomoću mobitela

Pametna rasvjeta – Zastora pomoću mobitela

Sustav pametne rasvjete baziran na prisutnosti korisnika

Sustav pametne rasvjete baziran na prisutnosti korisnika

Vanjska pametna rasvjeta – sensor

Vanjska pametna rasvjeta – sensor

Zvučna rasvjeta

Zvučna rasvjeta

Pametna rasvjeta za stan

Pametna rasvjeta za stan

Ambijetalno svjetlo

Ambijetalno svjetlo

Pametna rasvjeta

Pametna rasvjeta

Solarna energija

Solarna energija

Svjetlo u tami

Svjetlo u tami

Pametna rasvjeta (detektor zvuka)

Pametna rasvjeta (detektor zvuka)

Policijska sirena i oznaka Starta

Policijska sirena i oznaka Starta

Pali – gasi

Pali – gasi

Daljinsko upravljanje rasvjetom

Daljinsko upravljanje rasvjetom

Pametna rasvjeta – Music reacting circuit

Pametna rasvjeta – Music reacting circuit

Anti-theft

Anti-theft

Connect IT Pametni hodnik

Connect IT Pametni hodnik

Protuprovalni sustav

Protuprovalni sustav

Pametni stan

Pametni stan

Pametni tanjurić za šalicu

Pametni tanjurić za šalicu

Pametna kuća s Arduinom

Pametna kuća s Arduinom

Pametna kuća

Pametna kuća

Protuprovalno svjetlo u ormaru

Protuprovalno svjetlo u ormaru

Pametna rasvjeta

Pametna rasvjeta

Pametne osvijetljene stube

Pametne osvijetljene stube

Svijetliš u noći

Svijetliš u noći

Careduino

Careduino

Rainclock

Rainclock

Pljeskalica

Pljeskalica

Zebra

Zebra

Pametna rasvjeta informatika

Pametna rasvjeta informatika

Pametna rasvjeta

Pametna rasvjeta

Signalizacija

Signalizacija

Pametna rasvjeta

Pametna rasvjeta

Svjetlo za ugođaj

Svjetlo za ugođaj

Pametna rasvjeta

Pametna rasvjeta

Snimanje filma s mobitelom uz pomoć pametne rasvjete

Snimanje filma s mobitelom uz pomoć pametne rasvjete

Pametna ulična rasvjeta

Pametna ulična rasvjeta

Neka bude svjetlo

Neka bude svjetlo

Emotion light

Emotion light

Gasi letriku!

Gasi letriku!

Svjetlosni komunikator

Svjetlosni komunikator

iHouse

iHouse

Pametna rasvjeta s Arduinom

Pametna rasvjeta s Arduinom

Pametna rasvjeta kuće

Pametna rasvjeta kuće

Model kuće s pametnom rasvjetom

Model kuće s pametnom rasvjetom

Pametna rasvjeta – Zaštita kuće od provalnika

Pametna rasvjeta – Zaštita kuće od provalnika

Pametna rasvjeta na pljeskalački pogon

Pametna rasvjeta na pljeskalački pogon

Pametna rasvjeta

Pametna rasvjeta

Uređaj za mjerenje količine svjetlosti, vlage i temperature

Uređaj za mjerenje količine svjetlosti, vlage i temperature

Pametna budilica

Pametna budilica

Ambijentalna rasvjeta

Ambijentalna rasvjeta

Pametna garaža

Pametna garaža

Laserski brojač ljudi

Laserski brojač ljudi

Pametna vanjska rasvjeta

Pametna vanjska rasvjeta

Pametna rasvjeta

Pametna rasvjeta

Blynk pametna rasvjeta sa ESP8266

Blynk pametna rasvjeta sa ESP8266

Rasvjeta u igraonici

Rasvjeta u igraonici

Svjetionik

Svjetionik

IoT pametna rasvjeta ovisno o vremenu dana

IoT pametna rasvjeta ovisno o vremenu dana

Arduino smart light switch

Arduino smart light switch

Slabo pokretne osobe

Slabo pokretne osobe

RGB mixer

RGB mixer

Pametna rasvjeta

Pametna rasvjeta

Zujalica i svjetlo na senzor

Zujalica i svjetlo na senzor

Žuta i zelena soba

Žuta i zelena soba

Pametna rasvjeta

Pametna rasvjeta

Ako upališ, ugasi!

Ako upališ, ugasi!

Upozorenje na upaljena svjetla

Upozorenje na upaljena svjetla

GPS rasvjeta

GPS rasvjeta

RGB svjetlo

RGB svjetlo

Pametan parking

Pametan parking

Priprema, pozor, sad

Priprema, pozor, sad

Disco light

Disco light

Aurora Borealis

Aurora Borealis

Pametni hladnjak

Pametni hladnjak

Pametna rasvjeta

Pametna rasvjeta

Pametna rasvjeta u kući

Pametna rasvjeta u kući

Noćna rasvjeta

Noćna rasvjeta

Noćni prozor

Noćni prozor

Otvori me, zatvori me

Otvori me, zatvori me

House and garden lights

House and garden lights

IOT_Rasvjeta_4

IOT_Rasvjeta_4

Smart rasvjeta

Smart rasvjeta

IOT-Stubišni automat

IOT-Stubišni automat

Lego Arduino pametna rasvjeta

Lego Arduino pametna rasvjeta

IOT_Rasvjeta_2

IOT_Rasvjeta_2

IOT_Rasvjeta_1

IOT_Rasvjeta_1

Svjetlo za bicikl

Svjetlo za bicikl