Elektrik Elektronik Teknolojisi Alan Temrinleri

 
Hogeldiniz Ziyareti. Ltfen giri yapn veya kayt olun.

Kullanc adnz, ifrenizi ve aktif kalma sresini giriniz

Gnderen Konu: 7. Arduino ile stop lambalarýnýn kontrolü  (Okunma says 39565 defa)

0 ye ve 1 Ziyareti konuyu incelemekte.

08 Ekim 2015, 23:52:48
<iframe width="640" height="385" src="//www.youtube.com/embed/AI_ZCm0B13Q?fs=1&start=" frameborder="0" allowfullscreen></iframe>













Bu proje Akçaabat ÝMKB Anadolu Lisesi Coðrafya Dersi Öðretmeni Ömer AYGÜN ve öðrencileri tarafýndan düþünülmüþ ve uygulamaya konulmuþtur. Projeye Trabzon ve Mesleki Teknik Anadolu Lisesi Elektronik Öðretmeni Hasan ERTÜRK teknik destek vermiþ ve sistemin prototip maketi hazýrlanmýþtýr.

Araç kullanýrken fren yapmak gerektiðinde durumu algýlayýp ayaðýmýzý gazdan çekip frene basana kadar 0,7 saniye kadar zaman geçer. Bu durumda saatte 100 km ile giden bir aracý kullanan bir sürücü fren yapana kadar araç yaklaþýk 20 metre daha yol alýr. O halde aracýn 20 metre önünde bir engel varsa daha frene basmaya bile fýrsat kalmadan araç engele çarpacaktýr. Yani burada saniyeler hatta milisaniyeler bile çok önem arz etmekte. 
Burada ortaya çýkan bir sorun var. O da þu:

Vites deðiþirken gazdan ayaðýmýzý çektiðimizde stop lambalarýnýn yanmamasý gerek. Bu nedenle tasarým yaparken debriyaj pedalýnýn pozisyonunu da dikkate almak gerekecek.

Þimdi gelelim konumuza. Bu gibi durumlarda arkadan gelen araçlar bizim fren yaptýðýmýzý aracýmýzýn stop lambalarýnýn yanmasýndan fark etmekte. Özellikle ani duruþlarda arkadan gelen araç sürücülerini daha çabuk uyarabilmek için ayaðýmýzý gazdan çektiðimiz anda daha frene henüz basamamýþken uyarabilirsek hem onlar hem de bizim için çok önemli olabilecek milisaniyeleri kazanmýþ oluruz.

Sistemimiz ayaðýmýzý frenden çektiðimiz anda stop lambalarýnýn yanmasýný saðlayacak. Þimdi tasarým aþamasýna geçelim. Öncelikle aþaðýdaki tabloda görüldüðü gibi debriyaj, fren ve gaz pedallarýnýn almasý muhtemel 8 senaryo için stop lambasý, tekerlek ve fren tertibatýnýn göstereceði tepkileri belirleyelim.



Kontrol devremizi arduino ile yapacaðýz. Þimdi sýra geldi yukarýdaki senaryolara uygun olarak ardiuno programýný yazmaya.

Arduino kodlarýmýz:
int gaz_pedali=A5;                    // A5 GÝRÝÞÝNE FREN PEDALI ÝSMÝ VERÝLDÝ
int fren_pedali=A0;                   // A0 GÝRÝÞÝNE FREN PEDALI ADI VERÝLDÝ
int debriyaj=A4;                      // A4 GÝRÝÞÝNE DEBRÝYAJ ADI VERÝLDÝ
int stop_lambasi=0;                   // D0 ÇIKIÞINA STOP LAMBASI ADI VERÝLDÝ
int motor=5;                          // MOTORA DÝJÝTAL 5 PÝNÝNDEN ENERJÝ VERÝLECEK
int hiz;                              // HIZ TANIMLAMASI
int fren_pedali_durum=0;
#include <Servo.h>                    // SERVO KÜTÜPHANESÝ EKLENDÝ
const int pot=A0;                     // SERVO KONTROL PÝNÝ
Servo tekerlek;                       // SERVONUN ADI
int potdurum=0;     
int pos = 0;    

void setup() 
{
 pinMode(fren_pedali, INPUT);         // A0 PÝNÝ GÝRÝÞ YAPILDI
 pinMode(gaz_pedali, INPUT);          // A5 PÝNÝ GÝRÝÞ YAPILDI 
 pinMode(debriyaj, INPUT);            // A4 PÝNÝ GÝRÝÞ YAPILDI 
 pinMode(stop_lambasi, OUTPUT);       // D0 PÝNÝ ÇIKIÞ YAPILDI
 tekerlek.attach(13);                 // SERVONUN BAÐLANACAÐI PÝN
}

void loop() 
{
  // MOTOR HIZI AYARI BURADA BAÞLADI
  hiz= analogRead(gaz_pedali);        // GAZ PEDALINDAKÝ VOLTAJI OKU
  hiz= map(hiz, 0, 550, 255, 0);      // OKUNAN 5 VOLT ÝLE 0 VOLT ARASINDAKÝ VOLTAJI HIZA DÖNÜÞTÜR 
  analogWrite(motor, hiz);            // HESAPLANAN HIZI MOTORA AKTAR
  delay(10);                          // 10 ms BEKLE
  // MOTOR HIZI AYARI BURADA BÝTTÝ

  // STOP LAMBASI PEDALI KOMUTLARI BURADA BAÞLADI
  fren_pedali_durum= digitalRead(A0);  // A0 GÝRÝÞÝNDEKÝ LOJÝK SEVÝYEYÝ OKU
  digitalWrite(0, !fren_pedali_durum);  // OKUNAN LOJÝK SEVÝYENÝN TERSÝNÝ D0 ÇIKIÞINA AKTAR (DEVRE ONA GÖRE DÝZAYN EDÝLDÝ)
  // STOP LAMBASI PEDALI KOMUTLARI BURADA BÝTTÝ
  
  // DEBRÝYAJ, GAZ VE FREN PEDALLARI BASILI DEÐÝLSE FREN LAMBASINI FLASH YAP BURADA BAÞLADI
   if (digitalRead(fren_pedali) == HIGH  && digitalRead(gaz_pedali) == HIGH  && digitalRead(debriyaj) == HIGH  )  
   { 
    digitalWrite(0, HIGH); 
    delay(20);  
    digitalWrite(0, LOW);
    delay(20);  
   }
   // DEBRÝYAJ, GAZ VE FREN FREN PEDALLARI BASILI DEÐÝLSE FREN LAMBASINI FLASH YAP BURADA BÝTTÝ


  // FREN TERTÝBATI KODLARI BAÞLADI
  potdurum=analogRead(pot);
  pos= map(potdurum,1023,0,180,55);     // FREN PEDALINDAN DEÐER OKUYUP DÖNME AÇISINI ORANLADIK
  { 
    tekerlek.write(pos);              // YUKARIDA ORANLADIÐIMIZ DEÐERÝ SERVOYA GÖNDERDÝK
  } 
  // FREN TERTÝBATI KODLARI BÝTTÝ
}


Projeye ait dosyalarý konu ekinden indirebilirsiniz.

Proje istek halinde her marka vemodel araca 1000 TL ücretle tasarýmcý tarafýndan uygulanmaktadýr.
« Son Dzenleme: 30 Eyll 2016, 22:57:14 Gnderen: fatek »


ileti?im: 0542 343 09 15