Bluetooth Watch Project – Behind the Scenes

EnglishTürkçe

If you are unfamiliar with the project please check out the posts linked below :
OBWIous – Opensource Bluetooth Watch Initiative Announcement
Update on the OBWIous

Hi my fellow readers ,

In this post , i wanted to share the story behind the bluetooth watch project and answer some questions like why , how and when…

Why?

There is not only one answer to this question , i had a bunch of reasons to make the bluetooth watch…

Remote Mediaplayer Controller

  • Navigate through playlist remotely
  • See the exact name & info about the playing song.
  • Twit what is playing

Social Media Monitoring

  • Check out SMS Inbox,MailBox,RSS Feeds,Twitter Updates,Facebook Notifications etc.
  • Check in at Foursquare.
  • Get information about environment… Closest Cinema , Theater , Restaurant etc…

These were the reasons as a “User”.

Now lets see what reasons i had as a “Developer”
Find the answer for the question : “Can i make it?”
To Push the Limits of my own
To Have Fun

When?

This idea has been in my mind for more than a year.Since i switched to N900 last summer, the need for such a device has increased.Why it increased , because i had lots of buttons to interact with my n95.And they were all remap-able. They are remap-able on n900 too.But it doesnt that many buttons to be useful.

How?

First i needed to choose the microcontroller for the project, at first i thought that i can build such a thing with an ATtiny85 😀 fortunately i couldnt find it any electronics shop close to my neighbourhood.Later i decided to go with the Arduino Pro Mini , i had some hesitations because , because i never had programmed an arduino without an USB jack but later i figured it out and used my Arduino Severino as a Programmer.Then i had hesitation about whether to go with a 3310 screen(Graphic LCD) which is easier to solder & drive or go ahead and choose the harder & risky one which is the 6610 screen(Color LCD).Well… i choosed the harder & risky one… because i knew it would be useless and  look really bad with a green graphic lcd…But 6610 screen took a week to solder and drive correctly.There was a tiny tiny socket i couldnt solder so i brought it to a electronic technician(who is an expert on his job) to see if they can get those connection pins out of socket , so i can work easily.You should have seen the face of technician 😀 . “OMG man hey this is not something a human can solder this needs microelectronic stuff” whatever… I was almost giving up… I abandoned the project for 2 days i guess… Then motivated myself and started again…I learned how to make PCB , tried to make it 6-7 times and couldnt succeed… meanwhile i decided to untape the tape i noticed earlier behind the screen.That was the greatest moment in whole of the project 😀 i cant explain how much happy i was and both shocked 😀 All the tiny pins in the socket , had big printed areas to solder 😀 just check out the images below 😀

After solving this problem , my movitation doubled… i soldered screen onto watch , even though i had some problems later too , that didnt lower my motivation after Socket Pins Shock 😀 Then added 5 navigation buttons 4 for up,down,left,right and 1 for select , and then added tilt sensor…So everything related to hardware was done..Then i started working on software i did some demos. Controlled Media Player of my phone… Then i started re-coding everything in OOP.Created Screen,UI,Widget,Input etc. classes…

Lets see how much it cost to build?

1- Nokia 6610 Grafik LCD  ( 4 $)
2- BlueSmirf Gold ( 90 $ )
3- Arduino Pro Mini ( 20 $)
4-Tilt Sensor ( 1 $ )
5 – Cables , Resistors etc. ( 3 $ )
6 – 2 ~ 3 weeks

Total : 120 $ ~

Projeden haberdar değilseniz lütfen öncelikle alttaki linkleri ziyaret edi :
OBWIous – Opensource Bluetooth Watch Initiative Announcement
Update on the OBWIous

 

Merhaba Değerli Takipçilerim , Okuyucularım
Bu yazımda sizlerle açık kaynaklı saat projemin arkasındaki hikayeyi paylaşıp , neden , nasıl , ne zaman gibi bir kaç soruya cevap vereceğim..

Neden?

Bu sorunun tek bir cevabı yok , o yüzden hepsini alt alta listeleyeceğim.

Telefon MediPlayer Kumandası

  • Müzik listesinde gezmek
  • O an çalan şarkının tam adını ve detaylı bilgisini görebilmek
  • O an çalan şarkıyı twitter profilinde paylaşmak
    ve bunların hiç birini telefona dokunmadan saat üzerinden yapabilmek 🙂

Sosyal Medya Takibi

  • SMS Gelenkutusunu , Yeni Gelen Mailleri ,RSS Kaynaklarını,Twitter Güncellemelerini ,Facebook Uyarılarını saat üzerinden kontrol ve takip etmek
  • Foursquare’da yer bildirmek.
  • O an bulunduğunuz çevre hakkında bilgi alıp , en yakındaki Sinema,Tiyatro,Restoran bilgisini direk saat üzerinden görebilmek

Bunlar “Kullanıcı” bakış açısıyla sahip olduğum nedenlerdi.

Şimdi de bir “Programcı” bakış açısıyla sahip olduğum nedenlere bakalım.
“Yapabilirmiyim” sorusuna cevap bulmak
Limitleri zorlamak
Eğlenmek

Ne Zaman?

Bu fikir bir yıldan fazla süredir aklımdaydı.Geçen yazın başında N900 kullanmaya başladığımdan beri böyle bir saate olan ihtiyacım arttı.Neden Arttı? Çünkü önceki telefonum olan n95 üzerinde telefonla etkileşime geçmemi sağlayan bir çok buton vardı ve bu butonların hepsinin işlevi ayarlanabiliyordu.N900 üzerinde butonların işlevi değiştirilebiliyor fakat butonların az olması bunuda bir çözüm olmaktan çıkarıyor.

How?

En başta proje için bir mikroişlemci seçmem gerekti, başlangıçta ATtiny85 mikroişlemcinin işimi görebileceğini sandım 😀 Neyseki yakın çevremdeki elektronikçilerde bu mikroişlemciden bulamadım.Sonrasında Arduino Mini Pro kullanmaya karar verdim, bu aşamada da bazı endişelerim oldu , çünkü daha önce hiç TX&RX üzerinden programlanan bir geliştirme kartı ile çalışmamıştım, ama sonrasında Arduino Severino’mu programlama arayüzü olarak kullanabileceğimi öğrendim ve bu problemde çözülmüş oldu .Bunuda çözdükten sonra saatim için bir ekran seçmem gerekliydi 2 seçeneğim vardı Ya bir çok yönden kullanımı kolay ama renksiz 3310 ekranını seçecektim yada kullanımı zor ve riskli renkli 6610 ekranını seçecektim.Zor ve riskli olmasına karşın 6610 ekranını seçtim .Çünkü renksiz bir ekranla saatin kötü gözükeceğini ve büyük oranda işe yaramaz olacağını düşündüm.Ama bu seçim ekranı çalışır hale getirmemin bir haftadan uzun bir sürmesine sebep oldu.6610 ekranının çok çok küçük pinleri olan bir soketi vardı , lehimlenmeyecek kadar küçüktüler bu yüzden yakınlardaki uzman bir elektronik teknisyenine götürdüm ve bu pinleri kullanabileceğim bir şekilde dışarı çıkarıp çıkaramayacaklarını sordum  , .Adamın o anki yüzünü görmeliydiniz 😀 .” Yok arkadaşım bunu nasıl lehimleyelim biz küçücük bişey bu mikrolektronik lazım buna “herneyse … Bunu duyduktan sonra neredeyse pes ediyordum… Projeyi 2 günlüğüne tamamen bıraktım…Ama sonrasında bir şekilde motivasyonum geri geldi…Baskı devre nasıl yapılır öğrendim, 6-7 defa sokete uygun devreyi yapmayı denedim … bu sırada daha önceden ekranın arkasında farkettiğim bandı kaldırmaya karar verdim.Projedeki en şok edici anı o zaman yaşadım 😀 O an ne kadar mutlu olduğumu anlatamam 😀 O soketin içindeki küçücük pinlerin hepsi bandın altında açık ve geniş bir şekilde kullanım için çıkarılmıştı 😀 alttaki resme bakın ne demek istediğimi anlayacaksınız 😀

Bu problemde çözülünce motivasyonum ikiye katlandı… ekranı saate lehimledim , bundan sonrada problemler yaşamış olmama rağmen hiç biri Soket Pinleri Süprizinden sonra motivasyonumu düşüremedi 😀 Sonrasında 4’ü yön ve biri seçim için olan 5 button , ve eğim sensörü ekledim..Bu aşamada donanıma dair herşey bitmişti..Yazılım tarafına çalışmaya başladım bir kaç test yaptım,Basit bir arayüzle telefonumun media oynatıcısını kontrol ettim… Sonrasında tüm kodları Nesne Yönelimli olarak tekrar yazmaya başladım Ekran , Widget , Girdi  sınıfları oluşturdum…

Peki bütün bunları yapması ne kadara maloldu?

1- Nokia 6610 Grafik LCD  ( 7 TL)
2- BlueSmirf Gold ( 150 TL)
3- Arduino Pro Mini (40 TL)
4-Eğim Sensörü ( 2,5 TL )
5 – Kablolar , Dirençler vs. ( 5 TL )
6 – 2 ~ 3 hafta

Total : 200 TL ~

 

One response to “Bluetooth Watch Project – Behind the Scenes”

  1. thegooday Avatar
    thegooday

Leave a Reply

Your email address will not be published. Required fields are marked *