- Gerekli malzemeler:
- Gerekli Parçaları 3B Yazdırma (İsteğe Bağlı):
- Şematik ve Donanım:
- Android Uygulamanızı kurma:
- Arduino'nuzu programlama:
- Çalışma:
Hiç OpenCV, visual basic C # vb. Gibi başka herhangi bir programlamayı değil, Arduino'yu kullanarak bir Face Tracking Robotik Kol veya Robot oluşturmak istediniz mi? Ardından okuyun, bu projede Arduino ve Android'in gücünü harmanlayarak yüz tanıma uygulayacağız. Bu projede mobil kamera, servolar yardımıyla yüzünüzle birlikte hareket edecek. Burada Android Cep Telefonu kullanmanın avantajı bir kamera modülüne yatırım yapmanıza gerek kalmaması ve tüm görüntü algılama işinin telefonun kendisinde yapılabilmesi, bunun çalışması için Arduino'nuzun bilgisayarınıza bağlı olmasına gerek kalmamasıdır. Burada, Mobil ile kablosuz iletişim kurmak için Arduino ile Bluetooth Modülünü kullandık.
Bu projede kullanılan Android uygulaması Android İşleme kullanılarak oluşturulmuştur, uygulamayı doğrudan APK dosyasını indirerek yükleyebilir (bağlantı için daha fazla bilgi edinin) veya programlama başlığınızı takabilir ve verilen İşlem Kodunu kullanarak kendi Android Uygulamanızı daha çekici hale getirebilirsiniz. Öğreticide daha fazla. Önceki İşleme Projelerimizi kontrol ederek İşleme hakkında daha fazla bilgi edinin.
Bu eğitimin sonunda, yüzünüzü takip edebilecek ve onunla birlikte hareket edebilecek bir Mini Tilt ve Span Robotik Kolunuz olacak. Bunu (daha fazla ilerleme ile) vlog videolarınızı kaydetmek veya hatta yüzünüzü tam olarak mobil ekranınızın merkezine konumlandırdığı için cep telefonunuzun arka kamerasıyla bir selfie çekmek için kullanabilirsiniz. Yani!! İlginç geliyor mu? Kontrol Demo video sonuna çalışma görmek için bu eğitici de. Bakalım nasıl bir tane inşa edebiliriz…
Bu projenin olabildiğince basit çalışmasını sağlamak için elimden gelenin en iyisini denedim, donanım veya kodlama konusunda minimum bilgiye sahip olan herkes bu projeyi kısa sürede çalıştırmak için bu yönergeleri kullanabilir. Ancak bunu bir kez yaptıktan sonra, kodların arkasına geçmenizi öneririm, böylece bu şeyin neyin nasıl çalıştığını gerçekten anlayabilirsiniz.
Gerekli malzemeler:
- Arduino Nano
- Servo motor SG90 - 2Nos
- İyi kameralı Android Telefon
- HC-05 / HC-06 Bluetooth Modülü
- Programlama için bilgisayar
- 3D yazıcı (isteğe bağlı)
- 9V Batarya
Gerekli Parçaları 3B Yazdırma (İsteğe Bağlı):
Cep telefonumuzu kaydırmak ve eğmek için mobil tutucu ve birkaç servo braket gibi bazı mekanik yapılara ihtiyacımız var. Bir karton yapmak için bir karton kullanabilirsiniz, çünkü bir 3B yazıcım var, bu parçaları 3B yazdırmaya karar verdim.
3D baskı, prototip projeler oluştururken veya yeni mekanik tasarımları denerken çok katkıda bulunabilecek harika bir araçtır. Henüz bir 3B yazıcının faydalarını veya nasıl çalıştığını keşfetmediyseniz, 3B baskı için Başlangıç Kılavuzu'nu okuyabilirsiniz.
Bir 3D yazıcıya sahipseniz veya erişiminiz varsa, buradan indirebileceğiniz STL dosyalarını doğrudan yazdırmak ve birleştirmek için kullanabilirsiniz. Bununla birlikte, cep telefonu tutucusu gibi birkaç parçanın, telefonunuzun boyutlarına bağlı olarak bazı değişikliklere ihtiyacı olabilir. MOTO G cep telefonum için tasarladım. Tüm parçaları basmak için çok basit bir yazıcımı kullandım. Yazıcı, 10 cm küp baskı hacmi ile uygun bir fiyata gelen 3ding'in FABX v1'idir. Ucuz fiyat, düşük baskı çözünürlüğü ve SD kart veya baskı devam ettirme işlevi olmayan bir değiş tokuş ile birlikte gelir. STL dosyalarını yazdırmak için Cura adlı bir yazılım kullanıyorum. Materyalleri yazdırmak için kullandığım ayarlar aşağıda verilmiştir, aynısını kullanabilir veya yazıcınıza göre değiştirebilirsiniz.
Gerekli tüm malzemeleri yazdırdıktan sonra, vidalar ve biraz sıcak tutkal kullanarak yerine sabitleyebilirsiniz. Montaj tamamlandıktan sonra aşağıdaki gibi görünmelidir.
Şematik ve Donanım:
Akıllı Telefon projesinde bu Yüz İzleme Devresi aşağıdaki resimde gösterilmektedir:
Devre, biri cep telefonunu sola / sağa hareket ettirmek, diğeri ise cep telefonunu yukarı / aşağı eğmek için kullanılan iki Servo motordan oluşur. Servonun hareket etmesi gereken yön, Bluetooth (HC-05) modülünden bilgi alan Arduino Nano tarafından belirtilecektir. Tüm devre 9V'luk bir pil ile güçlendirilmiştir.
Bu devre, devre tahtanıza kolayca bağlanabilir veya bunları benim burada yaptığım gibi küçük bir Perf tahta üzerinde de lehimleyebilirsiniz.
Android Uygulamanızı kurma:
Daha önce de söylediğim gibi, bu projenin arkasında çalışan ana beyin bu Android uygulamasıdır. Bu android uygulaması Android İşleme kullanılarak geliştirilmiştir. Bu uygulamayı doğrudan cep telefonunuza yükleyebilir ve aşağıdaki adımları izleyerek başlatabilirsiniz.
- APK dosyasını buradan indirin.
- Yukarıda gösterilen devreyi açın.
- Telefon ayarlarınızda "HC-05" adlı Bluetooth modülünü arayın
- Buna "HC-05" dışında başka bir ad verdiyseniz, onu tekrar HC-05 olarak değiştirin, çünkü ancak o zaman uygulama çalışacaktır.
- Bluetooth modülünüzle “1234” veya “0000” şifresiyle eşleştirin.
- Şimdi, Uygulamayı portre modunda başlatın. Kamera ekranınızı ve ayrıca ekranınızın üst kısmında “Bağlandı: HC-05” i görmelisiniz.
- Kameranızı bir yüzün üzerinde hareket ettirmeyi deneyin; üst kısmında yeşil bir kutu görünmeli ve konumu aşağıda gösterildiği gibi ekranınızın sol üst köşesinde de görüntülenecektir.
Bu Arduino Yüz İzleme Projesini, kendi Android uygulamanızı kodlamanız gerekmeyecek birçok geliştirme getirerek bir sonraki seviyeye taşıyabilirsiniz. Bir Android uygulaması oluşturmak zor gelebilir, ancak bana güvenin İşleme'nin yardımı sayesinde hiçbir zaman öğrenemezsiniz. Bu uygulamayı oluşturmak için kullanılan işlem kodunun tamamı buradan indirilebilir. Kendi yaratıcılığınızla herhangi bir ilerleme kaydetmekte özgürsünüz. İşleme hakkında daha fazla bilgi edinmek için aşağıdaki projeleri kontrol edin:
- Arduino ve İşleme Kullanan Sanal Gerçeklik
- Arduino kullanarak Ping Pong Oyunu
- İşleme Kullanılarak Akıllı Telefon Kontrollü FM Radyo.
- İşleme ve Ultrasonik Sensör kullanan Arduino Radar Sistemi
Arduino'nuzu programlama:
Android uygulaması yüzü ve ekrandaki konumunu algılayacaktır; daha sonra yüzün ekranın ortasına gelmesi için yüzün konumuna göre hangi yöne hareket etmesi gerektiğine karar verecektir. Bu yön daha sonra Bluetooth Modülü aracılığıyla Arduino'ya gönderilir.
Bu proje için Arduino programı oldukça basit, Bluetooth Modülünden alınan değerlere göre iki servo motorun yönünü kontrol etmemiz gerekiyor. Tam kod bu yazının sonunda bulabilirsiniz, ben de aşağıda birkaç önemli çizgiler açıkladık.
Aşağıdaki kod satırı RX olarak D12 ve TX olarak D11 pinleriyle bir seri bağlantı kurar. Bu nedenle, D12 pimi BT modülünün TX'sine ve D11 pimi BT modülünün RX'ine bağlanmalıdır.
SoftwareSerial cam_BT (12, 11); // RX, TX
Daha sonra Bluetooth modülünü 9600 baud hızında başlattık. Modülünüzün de aynı baud hızında çalıştığından emin olun. Aksi takdirde buna göre değiştirin.
cam_BT.begin (9600); // Bluetooth iletişimini 9600 baud hızında başlat cam_BT.println ("Komut almaya hazır");
Aşağıdaki satır, Bluetooth modülünden gelenleri okur. Ayrıca veriler "BluetoothData" değişkenine kaydedilir.
if (cam_BT.available ()) // Bluetooth ile gelenleri oku {BluetoothData = cam_BT.read (); Serial.print ("BT'den Gelen:"); Serial.println (BluetoothData); }
Bluetooth'tan alınan verilere göre motor yönü kontrol edilir. Bir motoru sola çevirmek için, motor önceki konumundan 2 değerinde azaltılır. Kolun daha hızlı hareket etmesi gerekiyorsa, bu değeri 2'den 4'e veya 6'ya yükseltebilirsiniz. Ancak, kamerayı kararsız yapan bazı sarsıntılara neden olabilir.
if (BluetoothData == 49) // Sola Dönün {pos1 + = 2; servo1.write (pos1);} if (BluetoothData == 50) // Sağa Dön {pos1- = 2; servo1.write (pos1);} if (BluetoothData == 51) // Aç {pos2- = 2; servo2.write (pos2);} if (BluetoothData == 52) // Kapat {pos2 + = 2; servo2.write (konum2);}
Çalışma:
Donanımımız, kodumuz ve Android Uygulamamız ile hazır olduğumuzda, harekete geçme zamanı. Sadece Arduino'nuzu çalıştırın ve android uygulamasını açın. Uygulama otomatik olarak HC-05 (HC-05 olarak adlandırılmalıdır) Bluetooth modülüne bağlanacak ve bir yüzün algılanmasını bekleyecektir. Telefonu mobil tutucumuza yerleştirin ve önüne oturun. Telefonunuzu hareket ettiren servo motorlarınızın yüzünüzün ekranın ortasına yerleştiğini fark etmelisiniz. Şimdi kameranın kapsama alanı içinde hareket edin, cep telefonunuz hareketlerinizi takip edecektir. Herhangi bir resmi yerleştirip taşıyarak da deneyebilirsiniz.
Projenin tam çalışması aşağıdaki videoda gösterilmektedir. Çok şey inşa edebilirsin