ı tekrar kurduktan sonra yeniden denmekte fayda var.
fcicek@fcicek-home:~$ cordova create MyApp
? May Cordova anonymously report usage statistics to improve the tool over time? Yes
Thanks for opting into telemetry to help us improve cordova.
Creating a new cordova project
sunucuya yeni php sürümünü yükledikten sonra bazı sitelerin çalışmadığı şikayetleri geldi. sunucu üzerinde birden fazla php sürümü yüklü ve siz bunlardan bir tanesi özellikle kullanmak istiyorsanız .htaccess dosyası içerisine aşağıdaki satırı ilave ederek kullanabilirsiniz. ( bu örnekte php için php5.6 versiyonu kullanılmak istenmektedir )
ultrasonik alıcı vericiler mesafe ölçme, cisim algılama vb bir çok alanda günlük hayatımızın içinde yer almaktadır. tüm bu uygulamalar sesin farklı ortamlarda yayılma hızının farklı olması, yansıma ve doppler kanunlarının kullanılması ile mümkün olmaktadır.
sesin yayılma hızı ortam yoğunluğuna, sıcaklığa vb kriterere bağlı değişmektedir. 0 derecede 1 atmosferde sesin havada yaklaşık olarak 340 m/s ile hızla ilerlediğini kabul edebiliriz. (kritik bir uygulama yapılmıyorsa)
konu hakkında bilgi alınmak istenirse https://www.grc.nasa.gov/www/k-12/airplane/sound.html adresinden yararlanılabilir.
piyasdaki en uygun fiyatlı ultrasonic sensor HC-SR04. bu nedenden dolayı çokca örnek uygulama bulabilirsiniz. ürüne ait temel bilgiler ve zamanla diagrami aşağıda yer almaktadır.
Çalışma Voltajı
DC 5V
Çektiği Akım
15 mA
Çalışma Frekansı
40 Hz
Maksimum Görme Menzili
4m
Minimum Görme Menzili
2cm
Görme Açısı
15 °
Tetik Bacağı Giriş Sinyali
10 us TTL Darbesi
Echo Çıkış Sinyali
Giriş TTL sinyali ve Mesafe Oranı
Boyutları
45mm x 20mm x 15mm
bu bilgilere göre echo portundan okuduğumuz değeri 58 e bölersek cismin uzaklığını cm cinsinden yaklaşık olarak elde etmiş oluruz.
HC-SR04 ün arduino ile fiziksel bağlantılarını aşagıdaki şekilde yapabiliriz. kullanacağınız pingleri kendi uygulamanıza göre uyarlayabilirsiniz.
devreye ait kod ise
/*
HC-SR04 ornegi
* Arduino | HC-SR04
* -------------------
* 5V | VCC
* 10 | Trig
* 9 | Echo
* GND | GND
*/
//hc-sr04 sensorune ait kullanicak trigger ve echo portlari
const int trig_pin = 10;
int echo_pin = 9;
//uygulamada kullanilacak guvenli mesafe
int guvenlik_mesafesi = 10;
//uygulamada gunveli mesafe bilgisini ledle takip edebilmek icin
//kullanilacak pinler
int led_mesafe_guvenli = 3,
led_mesafe_guvensiz = 2;
void setup() {
//uygulada kullanilacak pinlerin durumunu ayarlayalim
Serial.begin(9600);
pinMode(trig_pin, OUTPUT);
pinMode(echo_pin, INPUT);
pinMode(led_mesafe_guvenli, OUTPUT);
pinMode(led_mesafe_guvensiz, OUTPUT);
}
void loop()
{
//sesin_suresi milisaniye cinsinden bir veridir.
//bu veri santimetreye cevrilmektedir.
long sesin_suresi, mesafe_cm;
//olcum oncesi trigger low yapilarak sinyal gonderilmesi engellenir
//10 ms sinyal gonderildikten sonra
//bunun amaci olasi hata olcumlerini minimize etmektedir
digitalWrite(trig_pin, LOW);
delayMicroseconds(2);
digitalWrite(trig_pin, HIGH);
delayMicroseconds(10);
digitalWrite(trig_pin, LOW);
//
pinMode(echo_pin, INPUT);
sesin_suresi = pulseIn(echo_pin, HIGH);
// olculen sureyi cm olarka mesafeye cevirme
mesafe_cm = sesin_suresi / 29 / 2 ;
//modulun olcum sinirlari disinda ise seri porttan menzil disi mesajinin
//olcum sinilari icinde ise mesafe bilgisinin seria porttan gonderilmesi
if (mesafe_cm > 200 || mesafe_cm < 2){
Serial.println("Menzil Disi");
}
else {
Serial.print(mesafe_cm);
Serial.print(" cm");
Serial.println();
}
//olculen mesafenin guvenli mesafe icinde olup olmaginin testi
//olculen mesafeye ledlerinin durumunun degistirilmesi
if (mesafe_cm > guvenlik_mesafesi)
{
digitalWrite(led_mesafe_guvenli, HIGH);
digitalWrite(led_mesafe_guvensiz, LOW);
}
else
{
digitalWrite(led_mesafe_guvensiz, HIGH);
digitalWrite(led_mesafe_guvenli, LOW);
}
delay(100);
}
arduino konusunda en temel uygulamalardandır led flash uygulaması yapmak. konuya meraklı kişiler ilk ledli uygulamasını yaptıktan sonra daha elle tutulur şeyler yapmak isterler. bu noktada bir zaman yapmış olduğum bir uygulamayı bende yazı haline getireyim.
uygulamada uno r3 kullandım. uno nun 3, 5, 6, 9, 10, 11 pinleri çıkış olarak kullanılmaktadır. ledleri bu pinlere bağlamadan önce 200 ohm civarı bir direnç kullanmayı unutmayın. devrenin şeması aşağıdaki gibidir.
devrenin kodu ise
int led_sayisi = 6;
int led_pin[6] = {3, 5, 6, 9, 10, 11};
void setup() {
Serial.begin(9600);
//belirledigimiz tum pinleri cikis yapalim
for (int i = 0; i < led_sayisi; i++) {
pinMode(led_pin[i], OUTPUT);
}
}
void loop() {
animasyon_1();
}
void animasyon_1() {
//tüm ledleri sonuk olarak belirleyelim
int led_durum[6] = {0, 0, 0, 0, 0, 0 };
for (int j = 0; j < 2; j++) {
//tum ledlerin konumunu sırasyla degistirelim
//ilk dongude led sonuk durumdaysa yanacak
//dongu tekrar edersen yanik durumdaysa sonecek
for (int i = 0; i < led_sayisi; i++) {
led_durum[i] = ~led_durum[i];
digitalWrite(led_pin[i], led_durum[i]);
delay(150);
}
}
}
devreyi kurup uygularsanız aşagıda yer alan videodaki gibi sonuç göreceksiniz.