İçindekiler:

Gökkuşağı Zarı: 6 Adım (Resimlerle)
Gökkuşağı Zarı: 6 Adım (Resimlerle)

Video: Gökkuşağı Zarı: 6 Adım (Resimlerle)

Video: Gökkuşağı Zarı: 6 Adım (Resimlerle)
Video: ÇOK SEVİMLİ GÖKKUŞAĞI ÇİZİMİ - How to Draw a Rainbow and Clouds - Nasıl Çizilir 2024, Temmuz
Anonim
Gökkuşağı Zarı
Gökkuşağı Zarı

Bu, 5 renkte smd LED'lerden oluşan 5 kalıplı bir zar oyunları kutusu yapar. Onu süren yazılım, birden fazla zarın dahil olduğu farklı oyun modlarına izin verir.

Bir ana anahtar, oyun seçimine ve zar atılmasına izin verir. Her kalıbın yanındaki bireysel anahtarlar, oyun türüne göre seçime veya kontrole izin verir.

İnşaat maliyetleri çok mütevazıdır, ancak makul miktarda inşaat süresi, iyi bir havya ve sabit bir el gerektirir.

Elektronik aksam, kolay donanım yazılımı güncellemelerine ve oyun izleme/genişletme olanağına izin veren bir web sunucusunu çalıştıran bir ESP8266 modülüne (ESP-12F) dayanmaktadır.

Kutu, şarj edilebilir bir pil ile pille çalışır ve mevcut tüketim oldukça mütevazı olduğundan, tek bir şarjla saatlerce çalışır.

Adım 1: Parçalar ve Araçlar

Parçalar ve Araçlar
Parçalar ve Araçlar
Parçalar ve Araçlar
Parçalar ve Araçlar
Parçalar ve Araçlar
Parçalar ve Araçlar

Bileşenler

Aşağıdaki bileşenler gereklidir. Hepsi eBay'de mevcut

  1. ESP-12F ESP8266 wifi işleme modülü. (1,50 £)
  2. 18650 pil ve tutucu (3,00 £)
  3. SMD LED'ler x7 kırmızı, mavi, yeşil, sarı, beyaz (her renkten 20'li paket £0,99)
  4. Basma düğmesi 6mm anahtarlar x6 (0,12 £)
  5. Kaydırmalı açma/kapama düğmesi mini 8x4mm (0,10 £)
  6. LIPO USB pil şarj modülü (0,20 £)
  7. n kanal MOSFETS - AO3400 x6 (0,20 £)
  8. 3,3V Düşük çıkış regülatörü - XC6203E (0,20 £)
  9. 220uF elektrolitik (0,15 £)
  10. 220R direnç x5 (0,05 £)
  11. 4K7 direnç x 6 (0.06)
  12. Prototip pano izoleli çift taraflı delikler (0,50 £)
  13. Esnek bağlantı teli
  14. Emaye bakır tel 32
  15. Başlık pimleri 40 pim şeritleri x3 (0,30 £)

Ek olarak bir muhafaza gereklidir. Her şeyi tutmak için 3D baskılı bir kutu tasarladım ve LED'lerin parlamasını sağladım. Bu, Thingiverse'de mevcuttur.

Aletler

  1. İnce nokta havya
  2. İnce Cımbız
  3. Tel kesiciler
  4. Küçük testere
  5. İğne eğeleri yararlıdır
  6. reçine tutkalı
  7. Dahil olan kutu tasarımı kullanılıyorsa 3D yazıcıya erişim.

Adım 2: Devre Açıklaması

Devre Açıklaması
Devre Açıklaması

Şematik, zarları oluşturan 5 LED dizisini çalıştıran ESP-12F modülünü gösterir.

Her zar, 3 çift (2 diyagonal ve orta) ve tek bir merkezi LED olarak düzenlenmiş 7 LED'den yapılmıştır. Bunlar, görüntülenecek LED'leri seçmek için 4 GPIO pinine ihtiyaç duyar. Akımı belirlemek için 220R dirençler kullanılır ve merkez LED için seri olarak 2 adet direnç kullanılır, böylece akım aynı olur.

