Ford Connect Direksiyon Tuşları ile Aux Modülü Kontrolü
Merhaba arkadaşlar,
Hatırlarsanız daha önceki yazımızda Ford Connect araçlarımıza aux modülü montajı ile ilgili bir makale paylaşmıştık bu makalemize Ford Connect Araçlara Aux Montajı Nasıl Yapılır ? bağlantısına tıklayarak ulaşabilirsiniz.
Ford Connect aracımıza sonradan bağlamış olduğumuz aux modüllerinin üstündeki küçük butonlar vasıtası ile seyir halinde şarkı değiştirmek zor ve bir o kadar tehlikeli olmaktadır.
Bu kapsamda sonradan ilave ettiğimiz aux, usb, sdcard, bluetooth modülündeki şarkıları sorunsuz ve rahat bir şekilde değiştirebilmek adına direksiyon media (şarkı değiştirme) tuşlarını aux modülümüz ile ilişkilendirdik.
Aux modülü ile ilişkilendirmiş olduğumuz diresiyon media tuşları artık sorunsuz bir şekilde şarkıları değiştirebiliyor. Aux modülünüz bluetooth modunda telefon veya tablete bağlı ve ekranda youtube vs açık ise bir önceki veya bir sonraki şarkıya geçiş sağlamaktadır.
Teybimizin arkasındaki elektrik bağlantı soketinden orjinal direksiyon media kontrol tuşlarımıza IN ve OUT (Giriş ve Çıkış) şeklinde 2 adet haberleşme kablosu gelmekte olup media kontrol tuşları her biri farklı direnç değerine sahiptir.
Bu tuş değerleri ilgili tuşa bastığımızda tek bir kablo (OUT) vasıtası ile teyp beynine iletilmektedir. Teybimiz basılmış olan tuşa ait direnç değerine göre istenilen işlemi yapmaktadır.
Teyp arkasındaki direksiyon kontrol haberleşme kablolarını üstteki görselde rahatlıkla görebilirsiniz. Bizim işimiz Out yani çıkış kablosu olup tuş değerini teybe aktaran Beyaz üzerine siyah ince çizgili kablo ile olacaktır.
Bu kablodan gelen gerilim değerlerini gerilim bölücü yöntemi ile arduino analog girişi vasıtası ile okuyup gelen tuş değerine göre aux modulümüzün üzerindeki next ve prev yani ileri ve geri butonlarını npn veya pnp transistör vasıtası ile tatikleyeceğiz.
Bu işlem için elimizde 1 adet Arduino Nano Clone ve analog değeri arduinomuz vasıtası ile okumak için 2 adet 1Kohm (1K) direnç olması yeterlidir.
Arduino Direksiyon Kontrol Modülü Bağlantı Şeması
Piyasada çok çeşit aux modülü olduğunu daha önceki yazılarımızdada belirtmiştik bunların kimisi buton tetiklerinde Gnd yani şase kullanırken kimisi ise +3.5v gibi değer kullanmaktadır. Modülünüzün next ve prev tuşlarının +3.5v mu yada Gnd Şase tetiklimi olduğunu anlamanız için ölçü aleti avometrenizin dc voltaj ölçme ve kısa devre modunu kullanabilirsiniz.
Aux modülünüzün next ve prev buton tetikleri gnd şase tetiklemeli ise her bir buton için 1 adet 1k direnç ve 1 adet bc548 npn anahtarlama transistörü devreye eklemeniz gerekmektetir. Örnek devreyi alttaki görselden inceleyebilirsiniz.
BC548 npn transistör çalışma mantığına değinecek olursak transistörün base (2) ucuna 1kohm direnç ile uygulanan küçük gerilim ile emiter (3) ucunda bekleyen Gnd (şase) collectör (1) numaralı uca akarak emiter ve collectör uçları arasında anahtarlama görevi yapmış olur.
BC548 npn transistör pin sıralaması transistörün düz tarafı size baktığında en sağ (3) numaralı giriş emiter yani GND IN, orta uç (2) base + tetik ucu ve en soldaki (1) numaralı çıkış pin collector yani GND OUT olarak sıralandırılır.
Aux modülünüzün buton tetiklerini ölçümleriniz neticesinde +3.5v tetik olarak tespit ettiyseniz eğer bc548 npn transistör kullanmanıza gerek kalmamaktadır. Aşağıdaki bağlantı şeması sizin için geçerli olup arduino modülün 3 ve 5 nolu digital pin çıkışlarından almış oluğunuz kabloları aux modülünüzün next ve prev veya vol+, vol- butonlarının out tarafına lehimleyebilirsiniz. Bu iki buton kısa basmada şarkı değiştirme uzun basmada ise ses kısıp açmaya yaramaktadır.
Üstteki örnek bağlantı şemasındada görüldüğü gibi butonların kırmızı ok ile gösterilen taraflarında +3.5v mevcuttur siz butona bastığınızda sol tarafta bekleyen bu voltaj turuncu ok ile gösterilen bacağa akmakta ve modül beynine iletilmektedir. Modül beyni gelen komut ve süresine göre ses açma veya şarkı değiştirme işlemi yapmaktadır.
Connect Aux Kontrol Modülü Arduino Kodları
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
////////////////////////////////// ////////////////////////////////// // Connect AUX Direksiyon Control int Next = 3; // Bt & Aux modül şarkı ileri pini. Uzun basmada ses+ int Prev = 5; // Bt & Aux modül şarkı geri pini Uzun basmada ses-. void setup() { Serial.begin(9600); pinMode(Next, OUTPUT); // 3 Pwm pinMode(Prev, OUTPUT); // 5 Pwm } byte GetButton(int x) { if (x > 600 && x < 650) // Next return 1; else if (x > 651 && x < 730) // Prev return 2; else return 0; } void loop() { int BT = GetButton(analogRead(A1)); delay(10); // Serial.println(analogRead(A1)); if (BT == 1) { analogWrite(Next, 250); Serial.println("Next"); delay(50); } else if (BT == 2) { analogWrite(Prev, 250); Serial.println("Prev"); delay(50); } else { analogWrite(Next, 0); analogWrite(Prev, 0); } } ////////////////////////////////// ////////////////////////////////// |
Bu işlem için Arduino uno, pro, pro mini, mega, veya nano herhangi birini kullanabilirsiniz hepsi aynıdır.
Yukarıda paylaşmış olduğumuz arduino kodlarını Bilgisayar için Arduino IDE, Android için ArduinoDroid programı ile kartınıza yükleyebilirsiniz.
Merhaba bendeki aux modülünde ileri tuşu basılı değilken voltaj 3 v seviyesinde tuşa basınca sıfıra iniyor voltaj bu durumda buton bahsettiğiniz +3.5 v tetiği mi yoksa gnd tetiği mi
Tabikide gnd tetiklidir o durumda transistör olarak NPN kullanmalısınız.
Merhaba tam aradigimi buldum bu sistemi sonradan taktiğim radioya uygulamak istiyor radyoda swc ve swc gnd mevcut ama teyp clio 5 teybi olduğundan direnç degerleri farkli bunu nasil kumanda edebilirim tavsiyenin varmı teşekkürler.
Kodda belirtilen satırın başındaki // işaretini kaldırarak Serial monitörüne veriyi yazdırabilirsiniz.
Bu sayede tuşlara bastığınızda, tuştan gelen byte değerini Serial monitörde görebilirsiniz.
// Serial.println(analogRead(A1)); satırındaki // işaretlerini kaldırın.
Tuştan gelen byte değerlerine göre aşağıdaki next ve prev sınır değerlerini değiştirmelisiniz.
byte GetButton(int x)
{
if (x > 600 && x < 650) // Next return 1; else if (x > 651 && x < 730) // Prev return 2; else return 0; }
Teşekkürler hocam🙋