Mündəricat:

Arduino Chessclock: 6 addım
Arduino Chessclock: 6 addım

Video: Arduino Chessclock: 6 addım

Video: Arduino Chessclock: 6 addım
Video: Arduino UNO TFT LCD Touch Chess Clock in Action 2024, Iyul
Anonim
Arduino Chessclock
Arduino Chessclock

Yaxşı bir Arduino şahmat saatı ilə bağlı təlimatlar tapa bilmədim, bunun əvəzinə burada təsvir edəcəyim özümü qurdum.

Addım 1: Parça siyahısı

Parça siyahısı
Parça siyahısı

sizə lazım olacaq şeylər: Arduino nano (və ya hər hansı bir arduino UNO növü) lehimləmə dəmir lehim PCB lövhəsi və ya vero lövhəsi 2 cüt AA batareya tutucusu 3 X 10k OHM müqavimət qoruyucu tutucu 2 İngiltərə fişindən 2 X torpaq sancağı 2 X 4 rəqəm 7-seqmentli səs siqnalı 1 keçid açarı 1 düymə kiçik (tip etmək üçün basın) USB 1 kabel (və ya Arduino-ya uyğun olan) mikrofon parçaları və qoz-fındıq boltları. Bunun üçün ebayda bir meccano dəsti təklif etdim və qazandım və Casing (isteğe bağlı) çörək taxtası və tullanan kabelləri (isteğe bağlı, lakin əvvəlcə prototip etməyi tövsiyə etdim) istifadə etdiyim şeyi istifadə etdim, çox vaxt! Bir şəkil əlavə etdim, amma bu, qurduqdan sonra ehtiyat hissələrimdən idi, buna görə də qeyd edildiyi kimi bəzi komponentlər yoxdur.

Addım 2: Prototipləşdirmə

Prototipləşdirmə
Prototipləşdirmə
Prototipləşdirmə
Prototipləşdirmə

Bütün layihə bu hissələrə bölünə bilər: 1. dövrəni düzgün əldə etmək 2. proqram 3. fiziki nizam Bu addım isteğe bağlıdır, çünki sizə dövrə diaqramını verəcəyəm, amma bunu bir müddətdən sonra keçirməyi məsləhət görürəm. Çörək taxtası, ehtiyac duyduğunuz bütün hissələrə sahib olduğunuzu təsdiqləyəcək (və ya etməyəcək) və bir mənzil və ya baza üçün bütün parçaların fiziki quruluşu haqqında düşünməyə imkan verəcəkdir. Buraya çörək taxtasında prototipimin şəklini və bir dövrə diaqramını əlavə etdim. Dövrə ilə bağlı bəzi qeydlər: 1. Dövrə diaqramının sol üst hissəsində, seqmentə (Katodlara) və ya rəqəmə (Anodlara) bağlı olan pin göstərilir. 2. Hər bir ekran üçün seqmentlərin (Katodların) digər ekrandakı müvafiq seqmentə bağlı olduğunu qeyd edəcəksiniz. Bunun səbəbi, ekranın düzgün rəqəmləri göstərmək üçün multipleksləşdirilməsidir 3. sıfırlama açarı və rokçu, müvafiq düyməyə basılmadıqda girişi aşağı tutmaq üçün müqavimətləri aşağı çəkməklə bağlanır. bu barədə daha ətraflı məlumat üçün https://www.arduino.cc/en/tutorial/button səhifəsinə baxın. 4. Güc dövrəsi tamamilə ayrıdır, lakin sadədir. Kəsilmiş USB kabelinin qırmızı və qara uclarına lehimlənmiş bir keçid ilə birlikdə 4 ədəd AA batareyasıdır. USB kabel daha sonra arduinoya daxil olur.

Addım 3: Proqram

Proqram
Proqram
Proqram
Proqram

