İçindekiler:

Geek Spinner: 14 Adım (Resimlerle)
Geek Spinner: 14 Adım (Resimlerle)

Video: Geek Spinner: 14 Adım (Resimlerle)

Video: Geek Spinner: 14 Adım (Resimlerle)
Video: Topraklı Prizi Anahtarlı Prize Çevirme (kendin yap, anahtarlı priz montajı) 2024, Temmuz
Anonim
Image
Image
inek döndürücü
inek döndürücü
inek döndürücü
inek döndürücü
inek döndürücü
inek döndürücü

Fidget spinner'lar eğlencelidir ve bugünlerde sadece birkaç dolara herhangi bir check-out kontuarında bir tane bulabilirsin, ama ya kendin yapabilirsen? Ve LED'leri var mıydı? Ve onu istediğini söylemek veya göstermek için programlayabilir misin? Kulağa çok havalı geliyorsa, BU SİZİN İÇİN PROJEDİR.

Çocukların programlamayla ilgilenmesini sağlamak için yanıp sönen LED'leri kullanmak her zaman ilgimi çekmiştir. Arduino mikrodenetleyici ile en basit proje, bir LED'i açıp kapatmaktır. Ardından, bir LED'in sürekli yanıyormuş gibi görünmeden önce (yaklaşık 12 milisaniyelik aralıklarla) ne kadar hızlı yanıp sönebileceğini görmelerini sağlarsınız. Sonra LED'i ileri geri sallarsınız ve tekrar yanıp söndüğünü görebilirsiniz! Bu fenomene "vizyon kalıcılığı" (POV) denir ve bu proje böyle çalışır. Hem gözün nasıl çalıştığı hem de bilgisayarların ne kadar hızlı olduğu konusunda tartışmalara yol açabilir.

Bu proje programlanabilir 8 bitlik bir mikro denetleyici, sekiz LED ve bir madeni para hücresi kullanır. Standart bir kaykay yatağı kullanarak döner ve dönüşü belirlemek için bir Hall etkisi sensörü ve bir mıknatıs kullanır. Yeni başlayanlar için kolay delikli parçalar kullanılarak yapılır ve Arduino programlama ortamı kullanılarak programlanabilir. Yeter konuşma, hadi yapalım…

1. Adım: Parçaları, Araçları ve Sarf Malzemelerini Toplayın

Image
Image
Parçaları, Araçları ve Sarf Malzemelerini Toplayın
Parçaları, Araçları ve Sarf Malzemelerini Toplayın

Bir yapının yarısına gelip bir şeyleri kaçırdığınızı bulmak her zaman sinir bozucudur. Bunlar denediğim ve iyi çalıştığını bulduğum parçalar. Risk size ait olmak üzere değiştirin:

Malzeme Listesi=================

  • 1 adet, Mor PCB, ABD'de OSH Park tarafından sevgiyle üretilmiştir
  • 1 adet, Attiny 84, Atmel ATTINY84A-PU,
  • 1 adet, Dokunsal anahtar, TE 1825910-6,
  • 1 adet, Delikten Sürgülü Anahtar SPDT, C&K JS202011AQN,
  • 1 adet, Pil tutucu, Linx BAT-HLD-001-THM,
  • 8 adet, 3mm Kırmızı LED 160 Mcd, Wurth 151031SS04000,
  • 8 adet, 330 ohm 1/8W, Stackpole CF18JT330R,
  • 1 adet, 0.1 uF kapak, KEMET C320C104M5R5TA,
  • 1 adet, Manyetik anahtar, Melexis MLX92231LUA-AAA-020-SP,
  • 1 adet, 608 Kaykay Rulman,
  • 1 adet, küçük nadir toprak mıknatısı 2mm x 1mm,
  • 2 adet, 3D baskılı kapaklar (STL dosyası ekli).
  • 1 adet, CR2032 pil, Panasonic BSP veya eşdeğeri,

