- Gerekli malzemeler:
- Kör Çubuk Devre Şeması:
- Smart Blind Stick için Arduino Programı:
- Arduino Blind Stick Çalışırken:
Hugh Herr'i hiç duydunuz mu? Engellerinin sınırlarını ortadan kaldıran ünlü bir Amerikalı kaya tırmanıcısıdır; teknolojinin engelli kişilerin normal bir yaşam sürmelerine yardımcı olabileceğine güçlü bir inanmaktadır. Bir TED konuşmasında Herr, “ İnsanlar engelli değildir. Bir insan asla kırılamaz. Yapılı çevremiz, teknolojilerimiz bozuldu ve devre dışı bırakıldı. İnsanların sınırlarımızı kabul etmemize gerek yok, ancak teknolojik yenilik yoluyla engelliliği aktarabiliriz ”. Bunlar sadece sözler değildi, hayatını onlara yaşadı, bugün Protez bacak kullanıyor ve normal bir hayat yaşadığını iddia ediyor. Yani evet, teknoloji gerçekten de insan engelliliğini etkisiz hale getirebilir; Bunu akılda tutarak, Arduino kullanarak bir ultrasonik kör baston oluşturmak için bazı basit geliştirme panoları ve sensörler kullanalım. görme engelli kişiler için bir çubuktan daha fazlasını yapabilir.
Bu Akıllı çubuk, herhangi bir engelden uzaklığı algılamak için bir Ultrasonik sensöre, aydınlatma koşullarını algılamak için LDR'ye ve kör adamın çubuğunu uzaktan bulabileceği bir RF uzaktan kumandaya sahip olacaktır. Tüm geri bildirimler kör adama bir Buzzer ile verilecektir. Elbette Buzzer yerine bir vibratör motoru kullanabilir ve yaratıcılığınızı kullanarak çok daha fazla ilerleyebilirsiniz.
Gerekli malzemeler:
- Arduino Nano (Herhangi bir sürüm çalışacaktır)
- Ultrasonik Sensör HC-SR04
- LDR
- Buzzer ve LED
- 7805
- 433MHz RF verici ve alıcı
- Dirençler
- Kapasitörler
- Butona basınız
- Perf kurulu
- Lehimleme Kiti
- 9V piller
Bu akıllı kör çubuk projesi için gerekli tüm bileşenleri buradan satın alabilirsiniz.
Kör Çubuk Devre Şeması:
Bu Arduino Smart Blind Stick Projesi iki ayrı devre gerektirir. Biri kör adamın sopasına monte edilecek ana devredir. Diğeri, ana devrenin yerini tespit etmek için kullanılacak olan küçük bir uzak RF verici devresidir. Ultrasonik sensör kullanarak bir kör çubuk oluşturmak için ana kartın devre şeması aşağıda gösterilmiştir:
Gördüğümüz gibi bir Arduino Nano tüm sensörleri kontrol etmek için kullanıldı, ancak bu Akıllı kör çubuğu arduino uno kullanarak ancak aynı pinleri ve programı takip ederek de oluşturabilirsiniz. Kartın tamamı, 7805 Voltaj regülatörü kullanılarak + 5V'a ayarlanan 9V'luk bir pil ile güçlendirilmiştir. Ultrasonik sensör 5V tarafından desteklenmektedir ve tetikleme ve yankı pim, yukarıda gösterildiği gibi 3 ve iğne 2'ye nano Arduino bağlı edilir. LDR bir potansiyel bölücü ve voltaj arasındaki fark çok çaba isteyen ADC pimi A1 tarafından okunur oluşturmak için değer 10K bir direnç ile bağlantılıdır. ADC pini A0, sinyali RF alıcısından okumak için kullanılır. Kartın çıkışı pin 12'ye bağlı olan Buzzer tarafından verilmektedir.
RF uzaktan devresi aşağıda gösterilmiştir. Çalışması da ayrıca açıklanmıştır.
Bu RF uzaktan kumanda devresinin çalışması için küçük bir hack kullandım. Normalde bu 433 MHz RF modülünü kullanırken, çalışması için bir Kodlayıcı ve Kod Çözücü veya iki MCU gerekir, önceki RF Verici ve Alıcı devremizde olduğu gibi sırasıyla HT12D ve HT12E, kod çözücü ve kodlayıcı IC kullandık. Ancak uygulamamızda, vericinin bazı sinyaller gönderip göndermediğini algılaması için yalnızca alıcının ihtiyacımız var. Böylece vericinin Veri pini, kaynağın Toprak veya Vcc'sine bağlanır.
Alıcının veri pini bir RC filtresinden geçirilir ve ardından aşağıda gösterildiği gibi Arduino'ya verilir. Şimdi, düğmeye her basıldığında Alıcı, sürekli olarak bir miktar sabit ADC değeri verir. Düğmeye basılmadığında bu tekrar gözlenemez. Bu yüzden, düğmeye basılıp basılmadığını tespit etmek için tekrarlanan değerleri kontrol etmek için Arduino programını yazıyoruz. Yani kör bir kişi sopasını bu şekilde takip edebilir. Buradan kontrol edebilirsiniz: RF vericisi ve alıcısı nasıl çalışır.
Tüm bağlantıları lehimlemek için bir perf kart kullandım, böylece çubukla sağlamlaştı. Ancak bunları bir breadboard üzerinde de yapabilirsiniz. Bunlar, bu kör çubuk projesi için arduino kullanarak yaptığım panolar .
Smart Blind Stick için Arduino Programı:
Donanımımızı hazırladığımızda Arduino'yu Bilgisayarımıza bağlayabilir ve programlamaya başlayabiliriz. Tam kod Bu sayfa için kullanılan bu sayfanın alt kısmında bulunabilir, kendi Arduino kartına doğrudan yükleyebilirsiniz. Ancak, kodun nasıl çalıştığını merak ediyorsanız daha fazla okuyun.
Tüm programlar gibi, Giriş Çıkış pinlerini başlatmak için void setup () ile başlıyoruz. Programımızda Buzzer ve Tetik pini bir Çıkış cihazı ve Yankı pini bir Giriş cihazıdır. Ayrıca hata ayıklama için seri monitörü de başlatıyoruz.
geçersiz kurulum () {Serial.begin (9600); pinMode (Buzz, OUTPUT); digitalWrite (Buzz, DÜŞÜK); pinMode (tetikleyici, ÇIKIŞ); pinMode (echo, INPUT); }
Ana döngünün içinde tüm sensör verilerini okuyoruz. Mesafe için Ultrasonik sensörün sensör verilerini, ışık yoğunluğu için LDR'yi ve düğmeye basılıp basılmadığını kontrol etmek için RF sinyalini okumakla başlıyoruz. Tüm bu veriler, ileride kullanılmak üzere aşağıda gösterildiği gibi bir değişkene kaydedilir.
hesapla_distance (tetik, eko); Sinyal = analogRead (Uzaktan); Intens = analogRead (Light);
Uzaktan sinyali kontrol etmekle başlıyoruz. RF alıcısından aynı değerlerin kaç kez tekrarlandığını kontrol etmek için benzer_say adlı bir değişken kullanıyoruz. Bu tekrar, yalnızca düğmeye basıldığında gerçekleşecektir. Bu yüzden, sayı 100 değerini aşarsa Uzaktan basılı alarmı tetikleriz.
// Remote'a basılıp basılmadığını kontrol edin int temp = analogRead (Remote); benzer_say = 0; while (Signal == temp) {Signal = analogRead (Remote); Similar_count ++; } // Uzaktan basılırsa if (Similar_count <100) {Serial.print (Similar_count); Serial.println ("Uzaktan Basıldı"); digitalWrite (Buzz, HIGH); gecikme (3000); digitalWrite (Buzz, DÜŞÜK); }
Bunu bilgisayarınızdaki Seri Monitörden de kontrol edebilirsiniz:
Daha sonra kör adamın etrafındaki ışığın yoğunluğunu kontrol ediyoruz. LDR, 200'den daha az bir değer veriyorsa, çok karanlık olduğu varsayılır ve 200ms ile belirli bir gecikme tonu ile onu zil sesiyle uyarırız. Yoğunluk 800'den fazla çok parlaksa, başka bir tonla da uyarı veriyoruz. Alarm tonu ve yoğunluğu, aşağıdaki kodda ilgili değer değiştirilerek kolayca değiştirilebilir.
// Çok koyu ise if (Intens <200) {Serial.print (Intens); Serial.println ("Parlak Işık"); digitalWrite (Buzz, HIGH); delay (200); digitalWrite (Buzz, LOW); gecikme (200); digitalWrite (Buzz, HIGH); gecikme (200); digitalWrite (Buzz, DÜŞÜK); gecikme (200); gecikme (500); } // Çok parlaksa if (Intens> 800) {Serial.print (Intens); Serial.println ("Düşük Işık"); digitalWrite (Buzz, HIGH); delay (500); digitalWrite (Buzz, LOW); gecikme (500); digitalWrite (Buzz, HIGH); gecikme (500); digitalWrite (Buzz, DÜŞÜK); gecikme (500); }
Son olarak, herhangi bir engele olan mesafeyi ölçmeye başlarız. Ölçülen mesafe 50 cm'den fazlaysa alarm verilmez. Ancak, 50 cm'den daha az ise, alarm, zil sesiyle çalmaya başlayacaktır. Nesne zile yaklaştıkça bipleme aralığı da azalacaktır. Nesne ne kadar yakınsa, zil o kadar hızlı bip sesi çıkarır. Bu, ölçülen mesafeyle orantılı bir gecikme oluşturarak yapılabilir. Yana gecikme () değişkenleri kabul edilemez Arduino içinde bir kullanmak zorunda için aşağıda gösterildiği gibi ölçülmüştür mesafeye göre öze.
eğer (dist <50) {Serial.print (dist); Serial.println ("Nesne Uyarısı"); digitalWrite (Buzz, YÜKSEK); için (int i = dist; i> 0; i--) gecikme (10); digitalWrite (Buzz, DÜŞÜK); için (int i = dist; i> 0; i--) gecikme (10); }
Ultrasonik sensör ve Arduino kullanarak mesafeyi ölçme hakkında daha fazla bilgi edinin.
Karşılaştırmak için kullandığımız değeri değiştirerek program uygulamanıza kolayca uyarlanabilir. Yanlış bir alarm tetiklendiğinde hata ayıklamak için seri monitörü kullanırsınız. Herhangi bir sorunuz varsa, sorularınızı göndermek için aşağıdaki yorum bölümünü kullanabilirsiniz.
Arduino Blind Stick Çalışırken:
Sonunda kör çubuk arduino projemizi test etme zamanı. Bağlantıların devre şemasına göre yapıldığından ve programın başarıyla yüklendiğinden emin olun. Şimdi, 9V pil kullanarak her iki devreye de güç verin ve sonuçları görmeye başlamalısınız. Ultra Sonic sensörünü nesneye yaklaştırdığınızda, Buzzer'ın bip sesini fark edeceksiniz ve bu bip frekansı, çubuk nesneye yaklaştıkça artar. LDR karanlıkta kapalıysa veya çok fazla ışık varsa, zil bip sesi çıkaracaktır. Her şey normalse, zil bip sesi çıkarmaz.
Uzaktan kumandadaki düğmeye bastığınızda, zil uzun bir bip sesi verecektir. Körler için bu Smart Stick'in Arduino kullanarak tam çalışması, bu sayfanın sonunda verilen Videoda gösterilmektedir. Ayrıca tüm düzeneği monte etmek için küçük bir çubuk kullanıyorum, daha büyük olanı veya gerçek bir kör çubuğu kullanabilir ve harekete geçirebilirsiniz.
Sesli uyarınız her zaman çalıyorsa, bu, alarmın yanlış tetiklendiği anlamına gelir. Parametreleri kontrol etmek için seri monitörü açabilir ve hangisinin kritik olduğunu kontrol edip bunu ayarlayabilirsiniz. Her zaman olduğu gibi, sorununuzu yardım almak için yorum bölümüne gönderebilirsiniz. Umarım projeyi anladınız ve bir şeyler inşa etmekten zevk almışsınızdır.