- Gereksinimler:
- Yazılım İndirme ve Yükleme:
- Arduino Donanım bölümü ve Devre Şeması:
- Arduino Yazılım Bölümü:
- Ultrasonik Radar için Android Mobil Uygulaması:
- Çalışma Açıklaması:
Bu, Bluetooth kullanarak bir mobil uygulamaya (Android) bilgi yayınlamak için Arduino ve Ultra Sonic Sensor kullanan bir Gözetim cihazı oluşturmak için bir Arduino ve Android'in gücünü araştırdığımız ilginç bir projedir.
Güvenlik ve Güvenlik, çağlardan beri birincil endişemizdir. Tilt ve pan seçeneği ile gece moduna sahip bir güvenlik kamerası kurmak, ceplerimizde büyük bir delik açacaktır. Öyleyse hemen hemen aynı şeyi yapan ancak herhangi bir video özelliği olmayan ekonomik bir cihaz yapalım.
Bu cihaz, Ultrasonik Sensör yardımıyla nesneleri algılar ve dolayısıyla gece saatlerinde bile çalışabilir. Ayrıca US (Ultra Sonic) sensörünü bir servo motor üzerine monte ediyoruz, bu servo motor, alanı taramak için otomatik olarak dönecek şekilde ayarlanabilir veya Mobil uygulamamız kullanılarak manuel olarak döndürülebilir, böylece ultrasonik sensörü odaklayabiliriz. gerekli yönümüz ve orada bulunan nesneleri hissedin. ABD sensörünün algıladığı tüm bilgiler, Bluetooth Modülü (HC-05) kullanılarak Akıllı telefonumuza yayınlanacaktır. Yani bir Sonar veya Radar gibi çalışacak.
İlginç değil mi?…. Bu projeyi yapmak için neye ihtiyacımız olduğunu görelim.
Gereksinimler:
Donanım:
- A + 5V güç kaynağı (Güç kaynağı için Arduino (başka) kartımı kullanıyorum)
- Arduino Mega (Pro mini'den Yun'a kadar her şeyi kullanabilirsiniz)
- Servo Motor (herhangi bir derecelendirme)
- Bluetooth Modülü (HC-05)
- Ultra Sonik Sensör (HC-SR04)
- Breadboard (zorunlu değil)
- Bağlantı telleri
- Android mobil
- Programlama için bilgisayar
Yazılım:
- Arduino Yazılımı
- Android SDK
- Android işleniyor (Mobil uygulama oluşturmak için)
Malzemelerimizle hazır olduğumuzda donanımı oluşturmaya başlayalım. Kolay anlaşılması için bu öğreticiyi Arduino Bölümü ve İşleme Bölümü olarak ayırdım. İşlemede yeni olan kişilerin çok fazla korkmasına gerek yoktur çünkü kodun tamamı bu şekilde kullanılabilecek öğreticinin sonunda verilmiştir.
Yazılım İndirme ve Yükleme:
Arduino IDE buradan yüklenebilir. Yazılımı işletim sisteminize göre indirin ve kurun. Arduino IDE, Arduino Donanımınızla iletişim kurmak için bir sürücü gerektirecektir. Kartınızı bilgisayarınıza bağladığınızda bu sürücü otomatik olarak kurulmalıdır. Arduino'nuzun çalışır durumda olduğundan emin olmak için örneklerden bir göz kırpma programı yüklemeyi deneyin.
İşleme IDE buradan yüklenebilir. Processing, birçok şey için kullanılabilen mükemmel bir açık kaynak uygulamasıdır, çeşitli modları vardır. "Java Modu" nda Windows bilgisayar uygulamaları (.EXE dosyaları) oluşturabiliriz ve "Android modunda" Android mobil Uygulamaları (.APK dosyaları) oluşturabiliriz, ayrıca size python programları yazabileceğiniz "Python modu" gibi diğer modlara da sahiptir.. Bu eğitici, İşleme'nin temellerini kapsamayacaktır, bu nedenle, bu harika YouTube kanalına gitmek için java programlamayı veya işlemeyi öğrenmek istiyorsanız.
Arduino Donanım bölümü ve Devre Şeması:
Bu proje Servo Motor, Bluetooth Modülü, Ultrasonik Sensör vb. Gibi birçok bileşeni içerir. Bu nedenle, mutlak bir başlangıç seviyesindeyseniz, bu bileşenleri içeren bazı temel öğreticilerle başlamanız ve sonra buraya geri dönmeniz önerilir. Servo Motor, Bluetooth Modülü ve Ultrasonik Sensör ile ilgili çeşitli projelerimize buradan göz atın.
Servo motor, Bluetooth modülü ve US sensörü, Arduino'nun kaynak sağlayamayacağı kadar çok akım çektiğinden, tüm bileşenler Arduino'nun kendisi tarafından çalıştırılmaz. Bu nedenle, herhangi bir harici + 5V beslemesinin kullanılması kesinlikle tavsiye edilir. Ulaşabileceğiniz bir harici + 5V kaynağınız yoksa, benim yaptığım gibi bileşenleri iki Arduino kartı arasında paylaşabilirsiniz. Servoların güç raylarını başka bir Arduino kartına (kırmızı renk) bağladım ve Bluetooth modülü HC-05 ve Ultrasonik sensör HC-SR04'ü Arduino mega'ya bağladım. DİKKAT: Tüm bu modülleri bir Arduino kartı kullanarak çalıştırmak Arduino voltaj regülatörünü kızartacaktır.
Bu Arduino Tabanlı Sonar Projesi için bağlantı şeması aşağıda verilmiştir:
Bağlantılar yapıldıktan sonra, ABD sensörünü aşağıda gösterildiği gibi Servo motorunuza monte edin:
Sensörü monte etmek için hurdamdaki küçük bir plastik parça ve çift taraflı bir bant kullandım. Aynısını yapmak için kendi fikrinizi üretebilirsiniz. Piyasada aynı amaçla kullanılabilen servo tutucular da bulunmaktadır.
Servo monte edildikten ve Bağlantılar verildikten sonra, böyle bir şeye benzemelidir.
Herhangi bir bağlantı yanlış olursa üstteki şemaları izleyin. Şimdi Arduino IDE'yi kullanarak Arduino Mega'yı programlamaya başlayalım.
Arduino Yazılım Bölümü:
Kodumuzu bir nesne ile Ultra Sonic sensör arasındaki mesafeyi hesaplayıp mobil uygulamamıza gönderebilmek için yazmalıyız. Ayrıca servo motorumuzun Bluetooth modülü tarafından alınan verilerden taranması ve kontrol edilmesi için kod yazmamız gerekiyor. Ancak endişelenmeyin, Arduino ve kütüphaneleri sayesinde program görüntüleyebileceğinizden çok daha basit. Kodun tamamı aşağıda kod bölümünde verilmiştir.
Aşağıdaki fonksiyon, servo motorun otomatik olarak soldan sağa (170 ila 10) ve tekrar sağdan sola (10 ila 170) süpürmesini sağlamak için kullanılır. İki for döngüsü aynı şeyi elde etmek için kullanılır. Sensör ile nesne arasındaki mesafeyi hesaplamak ve bunu Bluetooth'a yayınlamak için her iki işlevin içinde us () işlevi çağrılır. Servonun yavaşça dönmesini sağlamak için 50 ms gecikme verilir. Motor ne kadar yavaş dönerse, okumalarınız o kadar doğru olur.
// ** Servonun süpürme işlevi ** // void servofun () {Serial.println ("Süpürme"); // (posc = 10; posc <= 170; posc ++) için hata ayıklama için // 10 ila 170 derece kullanmak 0 ila 180'den güvenlidir çünkü bazı servolar aşırı açılarda çalışmayabilir {servo.write (posc); // servo motor gecikmesinin konumunu ayarlayın (50); bize(); // ABD sensörü ile nesnelerin mesafesini ölçün} for (posc = 170; posc> = 10; posc--) {servo.write (posc); gecikme (50); bize(); // ABD sensörüyle nesnelerin mesafesini ölçün} Serial.println ("Tarama Tamamlandı"); // hata ayıklama bayrağı = 0; } // ** Servo süpürme fonksiyonunun sonu ** //
Daha önce de belirtildiği gibi servo motor akıllı telefondan manuel olarak da kontrol edilebilir. Motoru sağa hareket ettirmek için sağa kaydırmanız ve motoru sola hareket ettirmek için sola kaydırmanız yeterlidir. Yukarıdaki işlev, aynısını elde etmek için kullanılır. Servo motorun meleği, Bluetooth modülü tarafından doğrudan alınacak ve değişken BluetoothData içinde saklanacaktır, ardından servo, servo.write (BluetoothData) hattı kullanılarak o belirli açı içinde konumlandırılacaktır.
// ** Servo'yu manuel olarak kontrol etme işlevi ** // void manualservo () {us (); // Kullanıcıdan değer alın ve servoyu kontrol edin if (Blueboy.available ()) {BluetoothData = Blueboy.read (); Serial.println (BluetoothData); servo.write (BluetoothData); Serial.println ("Yazılı"); eğer (BluetoothData == 'p') {bayrak = 0; }}} // __ Manuel kontrol fonksiyonunun sonu __ //
Nesneyi önce mesafe, bu aşağıdaki fonksiyon tarafından hesaplanır. Hız = Mesafe / zaman olan basit bir formülle çalışır. ABD dalgasının hızını ve geçen süreyi bildiğimiz için mesafe yukarıdaki formüller kullanılarak hesaplanabilir.
// ** Mesafeyi ölçme işlevi ** // void us () {int süre, mesafe; digitalWrite (trigPin, YÜKSEK); gecikme Mikrosaniye (1000); digitalWrite (trigPin, DÜŞÜK); süre = pulseIn (echoPin, HIGH); mesafe = (süre / 2) / 29.1; // Sensörden uzaklığı hesaplar if (distance <200 && distance> 0) Blueboy.write (distance); } // __ Mesafe sonu ölçme fonksiyonu __ //
Programla ilgili herhangi bir şüpheniz varsa, sorularınız için yorum bölümünü kullanmaktan çekinmeyin. Böylece, kodumuzla hazır olduğumuzda kodu hemen donanımımıza aktarabiliriz. Ancak gözetim cihazı, Android Uygulamasına bağlanana kadar çalışmaya başlamayacaktır. Ayrıca tam çalışma için sonunda Videoyu kontrol edin.
Ultrasonik Radar için Android Mobil Uygulaması:
Kendi uygulamanızı yapmak istemiyor ve bunun yerine sadece bu eğitimde kullanılan aynı uygulamayı yüklemek istiyorsanız, aşağıdaki adımları takip edebilirsiniz.
1. APK dosyasını aşağıdaki bağlantıdan doğrudan indirebilirsiniz. Bu APK dosyası, Android 4.4.2 ve üstü sürümler için yapılmıştır (Kitkat ve üstü). APK dosyasını zip dosyasından çıkarın.
Ultrasonik Radar için Android Uygulaması
2..Apk dosyasını bilgisayarınızdan cep telefonunuza aktarın.
3. Android ayarlarınızda Bilinmeyen kaynaklardan uygulama yüklemeyi etkinleştirin.
4. Uygulamayı yükleyin.
Başarıyla yüklendiyse, aşağıda gösterildiği gibi telefonunuzda "Zelobt" adlı uygulamanın yüklü olduğunu göreceksiniz:
Bu APK'yi yüklediyseniz, aşağıdaki bölümü atlayıp bir sonraki bölüme geçebilirsiniz.
İşlemeyi Kullanarak Kendi Uygulamanızı Programlamak:
Ya yukarıda verilen.APK dosyasını kullanabilir ya da burada açıklandığı gibi İşleme'yi kullanarak kendi uygulamanızı oluşturabilirsiniz. Programlama hakkında çok az bilgiyle, android uygulamanız için kendi kodunuzu yazmak da çok kolaydır. Ancak yeni başlıyorsanız, başlangıç seviyesinden biraz yüksek olduğu için bu kodla başlamanız tavsiye edilmez.
Bu program "Ketai kütüphanesi" ve "ControlP5 kütüphanesi" olmak üzere iki kütüphane kullanır. Ketai kütüphanesi, cep telefonumuzda bulunan tüm donanımı kontrol etmek için kullanılır. Telefonunuzun pil seviyesi, yakınlık sensörü değerleri, ivmeölçer sensör değerleri, Bluetooth kontrol seçenekleri vb. Şeylere bu kitaplık ile kolayca erişilebilir. Bu programda, bu kitaplığı, telefonlar Bluetooth ve Arduino Bluetooth (HC-05) arasında bir iletişim kurmak için kullanıyoruz. “ControlP5 kütüphanesi” bizim radar sistemi için arsa grafikler için kullanılır.
Komple android programı takılır buradan indirebilirsiniz.
DİKKAT: Yukarıda belirtilen kitaplıkları kurmayı unutmayınız ve kod kısmını tek başına kopyalayıp yapıştırmayınız, çünkü kod, yukarıdaki ekte verilen resimleri veri klasöründen içe aktarır. Bu nedenle sadece onu indirin ve kullanın.
Kodlama bölümünü tamamladıktan ve başarıyla derledikten sonra, cep telefonunuzu doğrudan veri kablosu ile bilgisayarınıza bağlayabilir ve uygulamayı cep telefonunuza aptal yerine getirmek için oynat düğmesine tıklayabilirsiniz. Ayrıca diğer İşleme Projelerimizi de kontrol edin: Arduino kullanarak Ping Pong Oyunu ve İşleme kullanarak Akıllı Telefon Kontrollü FM Radyo.
Çalışma Açıklaması:
Artık donanım ve yazılım bölümümüzle hazırız. Donanımınızı açın ve cep telefonunuzu Bluetooth modülüyle eşleştirin. Eşleştirildikten sonra yeni kurduğumuz "Zelobt" uygulamanızı açın ve şimdi bir saniye bekleyin ve Bluetooth modülünüzün (HC-05) akıllı telefonunuza otomatik olarak bağlandığını fark etmelisiniz. Bağlantı kurulduktan sonra aşağıdaki ekranı göreceksiniz:
Bağlandı yazdığını fark edebilirsiniz: Ekranın üst kısmında aygıt adı (donanım adresi). Ayrıca servo motorun mevcut açısını ve US sensörü arasındaki mesafeyi de gösterir. Ayrıca ölçülen mesafeye göre kırmızı arka plan üzerinde mavi bir grafik çizilir. Nesne ne kadar yakınlaşırsa mavi alan o kadar uzun olur. Bazı nesnelerin yakınına yerleştirildiğinde ölçülen grafik de yukarıdaki ikinci şekilde gösterilmektedir.
Daha önce de belirtildiği gibi servo motorunuzu mobil uygulamanızdan da kontrol edebilirsiniz. Bunları yapmak için, sadece durdur düğmesine tıklayın. Bu, servonuzun otomatik olarak süpürmesini durduracaktır. Ayrıca ekranın alt kısmında, kaydırıldığında saat yönünde veya saatin tersi yönde dönecek dairesel bir tekerlek de bulabilirsiniz. Bu tekerleği kaydırarak servo motorunuzun o belirli yönde dönmesini de sağlayabilirsiniz. Kaydırıldığında güncellenen tekerlek ve grafik aşağıdaki resimde gösterilmektedir.
Arduino Kodu aşağıda verilmiştir ve android Uygulaması için APK dosyası buradadır. Projenin tamamının çalışması aşağıdaki videoda gösterilmektedir. Umarım projeyi anlamışsındır. Herhangi bir sorunuz varsa, lütfen aşağıdaki yorum bölümünü kullanın.