Araçlar ve Gereçler:Atölyelerim için, cımbız dışında ihtiyacınız olan her şeye sahip SparkFun's Beginner's ToolKit'i kullanıyorum:

  • Havya.
  • LehimTeli
  • Gömme pense (5 dolarlık Hakko CHP170'i seviyorum!)
  • lehim sökme örgüsü
  • Süper yapıştırıcı

Attiny'yi Programlama (4. Adım, bunu bir kit olarak satın alırsanız gerekli değildir):

  • Arduino (lütfen ucuz Çin klonlarından kaçının ve ABD Açık Kaynak Üreticilerinizi destekleyin).

    • SparkFun Kırmızı Tahta
    • Adafruit Metrosu
    • Arduino UNO'su
  • AVR Programlama Kalkanı.
  • Pogo adaptörü (çip takılıyken programlama yapılıyorsa).
  • Uno için standart bir USB A-B, Redboard için USB Mini veya Metro için USB Micro.

Bu proje için bir kit Tindie.com'da mevcuttur (pil eksi). Kiti satın almak, birkaç farklı satıcıdan sipariş vermek için zaman ve masraftan tasarruf etmenizi sağlayacak ve minimum PCB sipariş priminden kaçınacaktır. Ayrıca, bir Attiny programlamak önemsiz değildir ve kiti satın alırsanız, zaten önceden programlanmış olacaktır. Ayrıca atölyelerimde başka projeler geliştirmeme ve paylaşmama da yardımcı olacaksınız!

Adım 2: Direnç Esastır

Direnç Esastır
Direnç Esastır
Direnç Esastır
Direnç Esastır
Direnç Esastır
Direnç Esastır

Bazı kit oluşturma deneyiminiz olduğunu varsayacağız. Lehimleme konusunda biraz yardıma ihtiyacınız varsa, tazelemek için www.sparkfun.com/tutorials/213 adresine gidin veya Geek Girl'ün https://www.youtube.com/embed/P5L4Gl6Q4Xo adresinde açıklamasını izleyin. Ayrıca https://www.tindie.com/products/3447/ adresinde yeni başlayanlar için uygun bir setim var.

Dirençle başlamayı seviyorum çünkü a) lehim oluğuna girerken nispeten ısıya dayanıklılar ve demir sıcaklığa geliyor, b) polariteleri yok, bu yüzden oryantasyon kritik değil ve c) onlar tahtadaki en düşük bileşen, bu nedenle lehimleme sırasında sıkıca oturun. LED'lerin her biri için bir tane olmak üzere sekiz adet 330 ohm akım sınırlama direnci vardır. Bir seferde birini veya sekizini bir kerede yapabilirsiniz.

  • Uçları pedlerin genişliğine bükün ve direnci takın.
  • Tahtayı ters çevirin ve kabloları lehimleyin.
  • Uçları düz kesimlerle kesin.
  • İnek arkadaşlarınızı etkilemelerini istiyorsanız, onlara tekrar demirle vurun.

Adım 3: Kod?

Kod?
Kod?
Kod?
Kod?
Kod?
Kod?
Kod?
Kod?

Kitimi satın aldıysanız, çip önceden programlanmıştır ve bir sonraki adıma geçebilir.

Evet, bu projenin biraz koda ihtiyacı var. Ve eğer dikkat ettiyseniz, Adım 1'de size Attiny programlamanın önemsiz olmadığını söylemiştim. Arduino'yu, programlama ortamını, AVR programlayıcımı ve bir pogo pin jig'i kullanıyorum.

Çip, yerinde lehimlemeden önce (fotoğraf 2) veya PCB'nin altındaki ISP başlığı kullanılarak yerine lehimlendikten sonra (fotoğraf 3) programlanabilir. Her iki durumda da, programlama aşağıdaki gibidir:

  • Arduino Programlama Ortamını indirin.
  • Attiny 85 için desteği aşağıdakilerden birini kullanarak yükleyin:

    • https://highlowtech.org/?p=1695 (Arduino Minik)
    • https://github.com/SpenceKonde/ATTinyCore (Attiny Core)
  • "ISP olarak Arduino taslağı" yükleyin:[Dosya] -> [Örnekler] -> [ISP olarak Arduino].
  • AVR Programlama Kalkanını takın ve şerit kabloyu Attiny84 konumuna takın
  • Pogo Adaptörü kullanıyorsanız, kartın ISP başlığına yerleştirin. Pozitif ve negatif pedler, başlığı doğru şekilde yönlendirebilmeniz için işaretlenmiştir.
  • Çip kullanıyorsanız, birinci pim ile USB konektörüne doğru yerleştirin.
  • Doğru çipi seçin:

    • Arduino Tiny: "Attiny 84 @ 8 Mhz"
    • Attiny Core: "Attiny 24/44/84"

      • "Attiny 84" çipi
      • 8 Mhz (Dahili)
      • Pin Eşleme "Saatin Tersine"
  • Programcı'yı seçin, [Araçlar] -> [Programcı] -> [ISP olarak Arduino]
  • Programlama sigortalarını ayarlayın, [Tools] -> [Burn Bootloader]
  • Ekli taslağı yükleyin, [Dosya] -> [Programlayıcı kullanarak yükle]

Aldığım en büyük hata kaynağı, pinlerin doğru şekilde hizalanmamasıdır.

Adım 4: Yonga Yapın

Çip
Çip
Çip
Çip
Çip
Çip
Çip
Çip

Artık çipinizin üzerinde kod olduğuna göre, yükleyebilirsiniz. Bir DIP ("ikili satır içi paket") yongasının oryantasyonu, genellikle, burada olduğu gibi, ya birinci pime bitişik bir delik ya da çipin bir pimini içeren ucundaki bir oyuk ile gösterilir.

  • Kabloları düz bir yüzeye bastırarak 90 derece bükün (fotoğraf 1 ve 2).
  • Çipi PCB üzerindeki sembolle hizalayın ve çipi yerleştirin (fotoğraf 3).
  • Bir pimi karşı taraflara lehimleyin ve her iki çipin de PCB'ye karşı düz olduğunu ve yönün doğru olduğunu kontrol edin. Bundan sonra düzelmesi gerçekten zor. Bu konuda bana güven.
  • Doğru takıldığından emin olduktan sonra kalan pimleri lehimleyin ve ardından aynı hizada kesin.

Adım 5: Anahtar ve Kapasitör

Anahtar ve Kapasitör
Anahtar ve Kapasitör
Anahtar ve Kapasitör
Anahtar ve Kapasitör

Basma düğmesi IC'nin yanına, kondansatör ise diğer tarafa gider.

  • Basmalı düğmeyi yerine itin (doğru yönde olduğundan emin olun).
  • Yerinde lehimleyin.
  • Kabloları arkadan klipsleyin.

Kondansatörün oryantasyonu yoktur, ancak yazı tarafını çıkarırsanız, inek arkadaşlarınız hangi değeri kullandığınızı bileceklerdir.

Adım 6: Anahtar ve Pil Tutucu

Anahtar ve Pil Tutucu
Anahtar ve Pil Tutucu
Anahtar ve Pil Tutucu
Anahtar ve Pil Tutucu
Anahtar ve Pil Tutucu
Anahtar ve Pil Tutucu
Anahtar ve Pil Tutucu
Anahtar ve Pil Tutucu

Anahtar, seviye dışa dönük olarak gider. Diğer parçalar gibi, iki pimi lehimleyin, düz oturduğunu kontrol edin ve ardından kalanını lehimleyin.

Pil tutucunun yönü göstermek için işareti vardır, ancak gerçekten önemli değil. Bununla birlikte, normal kablolardan biraz daha fazla ısı gerektirecektir ve pili yerinde tutmak için düz oturduğundan emin olmak isteyeceksiniz (resim 4).

7. Adım: LED'ler

LED'ler
LED'ler
LED'ler
LED'ler
LED'ler
LED'ler
LED'ler
LED'ler

En az bir LED içermeyen iyi bir proje yoktur. Bu SEKİZ var!

Uzun uç pozitiftir (anot). Serigrafide "+" işareti vardır ve ped karedir. Sekizini aynı anda yaparsanız, tüm yönlerin doğru olduğundan emin olmak için onları yukarıda tutun.

  • Her LED'e bir kurşun lehimleyin.
  • Yönü ve düz oturduklarını doğrulayın (resim 3).

    Değillerse, baş parmağınızla kasaya bastırın ve ucu yerine oturana kadar tekrar ısıtın (resim 4)

  • Kalanı lehimleyin.
  • Kabloları klipsleyin.

Adım 8: Kontrol Edin

Image
Image
Dönme Süresi
Dönme Süresi

Bu noktada, yine de LED'leri kontrol edip kapatabiliriz:

  • Pozitif tarafı dışa bakacak şekilde bir pil takın.
  • Döndürücüyü açın ve ardından tüm (umarım) LED'ler yanana kadar düğmeye basın (videoya bakın).
  • Döndürücüyü döndürün ve desene bakın. Bir LED yanmazsa, ters takılmış olabilir veya ısıdan zarar görmüş olabilir. Lehimden çıkarın ve yenisini takın.

Sorun giderme:

  • Hiçbir LED yanmıyorsa:

    • Pilinizin iyi durumda ve doğru yönde olduğundan emin olun.
    • Çipinizi programladınız mı? Doğru yönde mi? Isınıyor mu?
    • LED'ler doğru yönlendirilmiş mi? Onları test etmek için led lehim bağlantıları boyunca madeni para hücresini mi kullanıyorsunuz?
  • Anahtar LED'lerin yanıp sönmesine neden olmazsa:

    • LED üzerindeki lehim bağlantılarını kontrol edin.
    • Attiny'deki lehim bağlantılarını kontrol edin.
  • Her şey başarısız olursa, ön ve arkadan yüksek çözünürlüklü fotoğraflar çekip yayınlayın ve yorumlarda yardım isteyin.

Adım 9: Döndürme Süresi

Dönme Süresi
Dönme Süresi
Dönme Süresi
Dönme Süresi
Dönme Süresi
Dönme Süresi

Yatak, kasayı büyük pedine lehimleyerek yerinde tutulur. Bu sabır ve çok fazla ısı gerektirir:

  • Yatağı konumlandırmak için sert bir yüzeyde bozuk para gibi bir şey kullanın.
  • Kasaya lehim akışını görene kadar hem pedi hem de yatak kabuğunu ısıtın (biraz zaman alır).
  • Diğer tarafta tekrarlayın.
  • Döndürücüyü döndürerek yatağın doğru hizalandığını doğrulayın.
  • Tahtayı ters çevirin ve diğer taraftaki iki noktayı lehimleyin.

Adım 10: Bu Bir Devrim mi?

Image
Image
Bu Bir Devrim mi?
Bu Bir Devrim mi?
Bu Bir Devrim mi?
Bu Bir Devrim mi?

Sadece kalıplar yerine mesajları göstermek için, çarkın daireye göre konumunu bilmemiz gerekir. Hall etkisi sensörü ve mıknatıs kullanacağız. Bu, yanmalı motorların en fazla gücü elde etmek için kıvılcımı ne zaman ateşleyeceğini bilmesine benzer. Hem sensörün hem de mıknatısın oryantasyonu ve hizalanması, bunun çalışması için kritik öneme sahiptir.

  • Cihazın ön yüzündeki yazı, serigrafi ile eşleşen yatağa dönüktür (fotoğraf 1).
  • Yüksekliği yatağın hemen üstüne hizalayın (kapaktaki mıknatısın olacağı yer).
  • Bir kurşun lehimleyin.
  • Yüksekliği ve beslenmeyi doğrulayın.
  • Kalan uçları lehimleyin.
  • Kabloları klipsleyin.

Çok kutuplu bir sensör kullanıyorsanız, mıknatısın yönünü bulmanız gerekecektir. Bunu yapmanın en iyi yolu, önceki adımdaki modelden farklı bir mod ayarlamak ve ardından mıknatısın LED'lerin yanıp sönmesini başlatan tarafını bulmaktır (videoya bakın). Mıknatısı, çalışan tarafı dışa bakacak şekilde yapıştırın. Çalışmanızı iki kez kontrol edin.

Adım 11: Dengeleme Yasası

Dengeleme Yasası
Dengeleme Yasası
Dengeleme Yasası
Dengeleme Yasası

Pil içerideyken döndürücüyü yatay olarak tutarsanız, pil tarafı aşağı doğru döndüğünü göreceksiniz. Bileşenleri dengelemek için gösterdiğim en iyi çabaya rağmen, hala dengesiz. Bir somun ve cıvata kullanarak pil olmayan tarafa biraz ağırlık ekleyebilir veya pede biraz lehim ekleyebilirsiniz.

Adım 12: Operasyonelsiniz

Image
Image
Ama Bekleyin, Daha Fazlası Var..
Ama Bekleyin, Daha Fazlası Var..

Mıknatısınız ve sensörünüz yerindeyken, Geek Spinner'ınızın tüm mükemmelliğini kontrol etmeye hazırsınız. Döndürücünün modu, güç verildiğinde veya bir düğmeye basıldıktan sonra (D0 - D7) yanan LED ile gösterilir. Mod, düğmeye basılarak değiştirilir (videoya bakın).

int modlar = 8; // mevcut mod sayısı

// 0 -> "Merhaba Dünya!" metni // 1 -> RPM // 2 -> saniye cinsinden süre // 3 -> dönüş sayısı // 4 -> dönüş sayısı (toplam) // 5 -> "lilly pad" deseni // 6 -> şekil 1 (kalp) // 7 -> şekil 2 (gülümseme)

Adım 13: Ama Bekleyin, Daha Fazlası Var..

