[DIY]: Arduino ile Navigasyon Işık Uygulaması

Arduino ile Navigasyon Işık Uygulaması

Benim videodan gördüğüm kadarı ile sıkıntılı bir durum yok. Durum şöyle:

1 - Bu kod, son derece basit bir flaş devresi. 1. pozisyonda 200 milisaniyede bir yanıp sönüyor. 2. pozisyonda 80, 3.pozisyonda ise 30 milisaniyede bir yanıp sönüyor. Alıcı takilı iken hızlı ve sabit bir şekilde yanıp sönmesi, bu kodda yazılmış, tamamen normal durum.

2 - Eğer alıcı takılı değilse;
void loop() {
duration = pulseIn(sensePin, HIGH);
if (duration > 1600) {
patternLed(200);
} else if (duration > 1400) {
patternLed(80);
} else {
patternLed(30);
}
}


pulseIn komutu TIMEOUT alana kadar yani 1 saniye botunca loop'u bekletir. Ve de daha sonra timout nedeni ile "0" değerini alan "duration", 30 milisaniye boyunca ledi yakar ve döngü baştan başlar.
1000milisaniye bekle -> 30 milisaniye yan -> 1000milisaniye bekle -> 30 milisaniye yan -> ...
Yani aslında kod, sadece USB'den takılı iken yanlış çalışıyor :D.

Düzenleme : Türkçe'ye "dömgü" diye bir kelime kazandırdığımı farkettim. "dömgü" nedir yahu. "döngü" işte :).
 
Arduino ile Navigasyon Işık Uygulaması

Sümer Yamaner' Alıntı:
Alıcıdan gelen beslemeyi Vin yerine 5V ucuna bağlayıp dener misiniz.

Denedim, bir şey değişmedi. Böylece her ikisinin de aynı işi yaptığına kanaat getirdim!

Zafer SAHIN' Alıntı:
Benim videodan gördüğüm kadarı ile sıkıntılı bir durum yok. Durum şöyle:

1 - Bu kod, son derece basit bir flaş devresi. 1. pozisyonda 200 milisaniyede bir yanıp sönüyor. 2. pozisyonda 80, 3.pozisyonda ise 30 milisaniyede bir yanıp sönüyor. Alıcı takilı iken hızlı ve sabit bir şekilde yanıp sönmesi, bu kodda yazılmış, tamamen normal durum.

2 - Eğer alıcı takılı değilse;
void loop() {
duration = pulseIn(sensePin, HIGH);
if (duration > 1600) {
patternLed(200);
} else if (duration > 1400) {
patternLed(80);
} else {
patternLed(30);
}
}


pulseIn komutu TIMEOUT alana kadar yani 1 saniye botunca loop'u bekletir. Ve de daha sonra timout nedeni ile "0" değerini alan "duration", 30 milisaniye boyunca ledi yakar ve döngü baştan başlar.
1000milisaniye bekle -> 30 milisaniye yan -> 1000milisaniye bekle -> 30 milisaniye yan -> ...
Yani aslında kod, sadece USB'den takılı iken yanlış çalışıyor :D.

Düzenleme : Türkçe'ye "dömgü" diye bir kelime kazandırdığımı farkettim. "dömgü" nedir yahu. "döngü" işte :).

Zafer bey, cevabını tekrar tekrar okuyup anlamaya çalışarak, "yanlış olanı", yani alıcı takılı olmadanki çakmayı yapmaya çalıştım. :-\ Sonuç olarak, aşağıdaki değişiklikle radyodan açıp kapatmayı becerdim. Lakin, 30 milisaniye yanma süresi tamam da, işte o alttaki 1000milisaniye bekle süresini tutturamadım! Ooof, of! Sıkıntı bende... :'(

void loop() {
duration = pulseIn(sensePin, HIGH);
if (duration > 1600) {
patternLed(30);
} else {
patternLed(0);
}
}
 
Arduino ile Navigasyon Işık Uygulaması

Ömer bey merhabalar, şu kodu kullanın, koddaki en önemli değişiklik, "patternLed" fonksiyonuna hem yanık kalma hem de sönük kalma sürelerini ayrı ayrı verebiliyoruz. Süreler milisaniye cinsinden.

int sensePin = 5; // Alıcı kanalına takılacak Arduino ucu
int ledPin = 4; // LED bağlanacak Arduino ucu
unsigned long duration; // Alıcıdan okunacak sinyali depolamak için kullanılan değişken.

void setup() {
pinMode(sensePin, INPUT);
pinMode(ledPin, OUTPUT);
}