5 zar, MOSFET anahtarlarını çalıştıran 5 GPIO hattı ile çoğullanır. Bir seferde yalnızca bir anahtar etkinleştirilir. Yazılım, kalıp başına 1mSec'e izin verir, böylece genel yenileme süresi 200Hz'dir ve titreme olmaz.

Her kalıpla 5 anahtar ilişkilendirilmiştir. GPIO sınırlı olduğu için bunlar, kalıbı çoğaltmak için kullanılanla aynı satırlar kullanılarak okunur. Multipleks dizisi sırasında bu kontrol hatları, pull-up'lı girişler olarak ayarlanır ve anahtarların durumu okunur. Daha sonra çoğullama dizisinin geri kalanı için çıktılara döndürülürler.

Genel kontrol için 6. bir anahtar GPIO16 hattı tarafından okunur. Bu sadece aşağı çekilebilir, böylece anahtar 3.3V'a bağlanır. Bu, anahtar açıldığında düşük ve kapatıldığında yüksek olarak okunur.

Adım 3: DIe'nin İnşası

DIe'nin yapımı
DIe'nin yapımı
DIe'nin yapımı
DIe'nin yapımı

Bu, işin en çok zaman alan ve özen gerektiren kısmıdır.

Her kalıp, 6 delikli x 6 delikli kare prototipleme tahtası parçası üzerine inşa edilmiştir. İlk adım, mini bir demir testeresi kullanarak bunlardan 5 tanesini bir tahtadan kesmektir. Deliklerin dışında mümkün olduğunca az sınır bırakmaya çalışın.

Bir sonraki aşama, her iki tarafa 2 adet 6 pin başlığı ve bunların yanına 2 set 3 izole pin ve ardından ortada bir çift daha eklemektir. Bunlar SMD LED'lerini tutacak olanlardır. Dış sütunların her birinden kullanılmayan 2 pimi çıkarmayı iyi buluyorum. LED'lerin monte edileceği panonun üst tarafında başlık pimleri, yaklaşık 1 mm çıkıntı yapacak şekilde kesilmiş olmalıdır. Hepsini aynı seviyede tutmaya çalışın. Bu, LED'lerin kartın yüzeyinin üzerine çıkmasına izin verir.

7 SMD LED'i artık her bir pin çiftinin üzerine lehimlenmiştir. Bu, genel yapının en zor kısmıdır, ancak biraz pratik yaptıktan sonra çok uzun sürmez. Kullandığım teknik, zaten bir miktar lehim olması için pimlerin yarısının üstünü kalaylamaktı. Ardından LED'i cımbızla tutarak lehimi tekrar eritin ve LED'i içine geçirin. Bu aşamada eklemin kalitesi hakkında çok fazla endişelenmeyin. Daha da önemlisi, LED'in mümkün olduğunca iyi, yatay ve pimler boyunca hizalanmasını sağlamaktır. Bir LED yerleştirildikten sonra, diğer ucunda pimine uygun şekilde lehimlenebilir ve ardından gerekirse ilk bağlantı yeniden lehimlenebilir.

Diyotların polaritesi doğru olmalıdır. Tüm dış başlık pimlerini anotlara bağlanacak şekilde düzenlerim. Merkezi LED I sol sütunla aynı yönlendirmeyi yaptım (yüzden ve altta yedek sıra ile bakıldığında. Diyotların katot üzerinde silik bir işareti var, ancak bir metre ile kontrol etmek de iyidir. Diyotlar aslında direnç aralığını kullanırken (2K diyelim) ve anotta kırmızı kurşun ve katotta siyah yanarlar. Tersi yanmıyorlar. Bu, eğer karışırlarsa renkleri kontrol etmek için iyi bir yöntemdir.

LED'ler monte edildikten sonra kartın geri kalanı tamamlanabilir.

Tahtanın alt tarafında.

  1. Yalıtılmamış ince bir tek telli tel kullanarak tüm katotları birbirine bağlayın.
  2. Mosfet'i katot dizisine bağlı tahliye pimi ile lehimleyin
  3. Mosfet kaynağını, sonunda 0V olacak olan başlık pimine bağlayın
  4. Kapıyı bir 4K7 direnç üzerinden başlık pimine bağlayın. Anahtarın bağlanacağı yer burası olduğu için gösterildiği gibi bunu başka bir alt delikten geçirmek iyidir.

Kartın ön tarafında 3 çift anot çapraz bağlayın.

  1. Profili düşük tutmak için lehimlenebilir emaye tel kullanın.
  2. Her telin bir ucunu önceden kalaylayın
  3. Bir anoda lehimleyin.
  4. Yönlendirin ve boyuna kesin.
  5. Ön kalaylayın ve karşılık gelen anot çiftine lehimleyin.

Bu noktada multimetre kullanarak her kalıbın ön testini yapmak iyidir. Ortak katotlar (Mosfet tahliyesi) üzerindeki siyah kurşun ile kırmızı kurşun 3 anot çiftine ve tek anoda hareket ettirilebilir. İlgili LED'ler yanmalıdır.

Adım 4: Kutu Yapımı

Kutu Yapısı
Kutu Yapısı
Kutu Yapısı
Kutu Yapısı
Kutu Yapısı
Kutu Yapısı
Kutu Yapısı
Kutu Yapısı

Bu, 3B yazdırılmış kutu sürümünün kullanıldığını varsayar. Kutunun her kalıp ve her LED için girintileri vardır. Her bir LED'in altındaki alt katman çok incedir (0,24 mm), bu nedenle beyaz plastik ile ışığın çok iyi parlamasına izin verir ve bir difüzör görevi görür. Tüm anahtarlar ve şarj noktası için kesikler vardır. Pilin kendi bölmesi vardır.

Önce 6 mini basmalı düğme anahtarını ve sürgülü anahtarı yerine monte edin. Dışarıyla aynı hizada olduklarından emin olun. Basmalı düğme anahtarları, paralel olarak bağlanmış iki çift kontağa sahiptir. Anahtarlama kontakları kalıplarına bitişik olacak şekilde onları yönlendirin. Yerine kilitlemek için biraz hızlı sertleşen reçine kullanın.

Şimdi pili ve kutusunu sağlanan alana monte edin. Oldukça sıkı bir şekilde oturmalıdır, ancak gerekirse biraz tutkal kullanın.

LIPO şarj cihazını, deliğinden erişilebilen mikro USB ile sağlanan duvara yapıştırın.

Pil topraklamasını tüm basmalı düğme anahtarlarından ve LIPO B- bağlantısından geçirerek ve elektroniklere bağlantı için bir kuyruk bırakarak temel güç kablolarını tamamlayın. Pil +, LIPO şarj cihazındaki B+'ya ve sürgülü anahtara gitmelidir. Sürgülü anahtarın diğer tarafı, altıncı anahtara ve elektronikler için bir domuz kuyruğuna gitmelidir. Sürgülü anahtarın kapalı konumda olduğundan emin olun ve domuz kuyruklarını geçici olarak yalıtın. Pili kısaltmak istemezsiniz!

5 kalıp anahtarının her birine iki kısa yalıtılmamış domuz kuyruğu üzerinde lehim. Bunların biraz esnek olması gerekiyor.

Anahtarın 0V'sinin mosfet kaynağına / 0V noktasına ve anahtarın canlı tarafının 4K7 / kapıya bağlı olduğundan emin olarak, iki anahtar örgüsünü kalıp tahtasına lehimleyerek kalıbın her birini konumuna yerleştirin ve sabitleyin mosfet. Kart üzerindeki LED'ler kasadaki girintilere oturmalı ve şalter telleri kalıbı yerinde tutacak kadar yeterli olmalıdır.

Ardından 5 zarın tüm ortak anotlarını bağlayın. Bu, diyot çifti bağlantılarının kalıbın her iki tarafında da mevcut olmasıyla kolaylaştırılmıştır, ancak bunların köşegenler üzerinde çaprazlandığını unutmayın. Görünüşe göre kalıba giden görüntüdeki kırmızı tel ile kafanız karışmasın. Bu sadece örgüdür ve bu aşamada hiçbir şeye bağlı değildir.

ESP-12F makyaj

Montajdan önce ESP-12F modülünü programlamak isteyebileceğinizi unutmayın. Bir kez yanıp söndükten sonra diğer tüm güncellemeler wifi OTA kullanılarak yapılabilir.

3.3V regülatörünü biraz kalan prototip kartında oluşturun. Bu sadece üzerinde LDO regülatörüne ve dekuplaj kapasitörüne sahiptir. Güç kaybı çok düşük olmasına rağmen, cihaz için bir soğutucu görevi görmesi için birkaç kontağı birbirine lehimliyorum. İki kablo dışarı çıkabilir ve ESP-12F'nin 3.3V / 0V'sine doğrudan bağlantı yapabilir.

5 multipleks hat ve anahtar 6 için GPIO pinlerine tel lehimleyin. 4 LED anot sürücü hattının 220R / 440R serisi dirençlere ihtiyacı var. Bunun için ESP-12F üzerinde küçük açık delik dirençleri kullanılabilir veya ben bunu, oldukça sağlam olan deliklere istiflenmiş SMD ile yaptım.

Son olarak, mültipleks hatları ayrı kalıp başlık pimlerine ve anot sürücü hatlarını karşılık gelen papatya zincirlerine bağlayın.

Adım 5: Yazılım

Bunun için yazılım ESP8266 Arduino ortamına dayanmaktadır. github'da mevcuttur.

Kod burada mevcut

LED'leri çoğaltmak ve anahtarları okumak için kullanılan düşük seviyeli işlevleri sağlayan bir diceDriver kitaplığı vardır. Bu kesintiye dayalıdır, bu nedenle zar değerleri ayarlandıktan sonra kendi kendini korur.

Genel zamanlama, kalıp başına 1 mSec aralığına bölünmüştür. Bu 1 mSec içinde LED'lerin açık olduğu süre, her bir kalıp için bağımsız olarak ayarlanabilir. Bu, aydınlatmanın farklı renkler arasında dengelenmesini sağlar ve ayrıca oyun kontrolünün bir parçası olarak karartma ve yanıp sönmeye izin verir.

Kitaplık ayrıca zar anahtarlarını multiplex'in bir parçası olarak okur ve bir veya daha fazla zarı paralel olarak 'yuvarlamak' için rutinlere sahiptir.

Taslak, bir dizi zar oyun modu sağlamak ve bu oyunları çalıştırmak için kitaplığı kullanır. Ayrıca, başlangıçta wifi kurmak, OTA'nın yeni bellenimi indirmesi ve cihazın durumunu test etmek ve kontrol etmek için bazı temel web işlevlerini sağlamak için bakım işlevleri sağlar.

Yazılım bir Arduino IDE'de derlenmiştir. Temel işlevleri sağlamak için ino'nun yanı sıra BaseSupport kitaplığını kullanır. Bu, yerel BaseConfig.h dosyasında yapılandırılır. Wi-Fi kurulumuna bağlanmak için varsayılan bir 'parola' şifresi kullanılır. Bunu başka bir şeyle değiştirmek isteyebilirsiniz. Yerleşik kurulumu kullanmak istemiyorsanız, sabit wifi kimlik bilgileriyle de yapılandırabilirsiniz. Aynı şekilde, değiştirmek isteyebileceğiniz OTA firmware güncelleme işlemi için aynı varsayılan şifre vardır. Firmware ilk kez Arduino IDE'ye seri bağlantı üzerinden yüklenmelidir. Bu, flaş seri moduna almak için sıfırlama sırasında GPIO0 alçaltıldığında normal yanıp sönme kurallarına uymalıdır. Bu, modül nihayet kablolanmadan önce daha uygun bir şekilde yapılır, ancak ilgili pimlere klipsler takılırsa yerinde yapılabilir.

Ürün yazılımı ilk kez çalıştırıldığında, yerel wifi'ye bağlanamayacak ve kendi erişim ağını kurarak otomatik olarak bir kurulum moduna girecektir. Buna bir wifi cihazından (örneğin telefon) bağlanabilir ve ardından gerçek yerel wifi'yi seçip şifresini girmenize izin verecek olan 192.168.4.1'e göz atabilirsiniz. Bu uygunsa, yeniden başlatılacak ve bu ağı kullanacak.

OTA, Arduino IDE'deki ikili dosyaları dışa aktararak ve ardından ip/ürün yazılımına göz atarak yapılır; burada ip, bağlandığında kutunun ipidir. Bu, yeni ikili dosyayı soracak / arayacaktır.

Diğer web işlevleri

  • setpower - bir kalıbın gücünü ayarlar (ip/setpower?dice=3&power=50)
  • setflash - zar için flaşı ayarlar (ip/setflash?mask=7&interval=300)
  • setdice - bir kalıp değeri ayarlar (ip/setdice?dice=3&value=2)
  • parametreler - yuvarlanma parametrelerini ayarlar (ip/parameters?mask=7&time=4000&interval=200)
  • durum - zar değerlerini döndürür ve durumu değiştirir

6. Adım: Oyunlar

Yazılım, ana şalter tarafından kontrol edilen oyun seçimine ve oyun çalışmasına izin verir.

Başlangıçta sistem oyun ayarı modundadır ve sadece ilk zar '1' gösterir. Bu düğmeye kısa basarak 12 farklı oyun modunu dolaşıyorsunuz. İlk zar 1 - 6 gider ve sonra 6'da kalırken ikinci zar 1-6'yı gösterir.

Belirli bir oyunu seçmek için düğmeye uzun basarsınız (> 1 saniye) ve bu, oyunu çalıştırma moduna geçirir.

Bir oyun içinde normalde bu düğmeye kısa bir basışla bir yuvarlama başlatılır. Çalıştırma modundan oyun seçme moduna geri dönmek için, ardından bu düğmeye uzunca basın ve daha sonra oyun numarasını daha önce olduğu gibi gösterecek ve daha fazla seçime izin verecektir.

Şu anda 3 yedek ile 9 oyun modu tanımlanmıştır.

1'den 5'e kadar olan oyunlar, bu sayıda zarın basit atışlarıdır. Her rulo sadece tüm zarları atar. Zar anahtarlarının bu Oyunlarda hiçbir etkisi yoktur.

Oyun 6, dinamik bir zar sayısıdır. Zar sayısını seçmek için kalıp anahtarlarından birine ve ardından zarları atmak için ana anahtara basın. Her atıştan önce zar sayısı değiştirilebilir.

Oyun 7, çok atışlı bir rulodur. 5 zarın tamamı katılır. Ana düğmeye basıldığında tüm zarlar atılır. Her kalıp anahtarına basmak, yanıp sönmesini sağlar. Ana düğmeye basıldığında, yalnızca yanıp sönen kalıp yuvarlanacaktır, ancak hiçbiri yanıp sönmüyorsa hepsi yuvarlanacaktır. Bu, poker zarları veya Yahtzee gibidir. İzin verilen atış sayısının bir yaptırımı olmadığını unutmayın. Bu oyuncu bütünlüğüne bağlı.

Oyun 8, seçilen zarın yanıp sönmediğini belirtmek için loş kullanılması dışında Oyun 7 gibidir.

Oyun 9, ruloları belirlemek için kalıp anahtarlarını kullanır. İlk 3'ten biri seçilirse, bu 1, 2 veya 3) atılacak zar sayısını belirler. Daha sonra alttaki 2 düğmeden birine basılırsa, üst sıra tutulur ve bu, alt sıradaki (1 veya 2) atılacak zar sayısını seçer. Bu Risk gibi oyunlarda kullanılır.

Önerilen: