Biyonik el yapımını, şu postta anlatmıştık. Şimdi gelelim en zevkli ve heyecan uyandıran kısma. Düşünce gücüyle bir şey nasıl kontrol edilir?
Bende 2 senedir olan bir oyuncak vardı. Oyuncak demeyelim artık, bir beyin dalgası algılama ve ölçme aparatı. Almanya’dan 2 sene önce aldığım bu aparat, NeuroSky şirketinin ürettiği 100$ altı ilk portatif beyin dalgası ölçme cihazı. 2004 yılında faaliyete geçen bu dünya çapında firma hakkında çok daha detaylı bilgi için firmanın sitesine bakabilirsiniz.
Bunun tam adı, aslında portatif EEG biosensör. Ve de Bluetooth bağlantısı kendi içinde mevcut. Dolayısıyla eğer biz bu aletle bluetooth yoluyla bağlantı kurabilirsek, burdan gelen sinyalleri kullanarak mikroişlemcimizin işleyeceği komutları belirleyebiliriz. Yani bu cihazı aslında bir potansiyometre gibi kullanabiliriz.
Peki nasıl yapacağız? Önce malzeme listemize bakalım.
MALZEME LİSTESİ
- Tabi ki bir adet EEG biosensör.
- Önceki postta anlattığımız biyonik el tertibatı
- Eğer ledli konsantrasyon seviyeölçer yapmak istiyorsanız, değişik renk ve miktarda led. Ben toplam 10 tane olmak üzere, 4 yeşil, 3 beyaz ve 3 kırmızı kullandım. Bunların ayaklarına da toplam 10 adet 220 ohm direnç gerekiyor, Arduino’ya girecek uçlara yani pozitif ayaklara.
- Eğer düşünce kontrollü bir aç/kapat prizi yapacaksanız, bir 5v röle gerekiyor. Tip122 transistör, 1N400x serisi hızlı diyot, 1 kohm direnç. Bir de tekli priz. Bu sayede prize takılabilen aklınıza gelen ne varsa kontrol edebilirsiniz.
- Arduino ve HC05, önceki projeden eldiven için kullandığımızı bu projeye alabiliriz.
ELEKTRONİK KISIM:
Ledleri ve Bluetooth modülünü aşağıdaki gibi bağlıyoruz. BlueSMiRF yerine HC05 koyuyoruz. Arduino modeli önemli değil, pinler yeterli geldiği sürece sorun yok. Dirençler için biz 220 ohm kullandık. Şemadaki gibi 47 ohm ya da 75 ohm değil.
Aşağıdaki şema konsantrasyon seviyeölçer tertibatı.
Bu seviyeölçeri kurduktan sonra, HC05 için modül ayarları yapmanız ve biosensörünüzün Mac adresini tanımlamanız gerekiyor. Modülü AT Command moduna alın, orada EEG Biyosensörünüzün Mac adresini HC05’e girin. Autoconnect’i açın ki otomatik olarak biyosensörle bağlantısını açtığınız anda yapsın. Baud Rate’i 57600’e ayarlayın.
**************************************************************
Bluetooth modülüyle Mindwave cihazını eşleştirme
Bu kısmı biraz açalım.
a. Öncelikle, Mindwave mobile cihazınızın Mac adresini bulmanız gerekiyor. Eğer üzerindeki stickerda bulamadıysanız; cihazı açıp, telefonunuz ya da bilgisayarınız ile tarama yaparak Mindwave’in Mac adresini görebilirsiniz. Bu adresi bir kenara not edin.
b. Şimdi burası kritik kısım. Hc05 modülünü AT moduna alıp konfigürasyonu yapmamız lazım. Ama her hc05 birbirinin aynısı değil. Modülüne göre işiniz çok kolay da olabilir, zor da. Kiminde KEY pini varken, kiminde EN veya WAKEUP pini olur. Bunlar bir yere bağlı olabilir veya olmayabilir 🙂
Biraz şansınız varsa (ya da henüz almadıysanız), modülü alırken dikkatlice bakın, köşesinde küçük bir buton görebiliyorsanız, işiniz nispeten daha kolay.
Eğer yoksa, biraz daha farklı bir metotla işi çözmek gerekecek. Neyse, daha oraya gelmedik, önce pin 34 (KEY) pini işini halledelim.
Lehim yapmadan kurtulmak için bir şansınız daha var, pin 34’e (Modül üzerinde, Arduino değil) KEY pini bağlıysa yırttınız (ölçü aletiyle kontrol edin, Çin mallarında bazen pin oluyor ama bağlı olmuyor!). Eğer değilse, pin 34’e daha sonra Arduino’ya bağlamak üzere pinli bir kablo lehimleyeceksiniz.
Eğer buna sahipseniz, şanslısınız, sağ üst köşede butonunuz var ve kolayca AT moduna alacaksınız demektir.
Eğer buton yoksa işe devam,
Yukarıdaki üç örnekte de gördüğünüz gibi, farklı farklı pinoutlara sahip modüllerden birine sahip olabilirsiniz.
Eğer yukarıdaki modüle sahipseniz, o zaman az önce anlattığım gibi pin 34’e pinli bir kablo lehimlemek zorunda kalacaksınız.
Sonuçta modülünüz ne tip olursa olsun, en temizi yukarıdaki şekilde bağlantınızı yapmaktır.
Arduino’nuza aşağıdaki kodu atın.
#include <SoftwareSerial.h>
SoftwareSerial BTSerial(2, 3); // RX | TX
void setup()
{
pinMode(4, OUTPUT);
digitalWrite(4, HIGH);
Serial.begin(9600);
Serial.println(“Enter AT commands:”);
BTSerial.begin(38400);
}
void loop()
{
if (BTSerial.available())
Serial.write(BTSerial.read());
if (Serial.available())
BTSerial.write(Serial.read());
}
Buton varsa, aşağıdaki adımları izleyin.
Modülün üzerindeki butona bir süre basılı tutun. Işığı 2 sn aralıklarla yanıp sönmeye başlayacak. Komut vermeye hazırsınız. Serial monitörü açın.
Buton yoksa;
Şimdi modül tipinize göre değişen metotlar var. Ama aslında hepsi aynı kapıya çıkıyor. Burada olay aslında bluetooth modülü enerji alıp çalışmaya başladığında KEY (pin 34) dediğimiz pin eğer 5v alıyorsa (HIGH), modülün AT moduna geçmesi. Dolayısıyla, bağlantıları yaptıktan sonra; ilk önce modülün enerjisini Vcc pinini çıkararak kesiyoruz. Sonra Arduino’yu içinde kod yüklü olduğu haliyle usb üzerinden enerji vererek çalıştırıyoruz. Ardından da çıkardığımız Vcc pinini geri takıyoruz. Sonra, Arduino, içindeki kod sayesinde modülün pin 34’ünü (KEY pini) kendi üzerindeki pin 4’ü HIGH yaparak (5v göndererek) modülü AT moduna alıyor. Modül 2 saniye aralıklarla yanıp sönmeye başladığında AT moduna geçmiş demektir.
c. Evet, sonunda modülü AT moduna aldığımıza göre, komutları vermeye başlayabiliriz. Serial monitörü açtıktan sonra bağlantı hızınızı doğru seçtiğinizden emin olun. Hc05 varsayılan olarak AT modunda 38400 Baud Rate ile haberleşecektir. Serial’den AT komutunu gönderin, cevap olarak OK almanız gerekiyor.
Şimdi aşağıdaki komutları göndermeye başlayın.
AT+NAME=BLUETOOTH TARAMASINDA CIKACAK ISTEDIGINIZ BIR ISIM
AT+UART=57600,0,0
AT+ROLE=1
AT+PSWD=1234 (BURAYA DİKKAT! BAZI SİSTEMLER İÇİN 0000 OLABİLİR, OLMUYORSA BİR DE ÖYLE DENEYİN)
AT+CMODE=0
AT+BIND=İLK AŞAMADA NOT ETTİĞİMİZ MINDWAVE MAC ADRESİ
AT+INQM=1,9,30 (BAZI MODÜLLERDE OK CEVABI GELMEZ AMA KAYDEDER)
Önemli bir not daha, AT yazınca OK cevabı almış olabilirsiniz, fakat sistem diğer komutlara cevap vermiyor olabilir. “Both NL & CR” seçeneğinin seçili olduğuna emin olun!
*************************************************************
Bu aşamadan sonra aşağıda yazılım kısmında verdiğim kodu da yüklediğinizde ve sensörü açtığınızda otomatik bağlantı kurulacak, beyin dalgalarınızın okunmaya başladığını ve konsantrasyon seviyenize göre ledlerin yandığını göreceksiniz.
Son olarak da lamba açıp/kapatmayı anlatalım. Yukarıdaki hazır sisteme sadece bir röle, hızlı diyot ve transistör bağlayarak, sinyal belirli bir seviyeye geldiğinde röleyi açıp kapatmamız mümkün.
Biz transistör olarak 2N2222 yerine Tip122 kullandık. 5Vluk röleyi Arduino sinyali ile tetikliyoruz, rölenin ayakları(NO) da butonumuzun vazifesini görüyor. Yani basitçe, prize 220v verdiğimizi düşünün fakat switch kapalı durumda. Biz mikroişlemci ile transistörün base’ine sinyal gönderip tetikliyoruz, transistör rölemizi tetikliyor ve 220v’un prize taktığınız her ne ise ona akmasını ve devrenin tamamlanmasını sağlıyor. Bu mikroişlemci sinyalini ise yazılım yoluyla, tıpkı bir önceki led sistemindeki gibi yapıyoruz. Yani yukarıda kurduğunuz sistemden bir led çıkarıp (tercihen 5. veya 6.) onun yerine bu sinyal kablosunu takıyoruz. Ve beyin kontrollü bir elektrik prizimiz oluyor! Kettle’dan, televizyona, elektrik süpürgesinden bilgisayara kadar aklınıza gelebilecek her şeyi açıp kapatabilirsiniz. Yazılımda ufak bir revizyonla da, bir kere açıldıktan sonra bir süre konsantrasyon seviyesinden bağımsız olarak işlem yapmamasını sağlayacak bir script eklediğinizde, bu sistemin olanakları sonsuz oluyor! Araba bile çalıştırabilirsiniz, hatta ve hatta kullanabilirsiniz. Ben fikri vereyim de yapmak size kalsın 🙂 Ya da gelin beraber yapalım her zaman dediğim gibi.
Ele gelirsek, çok basitçe verdiğim kodu yükleyin, ve de bağlanın. Motorları da uygun pinlere bağlayın, kodun içinden pin numaralarına bakabilirsiniz.
YAZILIM KISMI:
Yazılım kısmı için 2 kod vereceğim size. Led veya lamba yakmak için şu kodu kullanın –>> beyin_dalgası_led_ve_ampul_yakma
Ve de biyonik eli beyin dalgaları ile kontrol etmek için şu kodu –>> bionikel_el_beyin_gucu_el_kontrol
Zamanla dediğim gibi buraları gelişecek 🙂 Şimdilik sosyal medyadan sorularınıza ancak yetişebiliyorum. Çekimler sonunda çok daha detaylandırılacak. Şu anda neredeyse aylardır hiç uyumuyoruz, ve inanın şaka değil bu! Şu postları yazmak bile o kadar zamanımızı alıyor ki, ama amacımız sizlere şov yaparak neler yapabildiğimizin sunumunu yapmak değil, sizlere nasıl ve neden yaptığımızı bütün detaylarıyla anlatmak, sizin de bir şeyler yapmak için harekete geçebilmeniz için sizleri heyecanlandırmak. O yüzden bize biraz zaman verirseniz yeterli kaynak oluşturmaya çalışacağız sizlere.
Dikkat ederseniz, yaptığımız her projenin bütün çizimlerini, kodlarını, detaylarını sizinle de paylaşıyoruz. Bunların hepsini size sunmak radikal bir fikirdi, ama başından beri savunduğumuz bilgi paylaşımı sayesinde biz buralara geldik, hepinize de yol göstermek isteriz. Bir kişiye bile dokunabilsek ne mutlu bize!
SONUÇ:
İmkansız gibi görünse de, aslında işte bu kadar basit.
PEKİ, HER ŞEY TAMAM DA, SON SAHNEDEKİ HELİKOPTERİ NASIL KALDIRDINIZ?
Biyonik eli oynatmaktan çok daha basit aslında. Sistem fark ettiğiniz üzere bir potansiyometre gibi davranıyor, benim de tek yaptığım, helikopterin kumandasındaki kaldırma joystick’ini sökerek, Arduino bağlantılarını kumandaya yapıp, beyin komutlarını oraya yönlendirmek. Dolayısıyla, aslında kumandasındaki joystick’i parmakla ittirerek havaya kaldırdığınız helikopterden mekanik faktörünü devre dışı bırakıyoruz, ve direkt oradaki potansiyometrenin(joystick’in) vereceği komutları simule ediyoruz.
Bu postları çekimlerin ardından bütün ayrıntılarıyla detaylandıracağım, ve sosyal medyada paylaşacağım. Takipte kalın!
Türk İşi ekibi sosyal medya hesapları:
Facebook: facebook.com/ntv.turkisi Twitter: @ntv_turkisi Instagram: ntv_turkisi Youtube kanalı: TÜRK İŞİ
Kişisel hesaplarımız:
Murat Kızılkaya Twitter: @muratkizilk, Instagram: muratkizilk
Metin Şahin Twitter: @MetinSahin_m, Instagram: METINSAHIN_M
Fatih Yıldız Twitter: @FatihTvittir, Instagram: fatihyildiz1981
Özkan Özarslan Twitter: @ozkankim, Instagram: ozarslanozkan
Yanıtla
28 Yorumlar on "Düşünce Gücü ile Biyonik El Kontrolü Nasıl Yapılır?"
Tebrik ederim, oldukça güzel çalışmalar. Sizce elektronik ve programlama hobicilerinin bu tür projeleri hayata geçirebilmeleri için nasıl bir yol izlemeleri gerekiyor?
Bunların hepsi evinizde bile yapabileceğiniz şeyler! Bolca okuyun, çözüm üretin, bulamadığınız her şey için pes etmeden yerine geçebilecek şeyler uydurun. Flex sensörün 275+kdvye gelmesinin bizi yıldırmaması gibi. Her şeyin bir çözümü vardır, yeter ki Özkan’ın dediği gibi, elinizi kirletmeye hazır olun.
Her şey tamam da ne düşünerek motorları hareket ettirdiniz? Fonksiyon mu? Yada ileri/geri git gibi mi?
Beyin dalgaları analizi sonucunda bir konsantrasyon seviyesi ölçümü elde ediliyor. Bu seviye kullanılarak motorların pozisyonu belirleniyor.
öncelikle böyle bir paylaşımda bulunğunuz için teşekkür ederim benim bi sorum olacaktı diğer projenizdeki bionik eli yaptım gayet güzel oldu ( tabi sizinki kadar değil ) şidi düşünce gücüne geçtim bu EEG biosensör nerden temin edebilirim birde ondan sonraki aşamada hangi yolu izleyeceğim yardımcı olursanız çok sevinirim
Merhaba Can, yukarıda sorularının cevapları mevcut aslında. Temin edilecek yerin linki de var, sonraki aşamalar da. Anlamadığın yeri sorarsan cevaplarım.
Merabalar gercekten cok iyi anlatim olmus bununla ilgili bir sorum olucakdi acaba bu eeg yerine bu cihaz olurmu fiyat olarak daha uygunda ? http://ru.aliexpress.com/item/Free-shipping-toys-wholesale-celebration-party-Necomimi-Mood-Ears-Mind-Cat-Ears-Brain-Waves-Intelligent-Control/32322191391.html?spm=2114.03020208.3.124.0s3YQi&ws_ab_test=searchweb201556_2_71_72_73_74_75,searchweb201527_5,searchweb201560_9
Merhaba! Linkteki sistemi kullanmadığım için bir yorum yapmam mümkün değil maalesef. İlla ev yapımı versiyonunu yaptıracaksınız bize 🙂
ben çok meraklıyım bende sizin gibi deneyler yapmayı çok isterim çocukluğumdan beri meraklıyım elektronik deneylere ben meslek okulunda okuyorum bn hangi bölümü seçsem sizin gibi deney yapma imkanım olur lütfen bana yardım edin
Merhaba Emirhan. Mühendislik okumanın önemli avantajları olacaktır elbette, fakat onunla sınırlı değilsin! İnternette bilgi bulabileceğin pek çok kaynak var ve kendini geliştirebilmen için projeler yapabilmek artık eskisi kadar zor da değil. Hemen kolay projelerden seç ve bir şeyler yapmaya başla, zaten bir süre sonra kendi kendine çok şey yapabildiğini sen de göreceksin. Bizim projelerden basit olanlarla başlayabilirsin.
Merhabalar öncelikle ellerinize sağlık Türkiye’de böyle çalışmaları görmek gerçekten harika tebrik ediyorum.Mind wave mobile cihazım var fakat At komut mod unda hc 05 in Mac adresini nasıl tanıtabilirim modul e tanıta bilmem kısmı hakkında At mod unda nasıl yapabilirim yardımcı olabilir misiniz detaylı bir anlatım lütfen teşekkürler saygılar
Aziz merhaba. Postu güncelledim, AT moduna nasıl alınacağını ve verilecek komutları detaylıca anlattım, bakabilirsin.
Tesekkur ediyorum sagolun
Murat Bey ilginiz için çok teşekkür ediyorum.At komutlarını sayenizde çalıştırmayı başardım teşekkürler ama yine bir sorunum var bütün at komutlarına ok cevabı alıyorum sorguladığımdada girdiğim veriler çıkıyor yalnız AT+BIND=mac adresi yazıyorum devamlı error alıyorum sıkıntı acaba nerede yardımcı olurmusunuz teşekkürler
Tam olarak yazdığın komutu söyler misin oraya, hatta screenshot olursa daha iyi olur.
Abi merhaba, şu beyin olaylarını görüntüleyen cihaz sadece 2 farklı dalga mı veriyor yani 2 röleyi farklı farklı kontrol etmek mümkünmü. Bu arada çok güzel videolar çekiyorsunuz. Başarılar…
Hayır, aslında pek çok dalga boyunu görebiliyoruz. Fakat en net okunan ve birbirinden rahat ayrışan 2 dalga boyu var, alfa ve beta. Yani 2 farklı röle kontrol etmek mümkün.
Demek istediğim bir akıllı ev yapsak bu cihaz ile evdeki lambayı televizyon kanallarını kapı otomatigini kontrol edebilir miyiz hepsi bir anda ancak farklı farklı. Cevabınız için de teşekkür ediyorum.
Evet, edebilirsin. İnternette pek çok proje var bu işi yapan. Evde bir sunucun olacak (en basitinden internete bağlandığın modem, daha gelişmiş versiyonlarda ev için ayrı bir yazılım+donanım ve web üzerinde ayrı bir yazılım+donanım, bir de kontrol cihazında ayrı bir yazılım+donanım) ve bu sunucu bağladığın her cihazla iletişimi sağlayacak. Kontrol edeceğin cihazlara yönelik bir mekanizma yapman şart tabi. Yani ışık açıp kapatacaksan röle+wireless çip ile oraya fiziksel olarak gerekli sistemi kurmak gibi.
Son helikopteri kaldırdığınızda joystick in sadece y yön çıkışını mı bağladınız çünkü helikopter sadece yukarı çıkıyor.Bir de helikopter için yaptığınız bağlantıları ve kodları paylaşırsanız çok dua ederiz size:)
Throttle çıkışını bağladık, fakat hepsi bağlanabilir. Diğer yorumları okursan orada detaylandırmıştım biraz nasıl yapılacağını. Arduino’dan servoya değil, joystick’e komut vereceksin, kodlar çok az değişiyor.
Öncelikle tebrik ederim bisey soracaktm bn sadece bunu eli taklit ederek yapmak istiyorum malzeme listesini atarmisiniz acaba bide arduino yazilimini
Verdiğim ayarlarla çalışması gerekiyor. Bir de şunu dene. Mindwave pair butonunu yukarı doğru basılı tut. Bir süre sonra kırmızı ışık yanacak. O zaman bırak.
Tüm AT komutlarına cevap aldım,fakat mindwave bağlanmıyor.yardımcı olursanız sevinir 5 gündür uğraşıyorum.pair modunda bekledim olmadıyani seri porttan mindwave komutlarım okunmuyor.yardımınıziçin Şimdiden teşekkür ederim.
Çalışması gerekiyor. Geçtiğin aşamaları çok detaylı satır satır yaz ki problemin nereden kaynaklandığını bulalım.
Yazıyı güncelledim. Bazı sistemler için şifreyi 0000 olarak kullanmak gerekebilir, bir de öyle dene.