void loop() {
/* pulseIn komutunun TIMEOUT değerini, manuel olarak 100000 mikrosaniye yani 0.1 saniye giriyoruz. Yani alıcı takılı değilse, kod sadece 0.1 saniye bekletilecek.*/
duration = pulseIn(sensePin, HIGH, 100000);
/* Üç pozisyonlu anahtar kullandığımızı varsayıyorum. Anahtarın en yukarı konumu için kumanda tarafından gönderilen PWM sinyali 1500 milisaniyeden büyük olacak. Büyük ihtimalle 2000 milisaniye olacak. Dolayısı ile ">1600" gibi bir ifade, Arduinonun bu pozisyonu algılamasına yetecek.*/
if (duration > 1600) {
/* patternLed fonksiyonuna 200 ve 1000 değerlerini gönderiyoruz. Yani 3 pozisyonlu anahtar en yukarıda iken, LED 200 milisaniye yanık, 1000 milisaniye sönük kalacak.*/
patternLed(200,1000);
/* Üç pozisyonlu anahtarın orta konumu için kumanda tarafından gönderilen PWM sinyali 1500 milisaniyeye eşit olacak. Dolayısı ile ">1400" gibi bir ifade Arduinonun bu pozisyonu algılamasına yetecek.*/
} else if (duration > 1400) {
/* patternLed fonksiyonuna 80 ve 400 değerlerini gönderiyoruz. Yani 3 pozisyonlu anahtar ortada iken, LED 80 milisaniye yanık, 400 milisaniye sönük kalacak.*/
patternLed(80,400);
/* Üç pozisyonlu anahtarın alt konumunda, büyük ihtimalle 1000 milisaniye civarı bir PWM sinyali gönderiliyor olacak. Dolayısı ile ">700" gibi bir ifade Arduinonun bu pozisyonu algılamasına yetecek.*/
} else if (duration > 700){
/* patternLed fonksiyonuna 30 ve 800 değerlerini gönderiyoruz. Yani 3 pozisyonlu anahtar en altta iken, LED 30 milisaniye yanık, 800 milisaniye sönük kalacak.*/
patternLed(30,800);
/* Geriye kalan tek ihtimal, alıcı pininin takılmamış olması. Led daima yanık kalacak.*/
} else {
digitalWrite(ledPin, HIGH);
/* Bu pozisyonda sadece 100 milisaniye bekliyoruz ki, döngü bu noktada takılıp kalmasın. Çünkü alcı sinyali algılandığında, döngünün burada takılmasını istemeyiz.*/
delay(100);
}
}

/* patternLed fonksiyonu ile LED'in yanık ve sönük kalma zamanlarını ayrı ayrı belirliyoruz. İsimlerinden anlaşılacağı üzere ledONtime, LED'in yanık kaldığı süre, ledOFFtime ise LED'in sönük kaldığı süre.*/
void patternLed(int ledONtime, int ledOFFtime) {
/* LED pinine HIGH sinyali vererek LED'i yak.*/
digitalWrite(ledPin, HIGH);
/* LED yanıyor durumda iken ledONtime kadar bekle.*/
delay(ledONtime);
/* LED pinine LOW sinyali vererek LED'i söndür.*/
digitalWrite(ledPin, LOW);
/* LED sönük durumda iken ledOFFtime kadar bekle.*/
delay(ledOFFtime);
}
 
Arduino ile Navigasyon Işık Uygulaması

Zafer bey süper! Yalnızca kod değil, her adımda yanında ne yaptığına dair açıklamalar, ders gibi! :halay: O zaman bu akşam derse devam... :)
 
Arduino ile Navigasyon Işık Uygulaması

Omer Erkan' Alıntı:
Zafer bey süper! Yalnızca kod değil, her adımda yanında ne yaptığına dair açıklamalar, ders gibi! :halay: O zaman bu akşam derse devam... :)
Abi harikasin :thumbup: :bravo: bir ara cay icmeye geldigimiz bize de ozet gecersin artik :)
 
Arduino ile Navigasyon Işık Uygulaması

Mehmet Kucuksari' Alıntı:
Abi harikasin :thumbup: :bravo: bir ara cay icmeye geldigimiz bize de ozet gecersin artik :)

Hah, işte o zaman aldığımı size satıcam! Görün bendeki havayı! :) Çayları size yaptırıcam...
 
Arduino ile Navigasyon Işık Uygulaması

Emre Kaman' Alıntı:
Banggood benim çok karışık (!) arduino siparişlerimi bir türlü tam olarak gönderemedi :D siparişleri üçe beşe bölüp, sonra onu ona bunu buna karıştırdıkları gibi, bir de aradan eksik de gönderdiler. Sonra korkarım eksik olan ürün yerine tamamen başka bişey gönderecekler... Arada Rasim'e de aldık bi set, onu da eksik göndermişler. En son mailde B12 vitamini ve naneli şeker tavsiye ettim unutkanlığa karşı ve zihin açar diye. Yine yanlış gönderirlerse okunmuş pirinç, okunmuş su ve bir de 2b kalem ve kalemtraş göndercem kendilerine :lollol:

Naneli şeker tamam, okunmuş pirinci kayınvalideden istedim, öğleden sonra göndericem Banggood'a :D yeni yıl tatillerini yaptılar, sağlam kafayla işe başladılar, geldiğimiz noktadan daha geriye düştük. Bugün bir kızcağız mail atmış, demiş ki biz sizin ardu'nuzu göndermişiz şu şu barkodla.. Cevaben bak güzel kardeşim dedim, o başka bir sipariş, Allahtan onu doğru göndermişsiniz. Bakınız geçen ay 4 tane ardu sipariş etmişim, siz 3 tane göndermişsiniz, çok mu zor, dedim. :D Bastım dispute'u paypal'dan 3 dolarlık.

Bu arada helidirect'de bana naneli şeker göndermiş, ne ima ediyor bunlar? Gözünü aç kırma mı diyorlar, geçmiş olsun mu? :lollol: :lollol:

Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol
 
Arduino ile Navigasyon Işık Uygulaması

Emre Kaman' Alıntı:
...Bu arada helidirect'de bana naneli şeker göndermiş, ne ima ediyor bunlar? Gözünü aç kırma mı diyorlar, geçmiş olsun mu? :lollol: :lollol:
O şekerden geçenlerde bize de geldi ama ben yemeden attım :laugh: :D Nolur nolmaz, gavur şekeri nede olsa :lollol: :lol:
 
Arduino ile Navigasyon Işık Uygulaması

Kullanıma hazır ilk uygulamamı tamamladım. NavLigth v1.10 (v1.00 salak bi hataya kurban gitti, direk 1.10'dan başlıyorum :D ) ışık+veri loglayıcı+kayıp model alarmı projemin ilk ayağı, navigasyon ışığı. İnsan gözünün en iyi görebildiği renk yeşildir dediler, ben de yeşil 3w'lık power led kullandım. Ledin beslemesi bir regülatörden yapılıyor, lede 2,75v veriyor, videoda ardunun altında kaldığı için görünmüyor. Ardu ise regülatöre sinyal veriyor. Işık uygulaması olarak bana bu kadarı yeterli olduğu için tek ışıklı, istenirse artırılabilir, kombinasyonlar yaptırılabilir. Devre 5-12v arasında çalışıyor, alıcıya, üniteye yada direkt 2s lipoya bağlanabilir. Bir sonraki adımda kayıp model alarmı eklemeyi ve sonra da uçuş sırasındaki voltajı loglamayı düşünüyorum. Ek modüllerle yükseklik, hız, konum vs verisi de toplanabilir. Benim için gerekli değil. E.K-Tech gururla sunar, karşınızda NavLight v1.10 :lollol:

Bu VIDEOYU görmek için izniniz yok. Giriş yap veya üye ol
 
Arduino ile Navigasyon Işık Uygulaması

Emre Kaman' Alıntı:
Kullanıma hazır ilk uygulamamı tamamladım. NavLigth v1.10 (v1.00 salak bi hataya kurban gitti, direk 1.10'dan başlıyorum :D ) ışık+veri loglayıcı+kayıp model alarmı projemin ilk ayağı, navigasyon ışığı. İnsan gözünün en iyi görebildiği renk yeşildir dediler, ben de yeşil 3w'lık power led kullandım. Ledin beslemesi bir regülatörden yapılıyor, lede 2,75v veriyor, videoda ardunun altında kaldığı için görünmüyor. Ardu ise regülatöre sinyal veriyor. Işık uygulaması olarak bana bu kadarı yeterli olduğu için tek ışıklı, istenirse artırılabilir, kombinasyonlar yaptırılabilir. Devre 5-12v arasında çalışıyor, alıcıya, üniteye yada direkt 2s lipoya bağlanabilir. Bir sonraki adımda kayıp model alarmı eklemeyi ve sonra da uçuş sırasındaki voltajı loglamayı düşünüyorum. Ek modüllerle yükseklik, hız, konum vs verisi de toplanabilir. Benim için gerekli değil. E.K-Tech gururla sunar, karşınızda NavLight v1.10 :lollol:

Yukarıdaki kodun ilk satırında hata var :coolxf: (hep bu cümleyi kurmak istemiştim :laugh: :laugh: :laugh: )
 
Arduino ile Navigasyon Işık Uygulaması

Dur dur ben anlamadım. LED başına bir Arduino plaketi mi kullandın yoksa ben yanlış mı görüyorum??? :D
 
Arduino ile Navigasyon Işık Uygulaması

Farklı modeller için hepsi ;)
 
Arduino ile Navigasyon Işık Uygulaması

Sümer Yamaner' Alıntı:
Dur dur ben anlamadım. LED başına bir Arduino plaketi mi kullandın yoksa ben yanlış mı görüyorum??? :D

Sırf o yüzden 10 dakikadır şu resmi arıyordum :laugh: .
Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol