İçindekiler:

Arduino Satranç Saati: 6 Adım
Arduino Satranç Saati: 6 Adım

Video: Arduino Satranç Saati: 6 Adım

Video: Arduino Satranç Saati: 6 Adım
Video: Adım at para kazan hîlesi ( Arapların taktiği 😅 ) 2024, Temmuz
Anonim
Arduino Satranç Saati
Arduino Satranç Saati

İyi bir Arduino satranç saati ile ilgili talimatlar bulamadım, bunun yerine burada anlatacağım kendiminkini kurdum.

Adım 1: Parça Listesi

Parça listesi
Parça listesi

İşte ihtiyacınız olacak şeyler: Arduino nano (veya herhangi bir arduino UNO tipinin yapacağı) havya lehim PCB kartı veya vero kartı 2 çift AA pil tutucu 3 X 10k OHM direnç sigorta tutucu 2 İngiltere fişinden 2 X topraklama pimi 2 X 4 rakam 7-segment sesli uyarı 1 geçiş anahtarı 1 düğme küçük (tip yapmak için basın) USB 1 kablosu (veya Arduino'nuza ne uyuyorsa) mikrofon bağlantı parçaları ve somun cıvataları. Bunun için ebay'de bir meccano seti teklif ettim ve kazandım ve bulduğum şeyi kullandım Kasa (isteğe bağlı) devre tahtası ve atlama kabloları (isteğe bağlı, ancak ilk önce prototiplenmesi önerilir) bir kez, bolca zaman! Bir resim ekledim ama bu benim derlememden sonra yedeklerimdendi, bu yüzden belirtildiği gibi bazı bileşenler eksik.

2. Adım: Prototipleme

prototipleme
prototipleme
prototipleme
prototipleme

Tüm proje şu bölümlere ayrılabilir: 1. devreyi doğru yapmak 2. program 3. fiziksel yerleşim Bu adım isteğe bağlıdır çünkü size devre şemasını vereceğim ama bir denemenizi şiddetle tavsiye ederim. ilk olarak breadboard, ihtiyacınız olan tüm parçalara sahip olduğunuzu onaylayacak (ya da değil) ve bir muhafaza veya taban için tüm parçaların fiziksel yerleşimi hakkında düşünmenizi sağlayacaktır. Buraya bir devre tahtasında prototipimin bir resmini ve ayrıca bir devre şeması ekledim. Devre ile ilgili bazı notlar: 1. Devre şemasının sol üst köşesinde, segmente (Katotlar) veya rakama (Anotlar) bağlı olan pin gösterilir. 2. Her ekran için segmentlerin (Katotlar) diğer ekrandaki ilgili segmente bağlı olduğunu fark edeceksiniz. Bunun nedeni, ekranın doğru rakamları gösterecek şekilde çoğullanmasıdır 3. sıfırlama anahtarı ve basmalı düğme, ilgili düğmeye basılmadığında girişi DÜŞÜK tutmak için aşağı çekme dirençleriyle bağlanır. Bununla ilgili daha fazla ayrıntı için https://www.arduino.cc/en/tutorial/button adresine bakın. 4. Güç devresi tamamen ayrıdır ancak basittir. Kesilmiş bir USB kablosunun kırmızı ve siyah uçlarına bir anahtar ile seri olarak 4 adet AA pil lehimlenmiştir. USB kablosu daha sonra arduinoya girer.

Adım 3: Program

Program
Program
Program
Program

Bir breadboard'a sahip olduğunuzda, denetleyiciyi yazmanız gerekir. Neyse ki sizin için kodumu buraya ekledim ama bu kodu bir denemenizi veya düzeltmenizi tavsiye ederim. Sıfırdan yazacaksanız, önce 10 hanenin tümünün hangi pinlere ayarlanacağını belirleyin, daha sonra ek 2 desen kodladım, biri zaman dolduğunda ve diğeri tek seferde 10'u temsil edecek. rakam (resme bakın). Sonraki adım, 8 hanenin her birinde potansiyel olarak farklı bir sayı veya desen görüntüleyebilmeniz için rakamları çoğaltmaktır. Doğru görünene, çok hızlı ve sayılar komşu rakamlar arasında birleşene ve çok yavaş olana ve çıplak gözle çoğullamayı fark edene kadar çoğullamanın hızını değiştirdim. Bir sonraki adım, sayıları 2 geri sayımı temsil eden 2 set 4 sayı olarak saymaktır. İlk basamağı dakikalar için, sonraki 2'yi saniyeler için ve sonuncuyu saniyenin onda biri için kullanmayı seçtim ama siz 2'yi dakikalar ve 2'yi saniyeler için kullanmayı tercih edebilirsiniz. Geri sayım, hiçbir şey yapmayan basit bir for döngüsü ile kalibre edilebilir, böylece ekrandaki bir 'saniye' işareti aslında gerçek bir saniye olur. Benimkini oldukça yaklaştırdım ama gayri resmi bir satranç oyunu için her oyunun aynı sayıda birime sahip olmasının çok da önemli olmadığını düşündüm. Satranç saatinizi bir turnuva için veya hatta bir yumurtayı zamanlamak için kullanmak istiyorsanız, sanırım daha doğru yapmak isteyebilirsiniz! Açıldığında saat sıfırlama moduna geçer. Ardından, her iki taraftaki rock'çıların vurulmasını bekler ve (varsayılan) 5 dakikadan geriye doğru sayar. Rocker dengelendiğinde kod, sıfırlama düğmesini dinler. vurulursa saat tekrar sıfırlama moduna geçer. Bu noktada, 1'den 10'a kadar her oyun için istenen dakikalar arasında geçiş yapmak için sıfırlama düğmesi kullanılabilir. İstenilen zaman görüntülendiğinde, saati başlatmak için rocker'a tekrar basılabilir. son olarak, benim durumumda zamanın dolduğunu belirtmek için bir şey yapmanız gerekiyor, tüm tireleri (-) gösteriyor ve bir dizi bip sesi çalıyor, ardından bir tarafı 0000 (kaybeden) ve diğer tarafı ne zaman olursa olsun olarak gösteriyor. kazanan tarafından kullanılmadı.

Adım 4: Fiziksel Yapı

Fiziksel Yapı
Fiziksel Yapı

Bir sonraki aşama fiziksel yapıdır. Basmalı anahtar İlk parça, basmalı anahtarı oluşturmaktır. Bu anahtar iki bağlantıdan birini kapatmalı, ancak ikisini birden kapatmamalıdır. Ayrıca her iki bağlantıyı da kapatmadığı ortada dengeleyebilmelidir. Bu, saati duraklatır. Burada küçük bir tahta parçası kullandım ve her iki uca da bir İngiliz topraklama pimini vidaladım. Ardından, rocker'ı tahtadan kaldırmak için ortada bir pivot yapılır. Yine bu parça için ebay meccano'mu yoğun bir şekilde kullandım. Rocker panoya monte edildiğinde, bağlantıyı kapatmak için topraklama pimlerinin sigorta tutucu klipslerine girmesi gerekir. Bunun pürüzsüz bir his vermesi için topraklama pimlerinin kenarlarını törpüledim, böylece sigorta tutucusuna giriş kolayca hareket eder (resme bakın). Yerleşim İlk önce boş PCB'leri, külbütör pivotu için bir boşluk olan bir perspeks levha üzerine monte ettim. değiştirmek. Sonra geri çıkardım ve bileşenleri lehimledim ve aynı boşlukla kabloladım. Bunu yapmazsanız, ortaya çıkan levhaları tabanın perspesine geri vidalamakta zorlanabilirsiniz. Önce düzeni kağıda çizin ve aklınızda bulundurun: - her bir rocker'ın 'yukarı' tarafı muhafaza için ne kadar yüksek olacak - pil tutucular ve Arduino USB bağlantı noktası gibi bazı bileşenlere tamamlandıktan sonra erişilebilir olmalıdır - Anahtarlar muhafazanın bir kapağına monte edilmelidir, ardından kablolarını konektörlerle bağlayın, böylece kapak tamamen çıkarılabilir. (benimki sadece menteşeye sahip ama yine de yaptım) - 7 segmentli ekranları, pimleri bir taraftaki sigorta teli ile uzatarak eğdim, bu da o tarafın panodan daha yükseğe oturmasını sağlıyor. Sonunda yeterli zamanım olmadı ve perspeksi kesmek zor, bu yüzden ihtiyacım olana benzer boyutta bir kutu aldım ve biraz değiştirdim. Çalışmaların görülebilmesi için şeffaf bir kasaya sahip olmanın iyi olduğunu düşünüyorum, ancak pillerin ve USB bağlantı noktasının program ince ayarları için kullanılabilir durumda kaldığından emin olun. İşte bu, iyi eğlenceler ve iyi şanslar!

Adım 5: Diğer Seçenekler…

Olası geliştirmeler veya seçenekler: - hangi tarafın kazandığına bağlı olarak farklı bir bip dizisi çalın - tamamlandıktan sonra bir melodi çalın Bunun analog pinler ve uygun bir sesli uyarıcı ile mümkün olduğuna inanıyorum. - farklı resmi satranç zamanlama kalıpları (örneğin oynanan her hamle için süre ekleyin) - 7 segmentini dakikalar için 2 basamak ve saniyeler için 2 basamak olacak şekilde kullanın

6. Adım: 2019 Güncellemesi

2019 Güncellemesi!
2019 Güncellemesi!
2019 Güncellemesi!
2019 Güncellemesi!
2019 Güncellemesi!
2019 Güncellemesi!

bu yüzden ilk Eğitilebilir Tabloma döndüm ve bu satranç saatini tekrar yaptım!

Aynı adımları aşağı yukarı takip ettim, ancak aşağıdaki iyileştirmelerle:

Fiziksel yapı

  • Tüm yapı daha kompakt ve ahşap bir taban üzerinde (fotoğraflara bakın)
  • Bir anahtarla doğrudan VIN ve GND'ye bağlı tek bir 9v pile geçildi
  • Basmalı anahtar, süper güçlü mıknatıslar tarafından basıldığında her iki tarafın basılı tutulduğu meccanno'dur.

kod

Ayrıca buraya eklenen kodu da geliştirdim. iyileştirmeler şunlardır:

  • Saniyenin 10'unun gösterimi kaldırıldı ve rakamlar sağa kaydırıldı
  • Artışlar eklendi. Seçenekler olarak 5 dakika artı 5 saniye ve hareket başına 10 dakika artı 5 saniye eklendi

Yapıdan sonra basmalı anahtarın doğru saati başlatmadığını fark ederseniz, ekranları (SOL) değiştirmek için birkaç satır eklendi

Devre

Önerilen: