Buton ile Step Motor Kontrolü

Bloğu çok ihmal ettim, bu demek değildir ki arduino’ya dokunmuyorum. fırsat buldukça bir şeyler yapıyorum fakat istediğim hızda, özellikte değil tabi. bu arada yazı yazmak oldukça meşakkatli bir iş. öyle yarım yamalak yazmakla olmuyor, bundan bir kaçış yolu olarak ölmemekte direnen friendfeed’e yazı yazarak, yorum yaparak geçiştiriyorum, orası kapansa blog coşar diyemeyeceğim, başka bir mecrada aynı şekilde akacağız biliyorum.

neyse girişi uzatmayalım, olayımız arduino ile motor kontrol etmek, aslında yapmak istediğim şey servo motor ile çok kolay yapılıyor da yine de merak ettiğim bir kaç şey vardı, onun için bir step motor buldum, onu kullanayım dedim, her yerde kolaylıkla bulunan M35SP-7N step motor aldım, bir de sürücü lazımmış onu unutmuştum, sonra onu da aldım. motor 6 tl, ULN2003A sürücü 75 kuruş, bir sürü aldım ondan. motorun gücünü bilmediğimden bir tane aldım.

motor tırtmış, anca kendini döndürüyor, boşta bir iki dişli çeker, 50 gramdan fazla ağırlığı olan bir şeyi kıpırdatamaz bence. zaten pek bir şey beklemiyordum, dönmeyi, kontrol etmeyi öğreneyim yeter demiştim, o işe yaradı.

sistem basit, kod gayet kolay okunabilir, step motorların içindeki kafaları sırayla HIGH ediyorsun motor dönüyor, tersine HIGH edince geri dönüyor, saçma sapan HIGH edince VIR VIR edip bişey yapamıyor 🙂

HIGH arasında geçen süreyi azaltıp, uzattıkça hızı kontrol ediyorsun, bunların limitlerini motor belirliyor falan filan. eğlenceli bişey yani.

hayal ettiğim 3 motor sürücüsü ve 3 motor ile 3 boyutlu yazıcı yapmaktı tabi ama anca bir bandı sağa sola çevirdim 🙂

20131216_212716hareketi görebilmeniz içinde video çektim, güzel oldu bence.

kablo bağlantıları her yerde var ama güzelce fritzing ile anlaşılabilecek şekilde çizip fotoğraflayacağım, ben örneklerden bir şey anlamayıp ya nasip diyerek bağladıydım devreyi, şansa çalıştı, ondan sürücüyü bol almıştım, kesin yakarız diye.

sürücüyü yakmadım ama butonları test ederken en sevdiğim dev kırmızı ledimi yaktım. yanlışlıkla 5V a bağlamışım butona basınca vizirdayıp yandı led :/ direnç şartmış.

kodlar burada:
https://github.com/kaanceyhan/bocekduino/blob/c46bc9c964f4ee16a83b29c64acdae1c1150eb29/PushButtonStepMotorControl.ino

video da bu:

cCc BocekDuino Robotics cCc

Reklamlar

Çizgi TAGEM ile BeagleBone ARM Cortex – A8 alma şansı!

Blog arduino üzerine ama her türlü işe yarar programlanabilir zamazingo ile ilgileniyorum 🙂
BeagleBone ise ilk duyurulduğu günden beri takip ettiğim, çok hevesle kullanmak istediğim bir platformdu. çünkü arduino uno gibi teknik olarak kısıtlı sistemlerde çalışırken bazı konularda uğraşmak (32 KB Flash bellek, 16MHz hız vb) eğlenceli olduğu kadar da can sıkıcıydı. bazı noktalarda son çıkan ethernet shield işe yarasa da pc bağlantılı kullanmanın rahatı hiç bir yerde yoktu. BeagleBone ise önceki BeagleBoard‘u örnek alarak arduino yapısına benzer bir ürün ile dikkatleri üzerine çekmiş, ardından bizim gibi meraklıları dört gözle kendisini bekler durumda bırakmıştı. yurtdışı siparişini vermek için stokların yeterince çoğalmasını beklerken Çizgi TAGEM‘in kampanyasını gördüm. sadece 200 adetle sınırlı kalması hevesimi kaçırsa da (ilk duyurulduğunda arduino için tüm paramı harcamıştım.) uzun süre bu 200 adet tükenmeyince hem üzüldüm (böyle bir fırsatı değerlendirecek yeterince kişi olmamasına) hem de sevindim. en sonunda yeni ayın bütçesi ile BeagleBone siparişini geçtim. Bakalım neler gelecek.

Eğer bu tür kartlarla ilgileniyorsanız süper bir fiyata almak için elinizi çabuk tutmakta fayda var.
http://www.cizgi-tagem.org/e-market/product.aspx?id=710

Arduino Türkiye Yeni Yazı Arduino UNO & 16×2 LCD (PCM1602B)

Uzun zamandır arduino ile ilgilenemiyor, buraya yeni yazı ekleyemiyordum. Arduino Türkiye grubu kurulduğundan bundan sonraki yazacağım Arduino yazılarını oraya ekleyeceğim. böylece Arduino ile ilgili Türkçe kaynaklar tek bir yerde tutulmuş olacak ve grup içerisinden yazılmış bir yazıyı tekrar yazmak için zaman kaybetmemiş olacağım.

Bu blog’u ise Arduino ile tanışmama sebep olmuş olan araştırmalar için geliştirdiğim konulardaki yazıları yayınlamak için kullanacağım. uzun zamandır işlerim yoğun olduğundan bir çok yazıyı yazamamıştım, bundan sonra yazı yazmak ve yeni projelerle uğraşmak için vaktim olacağından yakında bir çok konu ile ilgili yazıyı hem buraya hem de Arduino Türkiye‘ye yazacağım.

Son yazmış olduğum Arduino UNO ile 16×2 LCD (PCM1602B) kullanımı ile ilgili yazıyı Arduino Türkiye sayfasında bulabilirsiniz. yazının önemli özelliği standart LCD kütüphanesinin Türkiye piyasasında bulunan 16×2 LCD (PCM1602B) modeli için bir kaç değişikliğe ihtiyaç duyması. bunun dışında Arduino ile LCD kullanımı gayet basit bir olay.

Cumartesileri sevmek ve arduino ile ilgilenememek :/

Her cumartesi günü içimi yeni bir şeyler öğrenmek, denemek ile ilgili bir heyecan kaplıyor.
Fakat zamanın yetersizliği (bu aslında kendimi kandırdığım bir şey), üşengeçlik, ileride daha iyisini yaparımcılık gibi bahanelerle yapacaklarımı atlıyorum. her atladığım konu aklımda kalıyor ve daha çok vicdan azabına sebep oluyor.
o yüzden aklımdakileri buraya sıralayayım da ihtiyacı olanlar bu konuda beni teşvik etsin ben de bir şeyleri daha hızlı bitireyim.
elimde arduino ve arkadaşları ile yapabileceğim bir sürü ekipman birikti. fırsatım oldukça yapmak istediğim konularla ilgili ekipmanları satın alıyorum. (blog nerdeyse sahip olduğum ekipmanları sıraladığım bir blog’a dönüştü bu yüzden :/ )
fırsat buldukça bu elemanları çalıştırıyorum fakat güzel bir blog yazısı yazacak zamanım olmadığından buraya bu bilgiyi yazamıyorum. buraya arduino ile ilgili yapacaklarımı yazayım ihtiyacı olanlar istekte bulunsun ilgili yazıyı hemen yazayım.
1-16×2 LCD ekran kullanımı
2-One Wire DS18B20 Sıcaklık sensörü kullanımı
3-SHT15 Sıcaklık ve Nem Sensörü kullanımı
4-7 Segment kullanımı
5-8×8 Dot matrix ekran kullanımı
6-Sıcaklık sensörleri karşılaştırması
7-arduino uno’nun 9v pil ile çalıştırılması
8-takım çantası ve kutu incelemesi
listeyi fırsat buldukça güncelleyeceğim. arduino ile yapmak istediklerinizi iletirseniz elimde uygun olan elemanlar ile yapabildiklerimi gerçekleştirip bildiririm.

Arduino’yu çalıştırıyoruz…

Yine geç gelen ama gelmesinin çok önemli olduğunu düşündüğüm bir yazı bu.

Arduino ile yaşadıklarımı bu blog’da adım adım yazmak istediğimden atlamak istemediğim bir konu. arduino’nun ilk kez çalıştırılması.

Aslında önemli bir olayı yok ama ben bir süpriz bekliyordum kendisinden.

gelen malzemelerin kutusunu güzelce açtım masanın üzerine yerleştirdim.

Arduino’yu edinmeden bulduğum kitaplardan Apress’in Beginning Arduino kitabının ilk projesini gerçekleştirmek için breadboard’a bir led ve direnç yerleştirip kitapta gösterilen şekilde arduino ile bağlantıyı yaptım. (bu noktada konuyu biraz uzatacağım. apress’in kitabını internet üzerinden temin edebilirsiniz fakat şans eseri kitaptaki ilk örnekleri anlatan erişime açık bir kitap daha buldum ve bundan sonraki örnekleri bu kitaba göre yazacağım. kitabı bu linkin en alt kısmından edinebilirsiniz.)

Kitaplardan birebir yaptığım örnekleri burada adım adım yazmayacağım. yaptığım hataları ve dikkat edilmesi gereken kısımları yazacağım. daha sonra kendi geliştirdiğim çözümleri detaylı şekilde açıklayacağım.

Arduino IDE’sine örnek kodları yazıp önce Verify butonuna bastım ve ardından Upload butonuna bastım. hayal ettiğim led’ciğimin yanıp sönmesi iken IDE’nın alt kısmında kırmızı bir uyarı beni bekliyordu :/avrdude: stk500_getsync(): not in sync: resp=0x30

bir hata almayı bekliyordum ama bu kadar çabuk değildi!

hemen hata kodunu google’da arattırıp sorunun çözümünü bulmaya çalıştım fakat ilk bulduğum çözümler hiç iç açıcı değildi. işletim sistemi değiştirmekten, başka pc’de denemekten bahsediliyordu.

avrdude: stk500_getsync(): not in sync: resp=0x30
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

son olarak hata ekranının üzerinde yazan Problem uploading to board. See http://www.arduino.cc/en/Guide/troubleshooting#upload linkini kullanmaya karar verdim.

Meğerse sorunun çözümü tam da karşımdayış. IDE ilk açıldığında tools menüsünün çok yavaş olmasını fark etmiştim zaten.

Burada da belirtildiği gibi tools menüsü çok yavaşsa Serial port seçim ekranı açılmamakta ısrar ediyorsa sorun bilgisayarda bulunan bluetooth serial portları ve bunun gibi seri port simulasyonu yapan sürücülerden kaynaklanıyordu. bunları devre dışı bırakmak gerektiği yazıyordu.

Hemen aygıt yöneticisinden bluetooth’u kapatıp Arduino IDE’sini yeniden başlattım, Tools menüsü fark edilecek şekilde hızlı açıldı. ve kodu upload edebildim.

Sonunda karşımda ışıl ışıl yanan bir led bulunuyordu!

LED FlasherEvet artık arduino, ben ve verdiğim komutla yanan bir led ile karşılarşıyaydım.

Bunun heyecanı ile kitaptaki led örneklerinin hepsini tamamladım. bu sırada arduino IDE’sine de yavaş yavaş ısındım. kod yazımı gayet basit.

Bu aşamada kullandığımız tek komut pin’e HIGH ile 5V vermek ve LOW ile verdiğimizi geri almak.

DELAY işlemciye beklemesi gereken mili saniyeyi bildiriyor. bir kaç led daha ekleyip kendi kendime biraz daha eğlendim.

bundan sonra ise beni sensörlerim bekliyordu.

Arduino 101

En sonunda yeni yazılar yazabilecek zamanı bulabildim. son durum ile ilgili kısa bir özet geçiyorum;

Satınalma yazılarından sonra hiç kullanım yazısı yazamadım ama sanmayın ki arduino ile hiç ilgilenmiyorum. ilk iki günde takip ettiğim kitaptaki LED örneklerinin hepsini gerçekleştirdim. Starting Kit ile gelen LED’ler yetmeyince eksik parçaları tamamladım. ve biraz daha devam ettim. LED ve buton örneklerinden sıkılınca asıl hedefim olan sıcaklık sensörlerine gözümü diktim ve hepsini çalıştırmayı başardım. ePIR hariç elimdeki tüm sensörleri çalıştırdım. 16×2 LCD biraz zorluk çıkarttı ve tarihin tozlu sayfalarına karışmış olan havyamı çıkartmak zorunda kaldım. (bir adet havyaya ihtiyaç duyacaksınız.) LCD’yi de çalıştırdıkdan sonra son sipariş verdiğim servo motor ve sıcaklık & nem sensörünü de çalıştırıp blog’a yazı yazma zamanının geldiğine karar verdim. Arduino ile ilerlemek çok hızlı ve heyecan verici. umduğumdan az zorlandığımı söylemeliyim.

Paketin açılması!

unboxing arduino statarter kitRobit arduino starter kit için kırmızı bir kutu hazırlamış. kendime yeni bir takım çantası alana kadar bu kutu ile iadare etmeye çalışıyorum. cetveli ebatları konusunda size daha iyi fikir vermesi için kullanıyorum. bilindik bir cetvelle ebatları kafanızda canlandırmak daha kolay oluyor.

Ve karşınızda Arduino UNO!

Kutuda Arduino UNOilk elime aldığımda biraz küçük gelmişti ama şimdi bu minik canavarla yapılabilenleri iyice kavradıkça ve asıl yapmak istediklerimi düşündüğümde bunun kocaman bir sistem olduğunu düşünüyorum. kullanmadığım zamanlarda arduino’yu bu kutuda saklıyorum. çok şık bir kutu tasarlamışlar.

Ve işte Arduino UNO. uzun süre takip ettiğim bu aleti kutusundan çıkartmak çok heyecan verici. kutu içeriğindeki sticker ve arduino’yu desteklediğimiz için teşekkür mektubu güzel düşünülmüş detaylar.

Arduino UNO İçeriğikutudan sticker çıkmasını bekliyordum. bir de robit’in kutusundan böyle şeyler çıkmasını beklemiştim ama robit kutusundan başka bir şey göndermemiş. yine de arduino’yu türkiye’ye getirmeleri yeterli.

Arduino Starter Kit içeriğiRobit tarafından seçilen Sparkfun Arduino Starter kit eşedeğeri kitimizin diğer parçaları. USB bağlantı kablosu, atlama kabloları, biraz direnç, led, trimpot, termistör, buzzer, buton, fotosel ve FlexiForce basınç sensorü.

Başlangıç için tamamen yeterli ve eğlenceli bir set olduğunu söyleyebilirim.

 

 

 

 

Herşeyi üzerinde yapacağımız breadboard’ımız. starter kitlerde minik bir breadboard geliyordu. onun yerine bunu yollamışlar. gayet de güzel olmuş. yanında bulunan besleme hatları ile çok güzel devreler oluşturabiliyorsunuz.

350 parça bağlantı kiti, ayarlanabilir kutu

 

350 parça bağlantı kiti, ayarlanabilir kutulu. madem bu işi breadboard üzerinde yapacağız bir de bu minik bağlantı zamazingolarından alayım dedim. Ayarlanabilir kutusunda 350 parçalık bağlantı kabloları çok işe yarıyor. iyi ki almışım dediğim araçlardan birisi oldu. bunlar sayesinde breadboard üzerinde çok şık devreler oluşturabiliyorsunuz.

Transparan Mifare RFID TAG, ePIR, DS18B20 One Wire Temperature SensorBunlar benim starter kit’e ek olarak sipariş ettiğim parçalar. Transparent Mifare RFID Tag, Zilog ePIR, DS18B20 One Wire Temperature Sensor. RFID Tag’ı bir projede kullanmayı planladığımdan okuyucusu olmadan ebatları hakkında fikrim olsun diye aldım. Zilog ePIR hareket dedektorü, DS18B20 one Wire Temperature sensor sıcaklık ölçümleri için starter kit içindeki termistör yerine kullanacağım sıcaklık sensörüm.

Güneş PiliGüneş Pili, yine denemek için aldığım güneş pili. 4.7V, 100mA ürettiği söyleniyor ama bir türlü çalıştırma fırsatı bulamadım. arduino’yu güneş pilleri ile çalıştırmak istediğimden aldım ama UNO’ya yeterli gelip gelmeyeceğini bilmiyorum.

bu yazıyı burada bitirip arduino’nun çalıştırılmasına geçiyorum.

fotoğrafları gerçek boyutları daha iyi kavrayabilmeniz için yüksek çözünürlükte bırakıyorum. tepe tepe kullanabilirsiniz. vaktim olmadığından lightbox ve daha iyi bir makine ile çekemiyorum. elime hangi makineyi geçirirsem onu çekiyorum. daha detaylı görüntüye ihtiyacı olan bildirirse çekip yayınlayabilirim.