Bir çörək taxtasına yerləşdirdikdən sonra nəzarətçini yazmalısınız. Xoşbəxtlikdən kodumu bura əlavə etdim, amma bu kodu getməyinizi və ya düzəltməyinizi tövsiyə edərdim. Sıfırdan yazacaqsınızsa, əvvəlcə bütün 10 rəqəmi nəyə qoyacağınızı təyin edin, sonra vaxt bitdikdə biri, 10 -u birdəfəlik təmsil etmək üçün əlavə 2 nümunəni kodladım. rəqəm (şəkilə bax). Növbəti addım, rəqəmləri çoxaltmaqdır ki, potensial olaraq 8 rəqəmin hər birində fərqli bir rəqəm və ya nümunə göstərəsiniz. Çox sağa doğru görünənə qədər çoxlama sürətini düzəltdim və ədədlər qonşu rəqəmlər arasında çox yavaş birləşdi və çılpaq gözlə multipleksin fərqinə vara bilmədim. Növbəti addım, ədədləri 2 geri saymağı əks etdirən 4 ədəddən ibarət 2 dəst kimi aşağı saymaqdır. İlk rəqəmi dəqiqələr üçün, sonrakı 2 -ni saniyələr üçün və sonuncunun onda biri üçün istifadə etməyi seçdim, ancaq 2 -ni dəqiqələr üçün və 2 -ni saniyələr üçün istifadə edə bilərsiniz. Geri sayım, heç bir şey etməyən sadə bir döngə ilə kalibr edilə bilər ki, ekranda 'saniyə' işarəsi əsl saniyə olsun. Özümə yaxınlaşdım, amma hər bir oyunun eyni sayda vahid olması qeyri -rəsmi bir şahmat oyunu üçün çox vacib olmadığını başa düşdüm. Şahmat saatınızı bir turnir üçün istifadə etmək və ya hətta bir yumurta vaxtını istifadə etmək istəyirsinizsə bunu daha dəqiq etmək istəyə bilərsiniz! Saat açıldıqda sıfırlama rejiminə yüklənir. Sonra rokçuların hər iki tərəfdən vurulmasını gözləyir və (standart) 5 dəqiqədən geri sayılır. Rokçu balanslaşdırıldıqda kod sıfırlama düyməsini dinləyir. vurulursa, saat yenidən sıfırlama rejiminə keçir. Bu nöqtədə sıfırlama düyməsini 1 -dən 10 -a qədər hər bir oyun üçün istədiyiniz dəqiqələri keçmək üçün istifadə etmək olar. İstədiyiniz vaxt göstərildikdə rokçu saata başlamaq üçün yenidən vurula bilər. nəhayət, vaxtımın bitdiyini göstərmək üçün bir şey etməlisiniz, mənim vəziyyətimdə bütün tireləri (-) göstərir və bir sıra səs siqnalı səsləndirir, sonra bir tərəfi 0000 (uduzan), digər tərəfi isə hər zaman olduğu kimi göstərir qalib tərəfindən istifadə edilməmişdir.

Addım 4: Fiziki quruluş

Fiziki quruluş
Fiziki quruluş

Növbəti mərhələ fiziki quruluşdur. Rocker açarı İlk parça rocker keçidini qurmaqdır. Bu keçid iki əlaqədən birini bağlamalıdır, amma hər ikisini də bağlamamalıdır. Həm də heç bir əlaqəni bağlamadığı ortada tarazlaşdırmağı bacarmalıdır. Bu saatı dayandırır. Burada kiçik bir uzunluqda taxta istifadə etdim və hər iki ucuna da İngiltərə şaftını bağladım. Sonra rokçu taxtadan qaldırmaq üçün ortada bir döngə qurulur. Yenə ebay meccano -nu bu bit üçün geniş istifadə etdim. Rocker lövhəyə quraşdırıldıqda, yer sancaqlarının əlaqəni bağlamaq üçün qoruyucu tutacaq kliplərinə girməsi lazımdır. Bunu hamar bir şəkildə hiss etmək üçün yerdəki sancaqların kənarlarını aşağı saldım, beləliklə qoruyucu tutucunun içərisinə asanlıqla daxil oluruq (görüntüyə baxın). Layout əvvəl boş PCB -ləri rokçu döngəsi üçün boşluğu olan bir perspeks vərəqinə quraşdırdım. keçid Sonra geri götürdüm və eyni boşluqla komponentləri və telləri lehimlədim. Bunu etməsəniz, ortaya çıxan lövhələri bazanın perspektivinə bərkitmək çətin ola bilər. Layihəni əvvəlcə kağız üzərində çəkin və unutmayın: - hər bir rokçunun korpus üçün 'yuxarı' tərəfinin nə qədər yüksək olacağını - batareya tutacaqları və Arduino USB portu kimi bəzi komponentlərin tamamlandıqdan sonra əlçatan olması lazımdır. korpusun qapağına monte olun, sonra telləri bağlayıcılarla bağlayın ki, qapaq tamamilə çıxarılsın. (mənim yalnız bir menteşəm var, amma hər halda bunu etdim) - 7 tərəfli displeyləri bir tərəfdəki sancaqları qoruyucu tellə uzadaraq əyərək o tərəfin taxtadan daha yüksəkdə oturmasına imkan verdim. sonunda kifayət qədər vaxtım yox idi və perspektivi kəsmək çətindir, buna görə ehtiyacım olan ölçüdə bir qutu aldım və bir az dəyişdirdim. Düşünürəm ki, işlərin görülə bilməsi üçün şəffaf bir korpusun olması yaxşıdır, ancaq batareyanın və USB portunun proqram çimdikləri üçün əlçatan olmasına əmin olun. Budur əylənin və uğurlar!

Addım 5: Digər Seçimlər…

Mümkün təkmilləşdirmələr və ya seçimlər: - Hansı tərəfin qalib gəldiyindən asılı olaraq fərqli bir səs siqnalı səsləndirin - tamamlandıqda bir melodiyanı səsləndirin Mən bunun analoq pinlər və uyğun bir səs siqnalı ilə mümkün olacağına inanıram. - Fərqli rəsmi şahmat vaxt nümunələri (məsələn, oynanan hər bir hərəkət üçün vaxt əlavə edin) - 7 seqmenti dəqiqə 2 rəqəm və 2 saniyə üçün istifadə edin

Addım 6: 2019 Yeniləmə

2019 Yeniləmə!
2019 Yeniləmə!
2019 Yeniləmə!
2019 Yeniləmə!
2019 Yeniləmə!
2019 Yeniləmə!

ilk təlimatçılığa qayıtdım və bu şahmat kilidini yenidən düzəltdim!

Aşağıdakı təkmilləşdirmələrlə eyni addımları az -çox izlədim:

Fiziki quruluş

  • Bütün quruluş daha yığcam və taxta bir bazadır (şəkillərə baxın)
  • Bir keçid ilə birbaşa VIN və GND -ə qoşulan tək 9v batareyaya keçildi
  • Rokçu açarı, supergüclü maqnitlər tərəfindən basıldıqda hər tərəfin basıldığı yerdədir.

Kod

Burada əlavə olunan kodu da təkmilləşdirdim. təkmilləşdirmələr bunlardır:

  • Saniyənin 10 -cu hissəsinin ekranını kəsdi və rəqəmləri sağa çevirdi
  • Artımlar əlavə edildi. Seçim olaraq 5 dəqiqə artı 5 saniyə/10 dəqiqə əlavə olaraq 5 saniyə əlavə edildi

Quruluşdan sonra rokçu açarının düzgün saatı başlatmadığını görsəniz, displeyləri dəyişdirmək üçün bir kupe xətti (L R) əlavə edildi

Dövrə

Tövsiyə: