Svjetlo za bicikl

Industrijsko-obrtnička škola Slavonski Brod

Svjetlo za bicikl kojim se upravlja pametnim telefonom. Pametni telefon putem žarišne točke dijeli vezu s Arduino pločicom. Na pametnom telefonu putem aplikacije Blynk moguće je uključiti/isključiti svjetlo kao i indikatore smjera. Projekt je složen na eksperimentalnoj pločici.

Video snimka

Izrada projekta

Na slici se vidi kako su povezane diode i raspored ikona u mobilnoj aplikaciji Blynk. Dodana je samo jedna slika jer se rad projekta najbolje vidi u priloženom videu.

Mobilna aplikacija

Postavke projekta. Bitna postavka je da zaslon pametnog telefona ostane uključen dok je pokrenuta aplikacija.

Raspored ikona u aplikaciji.

Postavke ikone za uključivanje/isključivanje svjetla.

Postavke ikone za uključivanje/isključivanje indikatora smjera lijevo.

Postavke ikone za uključivanje/isključivanje indikatora smjera desno

Shema projekta

Diode za indikator smjera desno su povezane u ulaze 0-2, za svjetlo 3-8 i za indikator smjera lijevo 9-11.

Shemu ovoga projekta možete preuzeti ovdje.

Arduino program

#define BLYNK_PRINT DebugSerial
/* Svjetlo za bicikl s indikatorima smjera 
 * kojim se upravlja pomoću pametnog telefona 
 */

//Na početku se nalaze biblioteke za WiFi i Blynk
#define BLYNK_PRINT SerialUSB

#include 
#include 
#include 

char auth[] = "90ab943f99b1447a90e73a1e2fa460af"; //Autentifikacijski token za Blynk projekt

char ssid[] = "Test"; //Naziv WiFi mreže na koju se povezuje
char pass[] = "test"; //Zaporka za mrežu

/* Definiramo gdje su spojene LED
 *  d označava diode za indikator smjera desno
 *  l označava diode za indikator smjera lijevo
 *  s označava diode za svjetlo
 */
int d1 = 0;
int d2 = 1;
int d3 = 2;
int s1 = 3;
int s2 = 4;
int s3 = 5;
int s4 = 6;
int s5 = 7;
int s6 = 8;
int l1 = 9;
int l2 = 10;
int l3 = 11;

/*Deklaracija logičkih bit varijabli čije vrijednosti
 * ćemo mijenjati putem pametnog telefona koje će
 * služiti za uključivanje i isključivanje svjetla i
 * indikatora smjera
 */
boolean pinValue1 = 0;
boolean pinValue2 = 0;
boolean pinValue3 = 0;

//Blynk rutina za zapisivanje podataka putem virtualnog PIN-a
BLYNK_WRITE(V1)
{
  pinValue1 =! pinValue1; //Logičkim NE mijenjamo stanje varijable između 0 i 1
}

BLYNK_WRITE(V2)
{
  pinValue2 =! pinValue2;
}

BLYNK_WRITE(V3)
{
  pinValue3 =! pinValue3;
}

void setup()
{

  Blynk.begin(auth, ssid, pass); //Blynk rutina za povezivanje na WiFi
  
  //Postavljamo PIN-ove gdje su diode kao izlaz
  pinMode(d1 , OUTPUT);
  pinMode(d2 , OUTPUT);
  pinMode(d3 , OUTPUT);
  pinMode(s1 , OUTPUT);
  pinMode(s2 , OUTPUT);
  pinMode(s3 , OUTPUT);
  pinMode(s4 , OUTPUT);
  pinMode(s5 , OUTPUT);
  pinMode(s6 , OUTPUT);
  pinMode(l1 , OUTPUT);
  pinMode(l2 , OUTPUT);
  pinMode(l3 , OUTPUT);

  //Postavljamo početne vrijednosti na izlaz, LED isključene
  digitalWrite(d1 , LOW);
  digitalWrite(d2 , LOW);
  digitalWrite(d3 , LOW);
  digitalWrite(s1 , LOW);
  digitalWrite(s2 , LOW);
  digitalWrite(s3 , LOW);
  digitalWrite(s4 , LOW);
  digitalWrite(s5 , LOW);
  digitalWrite(s6 , LOW);
  digitalWrite(l1 , LOW);
  digitalWrite(l2 , LOW);
  digitalWrite(l3 , LOW);
}

//Dio programa koji se stalno ponavlja
void loop()
{
  Blynk.run();

  /*If petlja koja uključuje desni indikator smjera ako
   * je varijabla pinValue1 = 1. Diode se slijedno uključuju
   * prema desnoj strani svakih 100 ms kako bi dodatno istaknuli
   * namjeravani smjer kretanja. Diode ostaju uključene 700 ms
   * dok su 400 ms isključene.
   */
  if (pinValue1 == 1) {
    digitalWrite(d3 , HIGH);
    delay(100);
    digitalWrite(d2 , HIGH);
    delay(100);
    digitalWrite(d1 , HIGH);
    delay(700);
    digitalWrite(d1 , LOW);
    digitalWrite(d2 , LOW);
    digitalWrite(d3 , LOW);
    delay(400);
  } else {
    digitalWrite(d1 , LOW);
    digitalWrite(d2 , LOW);
    digitalWrite(d3 , LOW);
  }

  /*If petlja koja uključuje lijevi indikator smjera ako
   * je varijabla pinValue2 = 1. Diode se slijedno uključuju
   * prema lijevoj strani svakih 100 ms kako bi dodatno istaknuli
   * namjeravani smjer kretanja. Diode ostaju uključene 700 ms
   * dok su 400 ms isključene.
   */
  if (pinValue2 == 1) {
    digitalWrite(l1 , HIGH);
    delay(100);
    digitalWrite(l2 , HIGH);
    delay(100);
    digitalWrite(l3 , HIGH);
    delay(700);
    digitalWrite(l1 , LOW);
    digitalWrite(l2 , LOW);
    digitalWrite(l3 , LOW);
    delay(400);
  } else {
    digitalWrite(l1 , LOW);
    digitalWrite(l2 , LOW);
    digitalWrite(l3 , LOW);
  }

  /*If petlja koja uključuje svjetlo ako je varijabla pinValue3 = 1*/
  if (pinValue3 == 1) {
    digitalWrite(s1 , HIGH);
    digitalWrite(s2 , HIGH);
    digitalWrite(s3 , HIGH);
    digitalWrite(s4 , HIGH);
    digitalWrite(s5 , HIGH);
    digitalWrite(s6 , HIGH);
  } else {
    digitalWrite(s1 , LOW);
    digitalWrite(s2 , LOW);
    digitalWrite(s3 , LOW);
    digitalWrite(s4 , LOW);
    digitalWrite(s5 , LOW);
    digitalWrite(s6 , LOW);
  }
}


Arduino program ovoga projekta možete preuzeti ovdje.

Autori

Projekt su izradili Hrvoje Raspasović i Gabrijel Šego uz mentorstvo Ivana Bunjevca iz Industrijsko-obrtnička škola iz Slavonskog Broda.
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