Yazılardaki ürünleri komponentci.net'te inceleyebilir, hemen sipariş verebilirsiniz.komponentci.net →
KomponentciBlog Mağaza
Blog  ›  Projeler

Akıllı Baston Projesi: HC-SR04 ve Titreşim Motoru

Akıllı Baston Projesi: HC-SR04 ve Titreşim Motoru
Kısa cevap

Akıllı baston projesi, bastona takılan HC-SR04 ultrasonik sensörle öndeki engelin mesafesini ölçer ve engel yaklaştıkça titreşim motorunu daha sık çalıştırır. 60 cm'den yakın engellerde buzzer da öter. Arduino Nano, 9V pil ve sürgülü anahtarla devre bastonun üzerinde taşınabilir hâle gelir.

Görme engelli bireyler yürürken önlerindeki engeli beyaz bastonla yoklayarak bulur. Bu projede bastona bir mesafe sensörü ekleyerek engeli değmeden, yaklaşık bir metre önceden haber veren bir uyarı sistemi kuruyoruz. Uyarı hem titreşimle hem sesle verilir. Proje ortaokul ve lise ödevleri, TÜBİTAK 4006 bilim fuarları ve meslek lisesi atölye çalışmaları için uygundur.

Akıllı baston nedir?

Akıllı baston, öndeki engelin uzaklığını bir sensörle ölçen ve kullanıcıyı titreşim ya da sesle uyaran elektronik destekli bir yürüme bastonudur. Sistemin üç parçası vardır: mesafeyi ölçen HC-SR04 ultrasonik sensör, karar veren Arduino Nano ve uyarıyı veren titreşim motoru ile buzzer.

Titreşim, kalabalık ve gürültülü ortamda sesten daha kolay fark edilir; ses ise çevredekilerin de uyarıyı duymasını sağlar. Bu yüzden projede ikisi birlikte kullanılır. Önemli bir not: bu bir eğitim projesidir. Gerçek kullanımda beyaz bastonun ve eğitimli kullanımın yerini tutmaz.

Hangi malzemeler gerekir?

Akıllı baston için Arduino Nano, HC-SR04 sensör, küçük bir titreşim motoru, motoru süren BC547 transistör, koruma diyodu, buzzer ve 9V pil yeterlidir. Arduino Nano, Uno ile aynı kodu çalıştırır ama bastona sığacak kadar küçüktür.

Malzeme listesi

MalzemeAdetNe işe yarar?
Arduino Nano CH340 (Type-C)1Mesafeyi okur, uyarıyı başlatır
HC-SR04 ultrasonik mesafe sensörü1Öndeki engelin uzaklığını ölçer
Mini 3V titreşim motoru 6x12 mm1Sessiz uyarı verir
BC547 NPN transistör + 1 kΩ direnç1 + 1Motoru Arduino pininin yerine çalıştırır
1N4006 diyot1Motor durunca oluşan gerilim sıçramasını söndürür
Pasif buzzer 17 mm1Yakın engelde sesli uyarı
9V jaklı pil soketi + 9V pil1Devreyi besler
Sürgülü anahtar, kablo, bant ya da kelepçe1Aç-kapa ve bastona sabitleme

Sensörü bastona sabitlemek için hazır bir HC-SR04 tutucu ya da sıcak silikonla yapıştırılmış küçük bir plastik kutu kullanabilirsiniz. Önce devreyi breadboard üzerinde deneyin, çalıştığını görünce lehimleyerek bastona taşıyın.

Devre nasıl bağlanır?

HC-SR04'ün Trig ucu D7'ye, Echo ucu D8'e bağlanır; titreşim motoru D5'e bağlı bir BC547 üzerinden, pasif buzzer ise doğrudan D6'dan çalışır. Bağlantı yaparken pil takılı olmasın.

  1. HC-SR04: VCC → Nano 5V, GND → GND, Trig → D7, Echo → D8.
  2. BC547'nin düz yüzü size bakarken bacaklar soldan sağa kollektör, beyz, emiter sırasındadır. Emiteri GND'ye bağlayın.
  3. D5 pinini 1 kΩ dirençle BC547'nin beyzine bağlayın.
  4. Titreşim motorunun bir ucunu 5V'a, diğer ucunu BC547'nin kollektörüne bağlayın.
  5. 1N4006 diyodu motorun iki ucuna ters bağlayın: gümüş çizgili katot 5V tarafına gelir.
  6. Pasif buzzerın artı ucunu D6'ya, eksi ucunu GND'ye bağlayın.
  7. 9V pilin artısını sürgülü anahtardan geçirip Nano'nun VIN pinine, eksisini GND'ye bağlayın.
Akıllı baston bağlantı şeması: HC-SR04 sensörün VCC ucu Arduino Nano 5V pinine, Trig ucu D7'ye, Echo ucu D8'e, GND ucu GND'ye bağlı; D5 pini 1 kΩ dirençle BC547 transistörün beyzine gidiyor; 3V titreşim motoru 5V ile kollektör arasında, uçlarında katodu 5V tarafında olan 1N4006 diyot var; emiter GND'ye bağlı; pasif buzzerın artı ucu D6'ya bağlı; 9V pilin artısı sürgülü anahtar üzerinden VIN pinine gidiyor; yanda 100, 60 ve 30 cm uyarı bölgeleri
Trig D7'ye, Echo D8'e bağlanır; titreşim motoru D5'ten BC547 ile sürülür, buzzer D6'dan çalışır ve devre 9V pille VIN üzerinden beslenir.

Motor doğrudan Arduino pinine bağlanmaz; motorun çektiği akım pinin sınırını aşabilir ve durduğunda oluşan ters gerilim kartı bozabilir. BC547 en çok 100 mA taşır; küçük titreşim motorları için yeterlidir. Ayrıntıları titreşim motoru Arduino bağlantısı yazısında anlattık.

Akıllı baston kodu nasıl çalışır?

Kod her döngüde mesafeyi ölçer; engel 100 cm'den yakınsa motoru kısa titreştirir ve engel yaklaştıkça iki titreşim arasındaki bekleme süresini kısaltır.

const byte TRIG = 7, ECHO = 8, MOTOR = 5, BUZZER = 6;
const int GUC = 150;   // 3V motor 5V ile sürülür: en çok 150 (yaklaşık %60)

long mesafeOlc() {
  digitalWrite(TRIG, LOW);  delayMicroseconds(2);
  digitalWrite(TRIG, HIGH); delayMicroseconds(10);
  digitalWrite(TRIG, LOW);
  long sure = pulseIn(ECHO, HIGH, 30000);  // en çok 30 ms bekle
  if (sure == 0) return 999;               // yankı yok: engel uzakta
  return sure / 58;                        // mikrosaniye -> cm
}

void uyar(int bekleme, bool ses) {
  analogWrite(MOTOR, GUC);
  if (ses) tone(BUZZER, 2000);
  delay(80);                               // 80 ms titreşim
  analogWrite(MOTOR, 0);
  noTone(BUZZER);
  delay(bekleme);
}

void setup() {
  pinMode(TRIG, OUTPUT);
  pinMode(ECHO, INPUT);
  pinMode(MOTOR, OUTPUT);
}

void loop() {
  long cm = mesafeOlc();
  if (cm < 30)       uyar(40, true);       // çok yakın: neredeyse sürekli
  else if (cm < 60)  uyar(250, true);      // yakın: titreşim + ses
  else if (cm < 100) uyar(600, false);     // dikkat: yalnızca titreşim
  else delay(100);                         // engel yok
}

Mesafe, sesin gidip dönme süresinden hesaplanır: süre / 58 sonucu santimetre verir. Motor 3V'luk olduğu için 5V ile tam güçte çalıştırılmaz; analogWrite ile verilen 150 değeri ortalama gerilimi yaklaşık 3V'a indirir. HC-SR04'ün ölçüm ilkesini HC-SR04 ultrasonik sensör yazısında bulabilirsiniz.

Uyarı mesafeleri nasıl belirlenir?

Uyarı mesafeleri, yürüyen bir kişinin durmak için ihtiyaç duyduğu süreye göre seçilir; bu projede 100, 60 ve 30 cm olmak üzere üç bölge kullanılır.

Engel mesafesiTitreşimBuzzerAnlamı
100 cm ve üzeriYokYokYol açık
60-99 cm80 ms, 600 ms araylaYokDikkat, engel var
30-59 cm80 ms, 250 ms arayla2.000 Hz kısa bipYavaşla
30 cm'den yakın80 ms, 40 ms araylaSık bipDur

Bu değerleri koddaki 100, 60 ve 30 sayılarını değiştirerek kendinize göre ayarlayabilirsiniz. Ödevde farklı mesafe ayarlarını deneyip hangisinin daha rahat olduğunu karşılaştırmak iyi bir deney konusudur.

Sensör bastona nasıl yerleştirilir?

Sensör bastonun alt yarısına, tam ileri bakacak ve zemini görmeyecek şekilde yerleştirilir. HC-SR04'ün ses ışını yaklaşık 15° genişliğindedir; sensör yere doğru eğilirse zemini engel sanıp sürekli uyarı verir.

  • Sensörü önce yere paralel takın, sonra boş bir koridorda uyarı gelmeyene kadar açısını hafifçe yukarı düzeltin.
  • Nano, pil ve anahtarı bastonun sap kısmına yakın küçük bir kutuya koyun; böylece ağırlık elde toplanır.
  • Titreşim motorunu sapın tutulan yerine bantla sabitleyin; titreşim avuca buradan geçer.
  • Kabloları kelepçeyle bastona sarın ki yürürken takılmasın.

Sensörün göremediği yerleri de bilin: aşağı inen merdiven, çukur ve baş hizasındaki dallar bu tek sensörle algılanmaz. Kumaş gibi yumuşak yüzeyler ve ince direkler de geç fark edilebilir.

Pil ne kadar dayanır?

Pil ömrü, devrenin çektiği akım ölçülerek hesaplanır: pil kapasitesi (mAh) ÷ akım (mA) = yaklaşık çalışma süresi (saat). Multimetreyi akım kademesinde pil ile anahtar arasına seri bağlayıp akımı ölçün. Örneğin 500 mAh'lik bir alkalin 9V pil ve 40 mA ölçüm için süre 500 ÷ 40 ≈ 12 saattir. Kullanmadığınızda anahtarı kapatın; Nano'nun güç LED'i de akım çeker.

Hangi güvenlik kurallarına dikkat edilmeli?

Devre 9V pille çalıştığı için güvenlidir; yine de şu kurallara uyun:

  • Devreyi yalnızca 9V pille ya da bilgisayarın USB çıkışıyla besleyin. 220V şebeke elektriğine hiçbir şey bağlamayın.
  • Projeyi öğretmen ya da yetişkin gözetiminde kurun; havya ve sıcak silikonu yetişkin yardımıyla kullanın.
  • 9V pilin uçlarını birbirine ya da metale değdirmeyin. Isınan pili hemen çıkarın.
  • Bastonu denerken gözü kapalı yürümeyin; denemeleri karton kutularla, düz ve boş bir alanda, yanınızda biri varken yapın.
  • Diyodun yönünü kontrol edin; ters takılan diyot 5V hattını kısa devre eder.

Ödevinizi nasıl sunarsınız?

Ödevinizi, bastonu karton kutulardan yapılmış küçük bir parkurda çalıştırarak ve ölçüm tablonuzu göstererek sunabilirsiniz.

  • Problem: "Görme engelli bir kişi bastonla değmeden önündeki engeli nasıl fark edebilir?"
  • Deney 1: Kutuyu 20, 50, 80 ve 120 cm'ye koyun; cetvelle ölçtüğünüz mesafeyi ve gelen uyarıyı tabloya yazın.
  • Deney 2: Aynı mesafeye karton, kumaş ve ince bir çubuk koyun; hangisinin algılandığını not edin.
  • Rapor: Devre şemasını, kodu, pil ölçümünüzü ve sensörün göremediği durumları yazın.
  • Geliştirme: Baş hizası için ikinci bir sensör ya da düşmeyi algılayan ivme sensörü önerin.

Benzer bir mesafe uyarı sistemi olan Arduino park sensörü projesi ile karşılaştırma yapmak sunumunuzu güçlendirir.

Sık sorulan sorular

Arduino Nano yerine Uno kullanılabilir mi?

Evet, Arduino Uno ile aynı kod ve aynı pin numaraları çalışır. Uno daha büyük olduğu için bastona takmak zordur; masada deneme yaparken Uno, bastona taşırken Nano kullanmak pratiktir. Uno'da 9V pil, kartın üzerindeki DC jaktan ya da VIN pininden bağlanır. Pin numaralarını değiştirmezseniz kodda hiçbir şeyi değiştirmeniz gerekmez.

Titreşim motoru neden çalışmıyor?

Titreşim motoru çoğunlukla transistör bacakları yanlış bağlandığı için çalışmaz. BC547'nin düz yüzü size bakarken soldan sağa kollektör, beyz, emiter sırasını kontrol edin. Motorun bir ucu 5V'a, diğeri kollektöre gitmelidir. Kodda GUC değeri 80'in altındaysa motor kalkış yapamayabilir; 150 değeriyle deneyin.

Sensör boş yolda da uyarı veriyorsa ne yapmalıyım?

Boş yolda gelen uyarı genellikle sensörün zemini görmesinden kaynaklanır. Sensörü biraz yukarı eğin ve bastonun ucundan uzaklaştırın. Kabloların ya da tutucunun sensörün önüne girmediğinden emin olun. Seri Monitör ile ölçülen mesafeyi yazdırarak sorunun nereden geldiğini görebilirsiniz.

Buzzer sesi kısılabilir mi?

Evet, buzzerın artı ucuna 100-220 Ω arası bir direnç seri bağlanarak ses kısılabilir. İsterseniz koddaki tone satırlarını silip yalnızca titreşimle uyarı verebilirsiniz. Toplu taşıma gibi sessiz ortamlarda titreşim, sokakta ise ses daha kullanışlıdır. Bunun için bir butonla iki mod arasında geçiş eklemek iyi bir geliştirmedir.

Yağmurda kullanılabilir mi?

Hayır, bu haliyle yağmurda kullanılmamalıdır. HC-SR04 ve Arduino Nano suya dayanıklı değildir; ıslanınca yanlış ölçüm yapar ya da bozulur. Proje bir okul maketi ve deneme düzeneğidir. Dışarıda deneyecekseniz kutuyu kapalı tutun ve sensörü yalnızca kuru havada kullanın.

Özet

  • Akıllı baston, HC-SR04 ile engel mesafesini ölçüp titreşim ve sesle uyaran bir eğitim projesidir.
  • Bağlantı: Trig D7, Echo D8, titreşim motoru D5 (BC547 ve 1 kΩ ile), buzzer D6.
  • Motor transistörle sürülür ve uçlarına ters diyot bağlanır.
  • Uyarı bölgeleri: 100 cm'den yakında titreşim, 60 cm'den yakında ses, 30 cm'den yakında sık uyarı.
  • Sensör merdiven, çukur ve baş hizasındaki engelleri göremez; gerçek bastonun yerini tutmaz.
  • Devreyi yalnızca 9V pille ya da USB ile, yetişkin gözetiminde çalıştırın.

Bu yazıdaki ürünler

Diğer yazılar

11 Kasım 20266 dk okuma

Pense Çeşitleri: Yan Keski, Kargaburun ve Kombine Pense

Pense çeşitleri arasında seçim işe göre yapılır: tel ve komponent bacağı kesmek için yan keski, dar alanda tutmak ve bükmek için kargaburun,...

Devamını oku →
11 Kasım 20267 dk okuma

Işık Takip Eden Robot Yapımı: Arduino, LDR ve L298N

Işık takip eden robot, önüne takılan iki LDR ile hangi tarafın daha aydınlık olduğunu ölçüp tekerleklerini o yöne süren bir Arduino projesid...

Devamını oku →
11 Kasım 20266 dk okuma

İzoleli Tornavida ve 1000V VDE El Aletleri Nedir?

İzoleli tornavida, IEC 60900 (EN 60900) standardına göre 1000V AC ve 1500V DC gerilime kadar yalıtım için test edilmiş ve üzerinde çift üçge...

Devamını oku →
11 Kasım 20267 dk okuma

ESP8266 Hava Durumu Ekranı: NodeMCU, OLED ve Open-Meteo

ESP8266 hava durumu ekranı, NodeMCU kartının Wi-Fi ile internete bağlanıp Open-Meteo servisinden anlık sıcaklık, nem, rüzgâr ve hava durumu...

Devamını oku →
11 Kasım 20266 dk okuma

Havya Ucu Çeşitleri ve Bakımı: Konik, Keski, Bıçak

Havya ucu, lehimlenecek noktanın boyutuna göre seçilir: ince SMD ve sık bacaklar için konik (I), genel THT lehim için keski (D) ya da eğik k...

Devamını oku →
11 Kasım 20266 dk okuma

Ultrasonik Theremin Projesi: HC-SR04 ile Elle Müzik

Ultrasonik theremin, HC-SR04 sensörüyle elinizin uzaklığını ölçüp bu mesafeyi ses frekansına çeviren bir Arduino projesidir. El sensöre yakl...

Devamını oku →