Arduino ile Navigasyon Işık Uygulaması
Omer Erkan' Alıntı:
Zafer bey, navigasyon ışıklarına dönersek, daha önce burada örneklerini verdiğiniz Arduino kartlarından hangisini almalıyım? Ben de bir Banggood siparişi ile başlasam iyi olacak!...(Veya yurtiçi) (biraz armut piş gibi olacak ama, geçmiş konuları bir kaç kez okudum, okudukça kafam biraz daha karıştı!)
Ömer bey, kart bu :
Bu LİNKİ görmek için izniniz yok. Giriş yap veya üye ol
Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol
10 ledli örnek devre bu :
Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol
10 led için örnek kod da bu :
Kod:
/* 10 LED Lights Project
by Zafer SAHIN
License of this example code is TEA-WARE.
modified 09/01/2015
by Zafer SAHIN
Version 0.11
*/
#include "Timer.h"
int LED[] = {2, 3, 4, 5, 6, 7, 8, 9, 10, 11}; // 10 Led pins
int PERIOD[] = {1000, 2000, 1200, 3330, 100, 150, 20, 550, 9000, 400}; // Blinking period for the leds as milliseconds
int ledEvent[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; // ID No of leds
int rxPin = 12; // Receiver pin
boolean ledState = false ; // Variable to hold left led state
unsigned long rxPWMduration; // Variable for reading receiver
int iCnt = 0;
Timer t; // Instantiate the timer object
void setup() {
for(iCnt = 0; iCnt < 10; iCnt++){
pinMode(LED[iCnt], OUTPUT);
}
}
void loop() {
t.update();
rxPWMduration = pulseIn(rxPin, HIGH);
if (rxPWMduration > 1500) {
if (ledState == false) {
for(iCnt = 0; iCnt < 10; iCnt++) {
ledEvent[iCnt] = t.oscillate(LED[iCnt], PERIOD[iCnt], HIGH);
}
ledState = true;
}
} else {
if (ledState == true) {
for(iCnt = 0; iCnt < 10; iCnt++) {
t.stop(ledEvent[iCnt]);
}
ledState = false;
}
}
}
İlk mesajda da açıklamaya çalışmıştım aslında ama, Arduino'nun herhangi bir kartını kullanabilirsiniz. Test yada da geliştirme kartları, üzerinde daha rahat çalışabilmek için büyük boyutlular. Ama ufak kartlar ile özellikleri nerede ise aynı. Yukarıda önerdiğim kartın ise üzerinde, ufak boyuna rağmen USB portu var. Yani yeni kod yüklemek için sadece USB kablosu gerekiyor

.
--------------------------------------------------------------------------------------
Arduino alıp biraz üzerinde çalışılırsa, çok basit bir şekilde çok daha karmaşık devreler rahatlıkla gerçekleştirilebilir. Servo kullanmak her ne kadar pratik bir çözüm olsa da, Banggood'da alıncak 3 - 4 dolarlık bir arduino, 10 kanallı bir ışıklandırma sistemi için rahatlıkla bir kontrol kartı olarak kullanılabilir. Aşağıda Taranis ve Arduino ile 15 dakikada yapılabilen basit bir radyo kontrollü led flaşör devresi gözüküyor. Kodu yazmak da bu süreye dahil. Bu mesajı yazmak ise çok daha uzun sürdü.
Bu VIDEOYU görmek için izniniz yok. Giriş yap veya üye ol
Devre ise bu kadar basit. Toplamda 13 tane (bir tane kumanda sinyali girişi için, 2 tane USB için kullanıldığından aslında 10 tane) kullanılabilir pini var. Çıkışlarda direnç yerine bir önceki mesajımda belirttiğim akım ve güç kaynakları kullanılırsa, bu devre rahatlıkla Power ledler için de kullanılabilir.
Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol
Kod da bu. Timer kullanılarak çok karışık ışık desenleri yapılabilir ama bu kadar kısa sürede yazılan kod bu kadar oluyor

.
int sensePin = 5;
int ledPin = 4;
unsigned long duration;
void setup() {
pinMode(sensePin, INPUT);
pinMode(ledPin, OUTPUT);
}
void loop() {
duration = pulseIn(sensePin, HIGH);
if (duration > 1600) {
patternLed(200);
} else if (duration > 1400) {
patternLed(80);
} else {
patternLed(30);
}
}
void patternLed(int LedDelay) {
digitalWrite(ledPin, HIGH);
delay(LedDelay);
digitalWrite(ledPin, LOW);
delay(LedDelay);
}
Arduino olarak
Bu LİNKİ görmek için izniniz yok. Giriş yap veya üye ol
kullandım. Pro Mini'lerden biraz daha büyük olsa bile V8FR II alıcıdan daha ufak ve harici bir TTL USB dönüştürücüye ihtiyaç duymadığı için çok pratik.
Bu LİNKİ görmek için izniniz yok. Giriş yap veya üye ol
Bu RESMİ görmek için izniniz yok. Giriş yap veya üye ol
Son bir not olarak, APM, Multiwii, Naze32 gibi uçuş kontrol kartlarının temelinde Arduino olduğu için, işin elektronik ısmı ile ilgileniliyorsa Arduino öğrenmek, kendin yap tarzı projelerde çok fayda sağlayacaktır. Yukarıda da görüldüğü üzere tasarımı da aslında son derece kolaylaştıracaktır.