Arduino'dan sonra...

Sumer Yamaner

Moderator
Katılım
17 Eyl 2013
Mesajlar
8,773
Tepkime puanı
23,157
Yaş
61
Konum
İstanbul
Web sitesi
www.sumeryamaner.com
İlgi Alanı
Uçak
Eveettt... Arduino tembel işi. Her şey hazır. Yazılım bile. Bir sürü kütüphane, bir sürü hazır kod... Hiç bana göre değil. Bir adım ileri gitmek gerekiyordu. Birkaç gündür tüm mesaimi bu konuya ayırdım. Önce işlemcilerdeki timer ve interruptları hatmettim. Dün sonunda makul bir yere varabildim. Deneme amacıyla Arduino üzerinde timer overflow interrupt kullanarak LED yakıp söndürdüm (yani başa döndüm!!!). :D Sonra iki butonlu bir test sistemi kurup bir servo bağladım ve servoyu her iki yöne de tek tık tek tık hareket ettirdim. Ama bunu standart bir kodla yapmadım. Her 20 mS'de bir gelen interrupt sonucu tam spesifikasyonuna uygun bir PWM sinyali oluşturarak yaptım. Bildiğiniz gibi özellikle analog servolarda bu zamanlama çok önemli. Eğer 20 mS'den kısa bir darbe sıklığı olursa servoyu bozma riski var. Digital servoların bazılarında da 20 mS'den belirgin olarak uzun bir periyotta sinyal gelirse arada servonun fail safe konumuna geçme riski olabilir. Bu nedenlerle her tür servolu uygulamada zamanlama kritik. Kritik zamanlama denildiğinde ise akla ilk gelmesi gereken şey interruptlar. Kısaca bir derdim buydu...
İkinci derdim ise, bir giriş bir çıkış, iki giriş iki çıkış gibi az port gerektiren işler için koskocaman bir ATMega328 işlemciyi ve Arduino kartını heba etmek beni rahatsız ediyordu. Örneğin servo reverser, servo yavaşlatıcı, V-Tail mikser, kill switch gibi uygulamalar pekala 8 pinli bir ATTiny işlemci ile halledilebilecek uygulamalardı.
Beni yönlendiren bir örnek de görmüştüm. Eğer bulursam linkini paylaşırım. Adam bir standart kart tasarlamış. Üzerinde de bir mikrokontrolör var. Buna farklı kodlar yükleyerek alakasız işlerde kullanıyor. Örneğin çift motorlu uçaklar için bir motor stop ettiğinde diğerini rölantiye çeken emniyet sistemini yapmış. Benzer başka uygulamaları da aynı karta farklı yazılım yükleyerek yapıyor.
Bir de başımı bu derde sokan birileri "Sumerduino" fikrini ortaya attı mı?!?! :p

İşte proje:
Bir kart tasarlanacak. Üzerinde ATTiny85, iki buton ve dört de port olacak. Bu portların ikisi giriş ikisi çıkış şeklinde kablolanacak.
Bu şekilde;
- V-Tail mikser (iki giriş, iki çıkış). Butonlarla miks oranları değiştirilebilir.
- Servo yavaşlatıcı / reverser (bir giriş iki çıkış). Butonlarla yavaşlatma miktarı değiştirilebilir.
- Servo reverser (bir giriş bir çıkış). Butonluk bir iş yok.
- Kill switch (bir giriş, bir çıkış). Butonlarla iki OFF komutu arasındaki zaman değiştirilebilir.
- Benzinli motor rölanti emniyeti (iki giriş bir çıkış). Butonlarla sistemin devreye gireceği devir aralığı ayarlanabilir.
- Servo tester (AUX'tan pil girişi, üç çıkış, birisi reverse). Butonlarla değişik test patternleri seçilebilir.
- ...

Butonlarla ayar yapılan tüm uygulamalarda chip üzerindeki EEPROM kullanılıp son değer kalıcı olarak EEPROM'a yazılıyor bu arada.

Bu da prototip devre şeması. PCB tasarımı yapıp bunlardan bolca üretmek ve elemanları lehimleyip kenara koymak istiyorum. Sonra yukarıdakilerden hangisi gerekirse ATTiny85 chipine o programı yükleyip kullanıma sunabilirim.

[attachimg=1]

Ek: Plaket prototipi.

[attachimg=2]
 

Ekli dosyalar

  • Attiny85 Servo deneme 1.jpg
    Attiny85 Servo deneme 1.jpg
    33.5 KB · Görülme: 185
  • Sumerduino.jpg
    Sumerduino.jpg
    73.9 KB · Görülme: 158
Arduino'dan sonra...

Sonunda gelen isteklere daha fazla dayanamayan Sumer Electronics, "Sumerduino" piyasaya sürüyor demek ki :bravo: :halay:

Abi başta konstrasyon sonra da azmine hayranım, helal olsun valla :thumbup: :bravo: %p
 
Mehmet Kucuksari' Alıntı:
Sonunda gelen isteklere daha fazla dayanamayan Sumer Electronics, "Sumerduino" piyasaya sürüyor demek ki :bravo: :halay:

Abi başta konstrasyon sonra da azmine hayranım, helal olsun valla :thumbup: :bravo: %p

Çaktırma. Yakında ameliyat yapamaz hale gelirsem diye ikinci bir ekmek kapısı açıyorum kendime. :D :p Mikrokontrolör kursları düzenleyeceğim. Her ne kadar dersaneler kapatılsa da kurslar açık! :D
 
Arduino'dan sonra...

Sümer Yamaner' Alıntı:
Çaktırma. Yakında ameliyat yapamaz hale gelirsem diye ikinci bir ekmek kapısı açıyorum kendime. :D [emoji14] Mikrokontrolör kursları düzenleyeceğim. Her ne kadar dersaneler kapatılsa da kurslar açık! :D
Abi beni ilk sıraya yaz [emoji106]
 
Arduino'dan sonra...

Sümer abim artık elektronikte coştu. Sümer abi şu HC3x ünite müthiş pahalı , bir tane de onun çakmasından yaparsan ilk müşterin ben olurum, hem büyük hayra girersin abi...Rescue'si olmasa da olur...... :D
 
Arduino'dan sonra...

O birileri, "Sümerduino"yu ortaya atmakla kaldı ama Sümer abi işi büyütüp "Sümer Electronics" şirketini hayata geçirmiş bile :laugh:.

Sümer abi bu fikrini, üretme azmi çerçevesinde, hayranlıkla, ağzı açık bir şekilde izleyerek, son derece çekici bulsam da, 2cm x 3cm boyutlu ve $3 fiyata sahip bir Arduino pro mini varken böyle bir cihazın üretimi, mantık çerçevesinde pek de çekici gelmedi.

Cihazın tembel işi olduğu konusunda ise şu şekilde bir durum var aslında. Eğer bu cihaz, ÇOK karmaşık işleri yapmayı tembellik seviyesinde basitleştiriyorsa, o zaman bu cihazla niye ÇOK ÇOK karmaşık işleri yaptırmıyoruz ? Ve hemen arkasından çok bariz bir örneğini vereyim. Multiwii isimli multikopter kartının temelde iki tane donanımsal bileşeni vardır.

- Arduino Pro Mini kartı
- Bir wii "nunchuck" kontrolcüsü içinden sökülmüş akselerometre ve gyro sensörleri.

Multiwii kodu tamamen arduino'nun varsayılan dili olan Processing ile yazılmıştır. Ama kodda kullanılan kalman filtreleri, PID döngüleri v.b., olayı tamamen başka bir seviyeye taşımıştır. Projenin tasarımcıları, Arduino'nun sağladığı kolaylık sayesinde, enerjilerini elektronik ile boğuşmaya harcamak yerine, kodu daha iyi hale getirmeye verebilmişlerdir. ArduPilot Mega ise bunun zaten başka bir versiyonu.

Lafı çok uzattım aslında ama, nacizene fikrim, bu kartın sağladığı kolaylıklar sayesinde, elektronik ile boğuşmak yerine, enerjimizi akımızdaki asıl projeye verebiliriz...

- Taranis + Arduino kontrollü lazer CNC - Taranis yerine bilgisayar da kullanılabilir.
- Taranis + Arduino kontrollü apartman otomatı - Taranis yerine cep telefonu da kullanılabilir
- Taranis + Arduino kontrollü kombi açıp kapatıcı - Taranis yerine cep telefonu ya da ADSL modem de kullanılabilir
- Eskiden kalma ucuz kumandalı oyuncakları, çocuklar için Taranis + Arduino kontrollü canavarlara dönüştürme
...

diye uzayıp giden bip proje listesi düzenlenebilir :).

İMZA : Taranis Lobisi
 
