Elektronik
OKUDUĞUNUZ KONU
Giyilebilir Teknoloji Bisiklet Sinyali
8

Giyilebilir Teknoloji Bisiklet Sinyali

Yazar : Murat Duran17 Temmuz 2015

Son günlerin popüler konularından olan giyilebilir teknolojileri yakından takip ediyorsunuzdur.Bu projemizde giyilebilir teknoloji ürünler için yeni bir konsept oluşturulmuş.Proje bisikletler için sinyal sistemi.Bisiklet kullananlar bilirler trafikte nereye döneceğinizi bildirmezseniz arkanızdaki sürücü kaza yapabilir. Bu proje sinyal verememe sorunundan kaynaklanan kazaları bir nebzede olsa engelleyebilir.Projemizde arduino giyilebilir geliştirme kartı olan lilypad kullanılmış.

Proje Malzemeleri

  • Arduino lilypad
  • Led 14 tane
  • Push buton x2
  • Batarya veya pil

Proje için öncelikle bir polar seçmeniz gerekecek bu polar bisiklet kullanırken giyilecek.Polay üzerine toplamda 14 adet led yerleştirilecek bu ledler push buton ile tıklandığında yanacaklar.Kollara birer adet buton yerleştirilecek.

Polar cekete iletken kabloları dikerken koparmamaya çalışınız aksi halde proje çalışmaz.Eğerki dikim ile tecrübeniz yoksa bilen bir kişiden yardım isteyiniz. Her bir led için farklı kablo götürmenize gerek yok ledleri birbirine paralel bağlayın iki kablo ile işi halletmiş olursunuz.

Push butonu parmaklarınıza yakın bir yere monte etmeniz gerekli ki basa bilesiniz.Bunun için en uygun yer resimlerde gösterilen kısım. Projenin Kodlarını Buradan İndirebilirsiniz


int boardLED = 13;
int leftSignal = 9;
int rightSignal = 11;
int signalLow = 10;
int rightLow = 4;
int leftSwitch = 6;
int rightSwitch = 12;
int leftLED = 5;
int rightLED = 3;
int x, y;
int mode = 0;
int DAY = 0;
int NIGHT = 1;

void setup() // run once, when the sketch starts
{
pinMode(boardLED, OUTPUT);

pinMode(leftSignal, OUTPUT);
pinMode(rightSignal, OUTPUT);

pinMode(signalLow, OUTPUT);
pinMode(rightLow, OUTPUT);

pinMode(leftSwitch, INPUT);
digitalWrite(leftSwitch, HIGH);
pinMode(rightSwitch, INPUT);
digitalWrite(rightSwitch, HIGH);

pinMode(leftLED, OUTPUT);
pinMode(rightLED, OUTPUT);

digitalWrite(boardLED, HIGH);
digitalWrite(signalLow, LOW);
digitalWrite(rightLow, LOW);
}

void loop() // run over and over again
{
checkLeft();
checkRight();
if (mode == NIGHT)
night();
else
day();
}

void checkLeft()
{
if (digitalRead(leftSwitch) == LOW)
{
digitalWrite(boardLED, LOW);
while (digitalRead(leftSwitch) == LOW)
{
if (digitalRead(rightSwitch) == LOW)
{
while (digitalRead(rightSwitch) == LOW | digitalRead(leftSwitch) == LOW);
mode = 1-mode;
digitalWrite(boardLED, HIGH);
return;
}
}
leftTurn();
}
}

void checkRight()
{
if (digitalRead(rightSwitch) == LOW)
{
digitalWrite(boardLED, LOW);
while (digitalRead(rightSwitch) == LOW)
{
if (digitalRead(leftSwitch) == LOW)
{
while (digitalRead(leftSwitch) == LOW | digitalRead(rightSwitch) == LOW);
mode = 1-mode;
digitalWrite(boardLED, HIGH);
return;
}
}
rightTurn();
}
}

void leftTurn()
{
for (x=0;x<10;x++)
{
digitalWrite(leftSignal, HIGH);
digitalWrite(leftLED, LOW);
for(y=0;y<10;y++)
{
delay(30);
if (digitalRead(leftSwitch) == LOW)
{
while (digitalRead(leftSwitch) == LOW);
digitalWrite(leftSignal, LOW);
digitalWrite(leftLED, LOW);
return;
}
}
digitalWrite(leftSignal, LOW);
digitalWrite(leftLED, HIGH);
for(y=0;y<10;y++)
{
delay(30);
if (digitalRead(leftSwitch) == LOW)
{
while (digitalRead(leftSwitch) == LOW);
digitalWrite(leftSignal, LOW);
digitalWrite(leftLED, LOW);
return;
}
}
digitalWrite(leftLED, LOW);
}
}

void rightTurn()
{
for (x=0;x<10;x++)
{
digitalWrite(rightSignal, HIGH);
digitalWrite(rightLED, LOW);
for(y=0;y<10;y++)
{
delay(30);
if (digitalRead(rightSwitch) == LOW)
{
while (digitalRead(rightSwitch) == LOW);
digitalWrite(rightSignal, LOW);
digitalWrite(rightLED, LOW);
return;
}
}
digitalWrite(rightSignal, LOW);
digitalWrite(rightLED, HIGH);
for(y=0;y<10;y++)
{
delay(30);
if (digitalRead(rightSwitch) == LOW)
{
while (digitalRead(rightSwitch) == LOW);
digitalWrite(rightSignal, LOW);
digitalWrite(rightLED, LOW);
return;
}
}
digitalWrite(rightLED, LOW);
}
}

void night()
{
digitalWrite(boardLED, LOW);

digitalWrite(rightSignal, HIGH);
digitalWrite(leftSignal, HIGH);
digitalWrite(leftLED, LOW);
digitalWrite(rightLED, LOW);
delay(100);
digitalWrite(rightSignal, LOW);
digitalWrite(leftSignal, LOW);
digitalWrite(leftLED, HIGH);
digitalWrite(rightLED, HIGH);
delay(100);
digitalWrite(leftLED, LOW);
digitalWrite(rightLED, LOW);
}

void day()
{

digitalWrite(boardLED, HIGH);
delay(1);
digitalWrite(boardLED, LOW);
digitalWrite(leftLED, HIGH);
delay (1);
digitalWrite(leftLED, LOW);
digitalWrite(rightLED, HIGH);
delay(1);
digitalWrite(rightLED, LOW);
delay (5);
} 
SİZCE NASIL OLMUŞ?
Beğendim
65%
İlginç
26%
Eh İşte
9%
Anlamadım
0%
Kötü
0%
Berbat
0%
YAZAR HAKKINDA
Murat Duran
Murat Duran
Açık kaynak donanım ve yazılım geliştiricisiyim , mekanik ve robotik sistemler üzerinde çalışmalar yapmaktayım.Ayrıca bir start-up firması olan Proje Hocam 'ın kurucuyum.
8 YORUMLAR

YORUM YAP