Dönüş Sinyali Veren Bisiklet Ceketi Yapımı

Özellikle karanlık hava şartlarında bisiklet sürerken sağa ve sola dönüşte sinyal veren ceket yapımının resimli ve açıklamalı ayrıntılarını yazının devamında okuyabilirsiniz.

Dönüş Sinyali Veren Bisiklet Ceketi Yapım Malzemeleri

sinyal veren bisiklet ceketi yapımı

sinyal veren bisiklet ceketi yapım malzemeleri

1. 4 kat iletken iplik makarası. 10 tl karşılığında robitshop internet sitesinden satın alabilirsiniz. İletken iplik kullanarak ceketimiz yıkanabilir olacak ve kesinlikle dış etkenlerden zarar görmeden gönül rahatlığıyla kullanabileceksiniz.
2. Tebeşir veya kumaş işaretleyici
3. Projenin en önemli malzemesi Arduino LilyPad dir. Peki nedir bu  Arduino LilyPad?  Kısaca kumaşa dikmek için özel olarak tasarlanmış geliştirme kartıdır. Arduino türkiye sayfasında ayrıntılı bilgilere ulaşabilirsiniz. Neyse arkadaşlar kısacası bize bir tane Ardunio LilyPad ana kart lazım. 40 tl’ye robitshop internet sitesinden satın alabilirsiniz.
LilyPad Güç kaynağı. Robitshop internet sitesinden 28 yl’ye satın alabilirsiniz.
Kart programını yapabilmek için FTDI Basic devre kiti. Ayrıntılı bilgiyi buradan alabilirsiniz. robitshop internet sitesinden 30 tl’ye  satın alabilirsiniz.
4. LilyPad için 16 adet led. Tanesini 2 tl karşılığından robitshop internet sitesinden temin edebilirsiniz.
5.  2 adet küçük switch.
6. Kumaş yapıştırıcı.
7. USB kablo.
8. AVO Metre, Havya lehim ikilisi, makas
9. Muhtelif Proje Malzemeleri

dönüş sinyali veren bisiklet ceketi yapımı

dönüş sinyali veren bisiklet ceketi devre tasarımı

Öncelikle elektronik devre ve ledlerin giysi üzerine tasarım işlemini yapıyoruz. Resimde görülen blok diyagramı simetrik olacak şekilde tebeşir yardmıyla cetvel ile düzgün bir şekilde giysimiz üzerine çiziyoruz. Resimde kırmızı renk (+) ucu, siyah renk (-) ucu, yeşil renk led diyotların ucunu, mor renkler ise switch giriş uçlarını göstermektedir.

Arduino LilyPad nedir?

Arduino LilyPad bağlantı uçları

 

 Dikim İşlemi

İletken teli kullanarak dikme işlemine geçiyoruz. İlk efa dikşi yapacaksınız lütfen tecrübeli birinden (annenizz…  ;) yardım alın. Dikiş yaparken arada boşluk olmamasına dikkat edin. Yoksa çalışmaz… İlk olarak güç kaynağı ile işe başlıyoruz. Dikim yapabilmek için güç bağlantı uçlarında bulunan dişleri söküp yerine teli lehim yaparak dikme işlemine devam ediyoruz.

Dönüş Sinyali Veren Bisiklet Ceketi Yapımı

pense yardımıyla güç kaynağının bağlantı uçlarını çıkartıyoruz.

Blok diyagramda verdiğimiz bağlantı şekline göre diğer elemanların dikim işlerini yaparak test aşamasına geçebiliriz.

Test aşaması

AVO metrenin direç ölçüm noktasında LilyPad güç noktaları (-,+) arasındaki 10 ohm dan yüksek olması lazım. Yüksek değilse daha fazla iletken tel ile dikiş yaparak direnci yükseltiyoruz.
Dikiş yaptığımız güç (-,+) uçları arası direnç değeri de 10 kilo ohm dan yüksek olması gerekir. Değer düşük ise iletken tel ekleyerek direnci yükseltiyoruz.
Direnç değerlerini kontrol ettikten sonra güç bağlantısını yaparak sistemi test edebilirsiniz. Düğmeye hızlı bir şekilde sürekli bastığınız zaman lambaların yanması gerekir. Yoksa lütfen bağlantı noktalı ve direnç değerlerini kontrol ediniz.  Kontrol bittikten sonra güç ve toprak dikişlerini yalıtım yapılması gerekir. Yalıtımı sağlamak için kabarık kumaş boyası veya saten iplik kullanabilirsiniz. Heşeyin çalıştığından emin oluncaya kadar iletken yolların üzerini sakın kapatmayın.

Dönüş Sinyali Veren Bisiklet Ceketi Yapımı

avo metre ile kontrol

 Dönüş Sinyali veren Led Diyotların Test Edilmesi

LilyPad programlama yapılarak led diyotlar kontrol ediyoruz. Programlama hakkında bilginiz yoksa mit.edu sitesi yazılarına göz atabilirsiniz.
Sistemin çalışması için test program kodu:
int ledPin = 13; // the LED on the LilyPad
int leftSignal = 9; // my left turn signal is attached to petal 9
int rightSignal = 11; // my right turn signal is attached to petal 11
int signalLow = 10; // the – sides of my signals are attached to petal 10
void setup()
{
pinMode(ledPin, OUTPUT); // sets the ledPin to be an output
pinMode(leftSignal, OUTPUT); // sets the leftSignal petal to be an output
pinMode(rightSignal, OUTPUT); // sets the rightSignal petal to be an output
pinMode(signalLow, OUTPUT); // sets the signalLow petal to be an output
digitalWrite(signalLow, LOW); // sets the signalLOW petal to LOW (-)
}
void loop() // run over and over again
{
delay(1000); // wait for 1 second
digitalWrite(leftSignal, LOW); // turn the left signal off
delay(1000); // wait for 1 second
digitalWrite(rightSignal, HIGH); // turn the right signal on
delay(1000); // wait for 1 second
digitalWrite(rightSignal, LOW); // turn the right signal off
delay(1000); // wait for 1 second
}
Ardunio program penceresi için yukarıdaki kodları atmanız yeterli olacaktır. Artık projemizi sonuna geldik. Bu aşamayı tamamladıktan sonra ceketin komple yalıtımını sağlayıp ceketi kapatıyoruz.
ޞimdi ceketimizi isteğimize göre programlayıp kullanabiliriz. Switch’e  basıldığı zaman kaç saniye lamba yanacak ne kadar zaman sonra sönecek hepsini programla zevkinize göre düzenleyebilirsiniz.  Aşağıda örnek bir program mevcut isterseniz onu yükleyebilir veya kendiniz buradan bakarak istediğiniz programı yazabilirsiniz.

 

Dönüş Sinyali Veren Bisiklet Ceketi Videosu

Dönüş Sinyali Veren Bisiklet Ceketi Örnek Programı

//Pin connected to ST_CP of 74HC595
int latchPin = 9;
//Pin connected to SH_CP of 74HC595
int clockPin = 8;
////Pin connected to DS of 74HC595
int dataPin = 10;
int leftArrow = 6;
int leftGnd = 7;
int leftSwitch = 4;
int leftInd = 5;
int rightArrow = 11;
int rightGnd = 12;
int rightSwitch = 14;
int rightLow = 13;
int rightInd = 15;
void setup() {
  Serial.begin(9600);
  pinMode(latchPin, OUTPUT);
  pinMode(13,OUTPUT);
  pinMode(leftArrow, OUTPUT);     
  pinMode(leftGnd, OUTPUT);      
  pinMode(rightArrow, OUTPUT);     
  pinMode(rightGnd, OUTPUT);      
  pinMode(rightSwitch,INPUT);
  digitalWrite(rightSwitch, HIGH);
  pinMode(rightLow,OUTPUT);
  digitalWrite(rightLow,LOW);
  pinMode(rightInd,OUTPUT);
  pinMode(leftSwitch,INPUT);
  digitalWrite(leftSwitch, HIGH);
  pinMode(leftInd,OUTPUT);
  digitalWrite(leftGnd, LOW);    
  digitalWrite(rightGnd, LOW);
}
void loop() {
  clearLatch();
  if (digitalRead(rightSwitch) == LOW) {
    toRight();
    for(int i = 0; i < 5; i++) {
      digitalWrite(rightArrow,HIGH);
      digitalWrite(rightInd,LOW);
      delay(100);
      digitalWrite(rightArrow,LOW);
      digitalWrite(rightInd,HIGH);
      delay(100);
    }
    digitalWrite(rightInd,LOW);
    clearLatch();
  }
  if (digitalRead(leftSwitch) == LOW) {
    toLeft();
    for(int i = 0; i < 5; i++) {
      digitalWrite(leftArrow,HIGH);
      digitalWrite(leftInd,LOW);
      delay(100);
      digitalWrite(leftArrow,LOW);
      digitalWrite(leftInd,HIGH);
      delay(100);
    }
    digitalWrite(leftInd,LOW);
    clearLatch();
  }
}
void shiftOut(int myDataPin, int myClockPin, byte myDataOut) {
  int i=0;
  int pinState;
  pinMode(myClockPin, OUTPUT);
  pinMode(myDataPin, OUTPUT);
  digitalWrite(myDataPin, 0);
  digitalWrite(myClockPin, 0);
  for (i=7; i>=0; i--)  {
    digitalWrite(myClockPin, 0);
    if ( myDataOut & (1<<i) ) {
      pinState= 1;
    }
    else {	
      pinState= 0;
    }
    digitalWrite(myDataPin, pinState);
    digitalWrite(myClockPin, 1);
    digitalWrite(myDataPin, 0);
  }
  digitalWrite(myClockPin, 0);
}
void toLeft() {
  int timeDelay = 100;
  int latchArray[9]={
    2,1,4,8,16,32,64,128,255  };
  for (int j = 0; j < 9; j++) {
    digitalWrite(latchPin, 0);
    shiftOut(dataPin, clockPin, ~latchArray[j]); 
    shiftOut(dataPin, clockPin, 255-~latchArray[j]);
    digitalWrite(latchPin, 1);
    delay(timeDelay);
  }
}
void toRight() {
  int timeDelay = 100;
  int latchArray[9]={
    255,2,1,4,8,16,32,64,128  };
  for (int j = 8; j >= 0; j--) {
    digitalWrite(latchPin, 0);
    shiftOut(dataPin, clockPin, ~latchArray[j]); 
    shiftOut(dataPin, clockPin, 255-~latchArray[j]);
    digitalWrite(latchPin, 1);
    delay(timeDelay);
  }
}
void clearLatch() {
  int timeDelay = 100;
    digitalWrite(latchPin, 0);
    shiftOut(dataPin, clockPin, 255); 
    shiftOut(dataPin, clockPin, 255-255);
    digitalWrite(latchPin, 1);
    delay(timeDelay);
}

 

http://atmega32-avr.com/turn-signal-biking-jacket-using-microcontroller/

http://web.media.mit.edu/~leah/LilyPad/index.html

Posted in Arduino Projeleri, Bilgisayar, Bu Benim Eserim Projeleri, Elektrik-Elektronik, Genel, Outdoor, Spor, Tuhaf ޞeyler and tagged , , , , .