Arduino'dan sonra...

Sevgili Zafer kardeşim, öncelikle yanlış anlaşılmaları önlemek açısından bir açıklama yapmama izin ver lütfen. Hazır kütüphaneleri kullanmak tembel işi derken herhangi bir şekilde sitem etmek gibi bir niyetim yoktu. Yani sen sürekli hazır kütüphaneleri öneriyorsun yani tembelin birisin gibi bir şey demek istemedim. Noolur yanlış anlaşılmasın. :D

Yazdıkların aslında biraz da psikanaliz konuları. O nedenle ben de kendi psikanalizimi yapıp paylaşmak istedim. Bu şekilde kendimi daha iyi anlatabileceğimi düşünüyorum.

Profesyonel bir yazılımcı ya da elektronikçi değilim. Bunun bir sonucu olarak, sonuca odaklı pragmatik yaklaşımlar değil gidilen yola odaklı keyifli yaklaşımları tercih ediyorum. Yani bir timer registerine bir bit manipülasyonu yapabileceğimi öğrendiğimde, bunu uygulayıp beklediğim sonucu alabildiğimde hissettiğim heyecanı anlatmam zor. Çünkü derdim olayı derinlemesine anlamak. Örneğin Arduino IDE Timer 0 ile işlem yapmama izin vermiyor çünkü kendisi kullanıyor. Servo library ise Timer 1'i kullanıyormuş. İşte tüm bunlar öyle bir yerde yazılı şeyler değil. Sayfalarca okuyup bir şeyler öğreniyorsun. Bu inanılmaz bir keyif.

Bir de işin modelcilik boyutu var. Ben kendimi modelci olarak tanımlayabilir miyim bilemiyorum ama naçizane bu işi yapmaya çalışıyorum. Biliyorsun biz en çok alakasız şeyleri alakasız işlerde kullanmayı severiz. Ben yapı marketlerde dolaşıp abur cubur şeyler alıp abur cubur şeyler yaparım. O nedenle bir görevli bana "nerede kullanacaksınız" dediğinde rahatsız olurum. Çoğumuz da böyleyizdir bence. İşte bu tür insanlar başkalarınca hazırlanıp kullanım kuralları konulmuş şeyleri pek sevmeyebilirler. Örneğin hazır kütüphaneleri. Ne kadar fleksibl olsalar da benim tam istediğimi yapamıyabilirler. Yapsalar bile onu "başkası" hazırlamıştır. Ben kendim yapabilmeyi isterim. Bu benim için kendime bir meydan okumadır. Anlatabiliyor muyum?

İşte bu nedenlerle elimden geldiğince sistemi iyice anlayıp kendi işlevlerimi kendim yazabilmek için uğraşıyorum. Yoksa servo testeri 10 dolara, reverseri 5 dolara, V Tail mikseri 8 dolara almak mümkün. Ama bu tadı verir mi?? :D

Yani demem o ki, eğer amacım nihai ürünü bir an önce oluşturmak olsa aynen dediğin yoldan gider, defalarca denenmiş hazır kütüphaneleri kullanır işi çözerdim. Ama dedim ya benim zevkim yolda olmak, varmak değil. :D
 
Arduino'dan sonra...

Vallahi ikiniz de haklısınız! :saygilar: İster Arduino ile olsun, ister işlemciden başlasın, ne olursa olsun, yeni bir şey öğrenmenin, bir şeyi bilmenin ve bunu uygulayarak bir sonuca ulaşmanın keyfi gerçekten başka hiç bir şeyde yoktur sanırım. :) Ben ise hala gidip gelip ledimi yakıp söndürmekle idare ediyorum. :)
 
Arduino'dan sonra...

Sümer abi estağfurullah... Sözlerinde herhangi bir sitem var demek istemedim. Sadece herşeyi kolaylaştırmasının, benim açımdan farklı avantajları var demek istedim. "sonuca odaklı pragmatik yaklaşımlar değil gidilen yola odaklı keyifli yaklaşımlar" konusunda benim açımdan da sonuç %100 önemli değil. Benim hoşlandığım kısım ise cihazın olanaklarını keşfedip, benim bunu yapıp yapamayacağımı görmek. Derinlemesine öğrenmekten ziyade en faklı şekillerde nasıl kullanabileceğimi denemeyi seviyorum.

Sümer abi, senin "Sümerduino" üretebilme tutkuna karşı ben "Arduino + Çubuk makarna + ytong + ayakkabı boyası"nı beraber kullanabilir miyim diye denemeyi seviyorum :).

Bugün cam kestirirken adam bana nerede kullanacaksınız diye sordu. Ben de sehpa gibi bir şeyde kullanacağım dedim. 3D printer'da sulandırılmış ağaç tutkalının, ısıtılmış ve de ısıtılmamış yüzeylerde, PLA'nın tutunması açaısından nasıl performans gösterdiğini test edebilmem için lazım diyemezdim herhalde :). Hele semtin japon pazarındaki elemanlar beni ne zaman "tekinsiz bu adam" diye polise şikayet edecek onu hiç bilemiyorum. Ama quad için bu kadar cuk oturan malzeme banggood'da bile yok

Deneyebildiğim kadar farklı şey deneyebilme merakım yüzünden hazır parçaları(ve kodları) biraz daha seviyorum galiba ... :)
 
Arduino'dan sonra...

Omer Erkan' Alıntı:
Vallahi ikiniz de haklısınız! :saygilar: İster Arduino ile olsun, ister işlemciden başlasın, ne olursa olsun, yeni bir şey öğrenmenin, bir şeyi bilmenin ve bunu uygulayarak bir sonuca ulaşmanın keyfi gerçekten başka hiç bir şeyde yoktur sanırım. :) Ben ise hala gidip gelip ledimi yakıp söndürmekle idare ediyorum. :)

Abi bari delay komutunu değiştirip frekansı ile oyna. :D :p

Örneğin 5V ile 0V arasına bir potansiyometre bağla. Orta ucu bir analog girişten okut. Oradan elde edeceğin 0 - 1023 arasındaki değeri scale ederek delay komutunun parametresi olarak kullan. Böylece potansiyometre ile yanıp sönme hızını değiştirebileceğin bir ileri aşama sistemin olsun. Ondan sonra zaten kendiliğinden gelir gerisi. Örneğin potansiyometre ile frekansı değil duty cycle'ı yani yanık kalma oranını değiştirebilirsin. Sonra bunu çok hızlandırıp software pwm yapmış olursun. Her bir adımda aklına binbir yeni şey gelir. Onları yaparsın.
 
Arduino'dan sonra...

Zafer SAHIN' Alıntı:
Deneyebildiğim kadar farklı şey deneyebilme merakım yüzünden hazır parçaları(ve kodları) biraz daha seviyorum galiba ... :)

Aramızdaki fark, benim derin bir acemilik durumunda olmam. Sen o hazır kodları anlayıp kullanacak deneyime sahipsin. Ayrıca gerektiğinde amaca uygun modifikasyonlar yapabilirsin. Ben ise işin çok çok başında neyi nasıl yaptığını anlamadığım bir koddan "korkuyorum". :) Ayrıca istediğim gibi modifiye etme şansım olmayınca kendimi sıkboğaz edilmiş hissediyorum. ALlah sağlık verir de bu konuda ilerlemeye devam edebilirsem belki iki sene sonra bu yazdıklarıma çok güleceğim ama şimdilik durumum bu. Tok açın halinden, pro ise aceminin halinden anlamazmış! :lol:
 
Arduino'dan sonra...

Sümer abi sen kendine acemi diyorsan ben kendime ne diyeyim yani :). Okuduğum elektronik mühendisliği bilgisi, pratik kullanıma dair hiç bir yaklaşım içermeyen, ciltler boyunca teorik anlatımdan başka bir şey değildi. Kendimi geçtim, sınıf arkadaşlarımın nerede ise tamamının, mezun olduğu sırada, kapı zilinin elektroniğini yapamayacak durumda olduğundan eminim. Kapı zili yapma yeteneğimi, arduino ile tanıştıktan sonra kazandım. Sadece damarlarımda arduino, biraz daha uzun süredir dolaşıyor. Yoksa hala ben de öğreniyorum :). Ama 1-2 aylık öğrenciyken, "Zaferduino" yapmaya da kalkmadım... O sıralar hala, "vay be bu iş bu kadar kolaymıymış" diyerek hala 1 saniyede bir yanıp sönen ledi seyrediyordum :).
 
Arduino'dan sonra...

Boşuna "tembelsin" dememişim işte. Zaferduino'yu yapmış olsan ben şu an onu kullanarak başka şeyler yapıyor olacaktım. Sen hala LED seyret. :D :D :D