Ama Bekleyin, Daha Fazlası Var..
Ama Bekleyin, Daha Fazlası Var..
Ama Bekleyin, Daha Fazlası Var..
Ama Bekleyin, Daha Fazlası Var..
Ama Bekleyin, Daha Fazlası Var..
Ama Bekleyin, Daha Fazlası Var..

"Kalp" ve "gülen yüz" desenleri, sekiz parçanın her 5 derecelik dönüşte nasıl görüneceğini göstermek için bir kutup grafiği kullanılarak oluşturuldu.

Elle:

  • Tam çözünürlüklü görüntüyü indirin ve yazdırın (resim 1).
  • Resminizi yapmak için blokları doldurun (resim 2).
  • Radyal boyunca, 0 ile başlayarak, siyah = 1, beyaz = 0 kullanarak baytı hesaplayın;

    Kalbin ilk yarıçapı 1, 0, 0, 0, 0, 0, 0, 0'dır, yani bayt = 0b100000000;

  • İşiniz bitene kadar devam edin (ipucu, görüntünüz simetrikse, yalnızca yarısını yapmanız gerekir).
  • Baytlarınızı "shape_1" veya "shape_2" altındaki çizimin "textAndShapes.h" bölümüne yapıştırın.

Python'u Kullanmak:

  • Python'u yükleyin.
  • Python'un Görüntü kitaplığını yükleyin.
  • Ekli "readGraph.py" betiğini indirin.
  • Tam çözünürlüklü görüntüyü indirin (resim 1).
  • Resmi favori düzenleyicinizde (GIMP veya MS Paint) açın.
  • Aydınlatmak istediğiniz bölümleri doldurmak için siyah renk seçili olarak "Doldur" komutunu kullanın (resim 2).
  • Resmi "readGraph.py" komut dosyasıyla aynı dizine kaydedin ve komut dosyasındaki dosya adını buna uyacak şekilde değiştirin:

im = Image.open('kalp.png')

Komut dosyasını çalıştırın ve çıktıyı "shape_1" veya "shape_2" altındaki çizimin "textAndShapes.h" bölümüne yapıştırın

Her iki durumda da, yaratıcılığınızı (resim ve kod) yorumlarda paylaşmaktan çekinmeyin!

Adım 14: Krediler ve Son Düşünceler

Krediler ve Son Düşünceler
Krediler ve Son Düşünceler

Tüm bunları kesinlikle kendi başıma bulmadım. Uzun bir atışla değil.

  • POV ile ilk uygulamalı deneyimim, Nick Sayer'ın POV Twirlie adlı bir projesiyle oldu: https://www.tindie.com/products/nsayer/pov-twirlie/. (Ben de pogo adaptörü kullanıyorum).
  • Techydiy's Instructable'ı gördükten sonra "LED + Fidget spinner = POV" düşüncesi beynimde belirdi
  • Ne zaman harika bir fikriniz olsa, birisi bunu çoktan yapmıştır: https://www.instructables.com/id/POV-Arduino-Fidget-Spinner/. Yüzeye monte lehimleme yapabileceğim bir şey ama gerçekten yeni başlayanlar için uygun değil. Kodu da kafamın biraz üzerindeydi, ancak RPM ve sayıları görüntüleme konusundaki fikirlerini kullandım.
  • Metni görüntülemek için Reger-men'in POV Saat kodunun parçacıklarını anlayabildim ve kullandım:

Hiçbir proje tamamlanmış veya mükemmel değildir. İşte ileriye dönük bazı düşüncelerim:

  • Terazi: Veri sayfalarında bileşenlerin ağırlığı hakkında nadiren bilgi bulunur, bu nedenle teraziyi sadece kurmadan eğitimli bir tahminde bulunmak bile zordur. Pil açıkçası en ağır bileşendir. Dengelemek için gerektiği kadar ağırlık ekleyebilmek için her iki uca delikler ekledim.
  • Saat yönünde? Fark ettiyseniz, metin yalnızca saat yönünde döndürürseniz doğru şekilde görüntülenir. Diğer yönde döndürmek bir ayna görüntüsü oluşturur. İkinci bir Hall sensörü veya mıknatısı eklemek, dönüş yönünü türetmenizi sağlar (Sean'in projesi bunu yaptı).
  • Renk? Programlanabilir RGB LED'leri kullanmak, renkleri yapmanızı sağlar. Yine de genellikle yüzeye monte edilirler.

Önerilen: