Otomatik Far Sensörü ve Gündüz Ledi Uygulaması Nasıl Yapılır?

Merhaba Sevgili Dostlar,

Yine aracımızın en üst donanımında olan orta ve alt donanımlarda olmayan bir özelliği aracımıza kavuşturuyoruz.

Sıradaki projemiz başlığından anlaşılacağı üzere otomatik far sensöru, bu sistem ile aracımız park ve farlarını otomatik açacak ve kapatacak.

Sistem nasıl çalışacak,

Hava hafif kararmaya başladığında önce stopları açacak, biraz daha karardığında kısa farları açacak. , aynı orjinalinde olduğu gibi..

Hava ölçümü LDR aracılığı ile şu şekilde çalışıyor, en güneşli hava 1023 birim, zifiri karanlık (ay ışığı bile yok) 0 birim,

Hava aydınlığı 300 birim altına düşünce parklar, 150 birim altına düşünce kısa farlar yanacak, arduino kodumu buna göre ayarladım, siz isterseniz bu değeri değiştirebilir veya, 1k Pot kullanarak istediğiniz zaman ayarlayabilir hale getirebilirsiniz

Gündüz  tünele veya yeraltı geçidine girdikten yarım saniye sonra stopları açar, yarım saniye sonra da kısa farları açar.

Tünelden çıkıldığında ise emin olmak için 6 saniye kadar daha kısalar yanmaya devam eder sonrasında kısalar ve parklar kapatılır.

Ancak Arduino kodlarından anlamayanlar için detay belirteyim sistem Saniyede iki defa (500 mili saniyede bir)  ışık ölçer 12 ölçüm de ard arda eğer ışık 300birim üzerine çıkarsa farlar kapanırbu teknik ile , sokak lambalarının altından geçerlen sokak lambaları veya yüksek ışık kaynakları far sensörümüzü şaşırtmaz en yüksek doğrulukla çalışmasına olanak sağlar.

Maliyeti düşük hatta daha da düşürülebilir.

Malzemeler,

  • Arduino (marka model farketmez alayı aynı)
  • LM7805 Regülator (Arduino’yu beslemek için 12voltu 5volta düşürür)
  • LDR (Light Dependent Resistor) Işığa bağımlı direnç bir diğer adı Foto direnç
  • BC547 NPN Transistor (2 Adet)
  • 1K direnç (3 Adet)
  • 330ohm direnç (1 Adet)
  • Yeteri kadar kablo, makaron vs vs.

Bu malzemeler ortalama 25 –30 TL, aslında tek para eden Arduino diğerleri 10 kuruş 50 kuruş, Ben Yazılım Geliştiricisi olduğum için Arduino bana çok kolay geliyor Elektronik bilgim çok iyi değil, istenirse bu sistem arduino olmadan da yapılabilir, eğer iyi bir elektronikçi iseniz çok daha düşük maliyete getirebilirsiniz.

Ben LM7805 yerine, elimde ayarlı regülatör vardı doğrudan onu kullandım, burada amaç arduinonun zarar görmemesi, arduino çok çok az akım çeker 5v 040ma gibi komik bir enerji tüketimi var 9v pille bile çok üzün süre kullanılır, aslında 12v ile de beslenebilir ama aracımız çalışırken 14,5v elektrik üretmektedir. Bu arduinoya zarar verir.

Dirençleri 1/4w kullanmanız yeterlidir, sadece sinyal verecek üzerinden aşırı akım geçmeyecek.

Mantığı Anlamak,

Sinyal Ünitesi H005’in 3 nolu pininden Body Computerin M001 – A soketinin 2 nolu pinine negatif sinyal gitmektedir.
Aracımızın parklarını açtığınızda bu üniteden, 2.Nolu pine 330ohmluk bir NEGATİF sinyali gitmektedir.
Kısaları açtığınızda ise 330ohmluk direnç ortadan tamamen kalkar, 2.nolu sokete doğrudan NEGATİF sinyal gider bizde arduino ile aynen bunu yapacağız.

Transistörlerimizin NPN (Negatif, Pozitif, Negatif) olması bu noktada çok önem arz ediyor.

Fiat Linea 1.3 Mjet Euro 4 serisinde yeri ve konumu bu şekilde , Body computer tüm fiatlarda aynıdır ancak Hangi soketinin kaçıncı pinini kullanacağınız marka modele göre değişebilir Elearn uygulamasından aracınıza uygun pini tespit edebilirsiniz.

diğer marka model araçlarda da mutlaka benzer sistem kullanılıyordur tespit edip kullanabilirsiniz.

Punto için ise, M001’daki D soketinin 38. pnini kullanabilirsiniz. Punto’daki tespiti için Sözer beye teşekkür ederim.

LDR’mizin dışına bu şekilde bir makaron geçirmemiz ve aynaya bakarak tamamen gökyüzüne baktırmamız önemli bir detay zira aksi halde önden arkadan gelen aracın farları sistemi etkileyecektir zaten birçok aracın orijinalinde de ya aynanın arkasında veya torpidonun en önünde cama yakın olarak durmaktadır

Ek olarak , Aracın kontağını açtıktan 5 saniye sonra devreye girecek şekilde ayarladım siz koddan bunu kaldırabilir veya azaltabilirsiniz, ben aracımı kontak açılır açılmaz çalıştırmıyorum bir süre bekliyorum özellikle kış aylarında ısıtma bujisi aracı ısıtırken farların yanmasını istemem.

Body Computerin M001 - A soketinin 2 nolu pini nerede ?

Arduino’muzun tetikleyeceği sinyal pinini bulmak, öncelikle aracınızın altındaki sigorta kapağını sökmelisiniz.

Akü Kutup başının şasi tarafını her ihtimale karşı çıkarın..!

Sonrasında Turuncu ile işaretlediğim soketleri yerinden çıkarın.

Daha sonra kırmızı ile işaretlediğim somunları yerinden çıkarın.

Body Computeri öne doğru çok çekmeyinarkasında da bu şekilde soketler var bizim işimiz sarı ile işaretlediğim A soketi ile , bunu elinizi arkadan dolandırarak yuvasından çıkarın.

Kullanmamız gereken pini turuncu ile işaretledim.

Yan kısmında siyah bir plastik kapak var elinizle aldıktan sonra, turuncu ile işaretlediğim yerde bir tırnak var o tırnağa basarak yeşil soketi yerinden çıkarın.

Pinimiz işte bu , soketi çıkarmak için uğraşmanıza gerek yok Kablo rengi Yeşil üzerine Siyah çizgi, dışarıdan bir jupmer da yapabilirsiniz

Ben soketin iletken kısmına sıkı bir şekilde kablomu sardım.

Ve bağlantımı makaron ile sağlamlaştırdım.

Sinyal kablomdan sonra,arduinoyu besleyeceğim enerji içinde , Cruise Control için kullandığım F51 sigortasından + , Alt kısımdaki vidadan da şasi bağlandılarımı aldım

LDR soketimi de soketine taktım

Güzel bir plastik kutu alana dek alt plastik kısıma cırt cırt ile sabitledim.

LDR sensörümü ise, aynanın ardındaki boşluğa gökyüzüne bakacak şekilde sabitledim.

Devre Kartının hazırlanması

Öncelikle Arduino Kodunu aşağıdaki butondan bilgisayarınıza indirin, ve Arduinonuza doğrudan yükleyin.

eğer Arduino nasıl kurulur bilmiyorsanız buradaki konuda nasıl kurulacağı ile ilgili bilgi vermiştim göz atabilirsiniz.

/////////////begin///////////////
////////Son Güncelleme Tarihi/////////////
////////////29.11.2020///////////////////
int Lamp1 = 5;
int Lamp2 = 6;
int ParkTimeOut = 30;
int KisaTimeOut = 30;
boolean Park = false;
boolean Kisa = false;
int ParkEsik = 400;
int KisaEsik = 170;

// gündüz ledi için pwm pini
int PWMpin = 11;
int PWMValue = 0;

void setup()
{
  pinMode(Lamp1, OUTPUT);
  pinMode(Lamp2, OUTPUT);
  pinMode(LED_BUILTIN, OUTPUT);
  Serial.begin(9600);
  for (PWMValue = 0; PWMValue <= 255; PWMValue++) {
    analogWrite(PWMpin, PWMValue);
    delay(13);
  }
}

void loop()
{
  FarInttaligence();
}

int sVal() {
  int sensorValue = analogRead(A5);
  for (int i = 0; i < 4; i++) {
    delay(50);
    sensorValue =  sensorValue + analogRead(A5);
  }
  return sensorValue / 5;
}


void FarInttaligence() {
  int sensorValue = sVal();
  Serial.print(sensorValue);

  if (ParkTimeOut < 0) ParkTimeOut = 0;
  if (KisaTimeOut < 0) KisaTimeOut = 0;


  if (sensorValue < ParkEsik) {
    if (ParkTimeOut != 0) {
      ParkTimeOut = ParkTimeOut - 6;
    }
  } else {
    if (ParkTimeOut != 30) {
      ParkTimeOut++;
    }
  }

  if (sensorValue < KisaEsik) {
    if (KisaTimeOut != 0) {
      KisaTimeOut = KisaTimeOut - 3;
    }
  } else {
    if (KisaTimeOut != 30) {
      KisaTimeOut++;
    }
  }


  if (ParkTimeOut == 0) {
    Park = true;
  }
  else if (ParkTimeOut == 30) {
    Park = false;
  }

  if (KisaTimeOut == 0) {
    Kisa = true;
  }
  else if (KisaTimeOut == 30) {
    Kisa = false;
  }

  PWMValue = 255;
  if (Park) {
    digitalWrite(Lamp1, HIGH);
    PWMValue = 200;
  } else {
    digitalWrite(Lamp1, LOW);
  }

  if (Kisa) {
    digitalWrite(Lamp2, HIGH);
    digitalWrite(LED_BUILTIN, HIGH);
    PWMValue = 150;
  } else {
    digitalWrite(Lamp2, LOW);
    digitalWrite(LED_BUILTIN, LOW);
  }

  analogWrite(PWMpin, PWMValue);
  Serial.print(" - ");
  Serial.print(ParkTimeOut);
  Serial.print(" <> ");
  Serial.println(KisaTimeOut);
}
/////////////end///////////////

Devre Şeması

Meraklsı için Fritzing:  https://yadi.sk/d/kRe0R1xu906Ong  

Gündüz Ledi uygulaması yapmak istemiyor iseniz, devredeki aşağıdaki elemanları Kullanmayabiliriniz.

  • 2.2k 
  • TIP122

Punto için dirençlerde bu şekilde değişiklik yapılmalı

Kodu yükledikten sonra, yukarıdaki gibi çok basit bir devre hazırlayıp, A soketinin 2. pininden çektiğimiz kabloyu, Arduinonun 5. ve 6. bacaklarını ve şasiyi ilgili yerlere bağlıyorsunuz.

LDR bağlantısı ise bu şekilde , toplamda bir kibrit kutusu büyüklüğünde bir devre olmuş oluyor.

Bir başka takipçimizden gelen devre örneği 🙂

Sorularınızı aşağıdan yorum olarak sorabilirsiniz.

Çalışma videosu aşağıdaki gibidir, ileride daha detaylı bir video çekip yükleyeceğim kanalıma abone olmayı unutmayın bu gibi güzel projelerden uzak kalmayın…

Kalın Sağlıcakla..

yhackup

Site Kurucusu & Yöneticisi Yazılım Geliştiricisi

5 2 votes
Bu yazıya oy ver
Subscribe
Bildir
62 Yorum
En Yeniler
Eskiler Beğenilenler
Inline Feedbacks
View all comments
Tevfik Ural
2 yıl önce

Yakup kardeşim Allah razı olsun gerçekten çok güzel ve faydalı bir çalışma ellerine bilgine sağlık

Sözer
2 yıl önce

Elinize sağlık Yakup bey cok faydalı bir çalışma ve anlatım olmuş. Ben bişey sirmak istiyorum. F51 sigortasındaki elektrik kontak kapandığında kesiliyor mu?

Sözer
2 yıl önce
Reply to  yhackup

Puntonun elearn şemasında belirtilen sinyal ünitesinde parklar ve kısalarda birer adet direnç görünüyor fakat ohmaj değerleri belirtilmemiş. Bunu body computer’a gelen kablodan multimetre ile ölçebilirmiyiz?

Sözer
2 yıl önce
Reply to  yhackup

Teşekkür ederim bilgiler için. Sonucu paylaşırım…

Sözer
2 yıl önce
Reply to  yhackup

Yakup bey ohmaj ölçümlerini yaptım. Böylece; parklar kapalıyken 890 ohm civarı(+-50), parklar açıkken 200 ohm, kısalar açıkken 10 ohmluk değer gösteriyor.Buna göre sizin devrede ne gibi değişiklik yapmam gerekir?

Sözer
2 yıl önce
Reply to  yhackup

Yakup bey ohmaj ölçümlerini yaptım. Böylece; parklar kapalıyken 890 ohm civarı(+-50), parklar açıkken 200 ohm, kısalar açıkken 10 ohmluk değer gösteriyor. Buna göre sizin devrede ne gibi bi değişiklik yapmam gerekiyor?

2 yıl önce

Emeğine sağlık. Yakup bey bana npn bc548 aldırdın bin dünya teypde kullanmak için elimde var bc547 yerine 548 kullansam farkedermi 😉

2 yıl önce
Reply to  yhackup

Ldr yi 5mm mi 10mm mi kullanalım ustam ?

Sözer
2 yıl önce

Bugun itibariyle tamamladim far sensörünü. Gayet guzel calisiyor. Sayende araca bi özellik daha kazandırmış oldum cok tesekkurler. Hakkını helal et.

0
Yanıtla
Sözer
2 yıl önce
Reply to  yhackup

Yağmur sensörünü de bekliyoruz en kısa zamanda👍👍👍

Gökhan
2 yıl önce

Selamün aleyküm Linea 2015 pop sis farı montajı için detaylı
Anlatım yaparmisiniz

fatih
2 yıl önce

Merhaba öncelikle vermiş olduğun bilgiler için allah razı olsun sorum olacaktı 1. bu sistemi nasıl devre dışı bırakırız 2.far kontrol koluna nasıl ekleriz bu sistemi orjinalindeki gibi 3. ekranda aktifleştirebilirmiyiz far sensörü diye multiecusan ile bahsettiğin gibi

Fatih
2 yıl önce
Reply to  yhackup

Eyvallah hocam kolu nasıl modifiye ederim sana zahmet bi anlatırmısın ilk soruyada böylelikle çözüm getirmiş olurum on off ordan yaparım tekrardan sağolasın.

fatih
2 yıl önce
Reply to  yhackup

herşey tam hazırladım sıra kodu yüklemeye geldi ama bi türlü kodu indiremedim ubuntuya üyede oldum ama inmiyor yardımcı olur musunuz

Fatih
2 yıl önce

Yukarıdaki kodu indiremiyorum fatiherkenci@hotmail.com iletebilirmisiniz

Fatih
2 yıl önce
Reply to  yhackup

Evet sıkıntı var indir butonuna bastığımda indirmiyor

2 yıl önce

Citroen c3 için yapmayı istiyorum ama sigorta kısmında far yerini nasıl bulabilirim. bir uygulamadan bahsetmişsiniz elearn diye detaylarını paylaşabilirmisniz.

yalcın
1 yıl önce

iyi günler yakup bey bu uygulamayı palio icin gercekleştirmek istiyorum fakat palio nun elearn nı bulamadım albea nın pdf şeklinde buldum ama hangi pin oldugunu nasıl anlayacagım yardımcı olurmusunuz.

Muhammed Alkan
1 yıl önce

Bu özellik 2015 model pop modellerde de gecerlimidir. Soket pinleri aynimidir. Yoksa sadece euro 4 motorlar için mi geçerlidir.
Şimdiden tesekkurler.

Linea12
1 yıl önce

Hocam merhabalar
Bu kodları aynı şekilde cc İçin kullandığımız arduinoyla da yapabilir miyiz acaba

1 yıl önce

ldr sensörünü arduinoya nasıl bağladın abi ? resimde göremedim

bedirhan
1 yıl önce

vectra b için multimetre ile nasıl bi yol izlemem gerekiyor far anahtarını açıp hangi kablodan sinyal geldiğinimi bulucam? sigortaya bağlasak ne olur ama bildiğim kadarıyla kısalar ve parkın sigortası ayrı.

bedirhan
1 yıl önce
Reply to  yhackup

hmm anladığım kadarıyla yaptığımız devre far kolu görevi görücek yani arduinoyu far kolunun kablosuna bağlayacağım aurdino sinyal göndericek ve farlar devreye giricek yarın bi bakıcam far kablolarına.Bulucağım kablonun eksi sinyal kablosu olması gerekiyor galiba bc547 kullandığımıza göre.

Bedirhan
1 yıl önce
Reply to  yhackup

Far kolundan giden kabloları ölçtüm park ve kısa ayrı kablo ve park kablosu 1.6A kısa far 2.6A mecbur role kullanmak lazım çünkü bu amper arduimo için çok yüksek 12 role bağlamak gerekir vectra B için

1 yıl önce

Yakup bey elinize sağlık sayenizde bende yapacağım malzemeyi sipariş verdim. Kafama takılan ldr yi aynanın öncama montaj olan kısma nasıl yaptınız burda kaldım

1 yıl önce
Reply to  yhackup

Arduino ya kodu kopyalarken begin yazan yerin başından end yazan yerin sonuna kadar kopyala yapıştır mı yapmalıyız?

1 yıl önce

Emeğinize sağlık . kodda 400 birimde park, 170 birimde kısalar demişsiniz tam olarak yeterli oluyor mu ? Mesela kısa 200 olsa çok mu erken yanmış olur

Mehmet
11 ay önce

S.a kardeş. Bende 2009 d2 kasa Doblo var, otomatik park ve far sensörü aldım internet den bağlantısını yaparken bi şekilde kısa devre yaptırdım galiba sinyal kolundan park ve gösterge lambaları yanmıyor.Ne yapmam gerekir bir fikriniz varmı acaba.F51 sigortaya da cereyan gelmiyor.

Mehmet
11 ay önce
Reply to  yhackup

F51 park sigortası sinyal kolundan çalışmıyor.Buradan resim atamıyom aldığım ürünü size göster cem de mail veya telefona watsap dan atsam olurmuş.telefonun:5327489172

Murat
10 ay önce

Slm hocam bc547 yerine röle kullansak ve ayrı ayrı park ve kısa far için çıkış alsak bir sıkıntı olurmu…

Murat
10 ay önce
Reply to  yhackup

Bizim araçlarda (hyundai accent) park ve kısa far için koldan ayrı ayrı çıkış var o yüzden bc547 yerine röle

Süeyman
4 ay önce

Hocam merhaba öncelikle paylaşımlarınız için teşekkür ederim.

(Sinyal Ünitesi H005’in 3 nolu pininden Body Computerin M001 – A soketinin 2 nolu pinine negatif sinyal gitmektedir.
Aracımızın parklarını açtığınızda bu üniteden, 2.Nolu pine 330ohmluk bir NEGATİF sinyali gitmektedir.
Kısaları açtığınızda ise 330ohmluk direnç ortadan tamamen kalkar, 2.nolu sokete doğrudan NEGATİF sinyal gider bizde arduino ile aynen bunu yapacağız.)

burada 330ohm negatif sinyal gittiğini soketten ölçerek mi buldunuz yoksa bu bilgilerin olduğu bir yer var mı?Benim yapmak istediğim şu:

Bende fiorino var anahtarın kilitleme butonuna basılı tuttuğumda camları kapatıyor ama ben aracı kilitlediğimde camları otomatik kapatsın istiyorum bu sizin sensör mantığında yapmak mümkün mü ?

isaermgn
19 gün önce

Merhaba kontak açıldıktan sonra sistemin devreye girme süresini nasıl uzatabilirim hangi kod satırını değiştirmem gerekiyor

isaermgn
8 gün önce
Reply to  yhackup

Hocam sağolun çok yardımcı oldu hallettim. Şimdi şunu merak ediyorum kumandadan otomatik far sensörü konumunu açabiliyorduk öyle bi konu açmıştımız diye hatırlıyorum ama sitede bulamadım link atar mısınız?

62
0
Would love your thoughts, please comment.x
()
x