Spisu treści:

Zegar szachowy Arduino: 6 kroków
Zegar szachowy Arduino: 6 kroków

Wideo: Zegar szachowy Arduino: 6 kroków

Wideo: Zegar szachowy Arduino: 6 kroków
Wideo: Livestream #6: Projekt od zera - zegar szachowy #1 2024, Lipiec
Anonim
Zegar szachowy Arduino
Zegar szachowy Arduino

Nie mogłem znaleźć instrukcji na dobrym zegarze szachowym Arduino, więc zamiast tego zbudowałem własny, który opiszę tutaj.

Krok 1: Lista części

Lista części
Lista części

Oto rzeczy, których będziesz potrzebować: Arduino nano (lub dowolny typ arduino UNO) lutownica lutownicza płytka PCB lub płyta vero 2 podwójne uchwyty baterii AA 3 X rezystory 10k OHM uchwyt bezpiecznika 2 X kołki uziemiające z 2 wtyczek brytyjskich 2 X 4 cyfrowy 7-segmentowy wyświetlacz brzęczyk 1 przełącznik 1 mały przycisk (naciśnij, aby dokonać typu) kabel USB 1 (lub cokolwiek, co pasuje do twojego Arduino) złączki mikrofonów i nakrętki śrub. W tym celu licytowałem i wygrałem zestaw meccano na ebayu i użyłem tego, co znalazłem Obudowa (opcjonalnie) płytka stykowa i kable połączeniowe (opcjonalne, ale zalecane do prototypowania) raz, dużo czasu! Dołączyłem obraz, ale pochodził on z moich części zamiennych po mojej kompilacji, więc niektórych komponentów brakuje, jak wspomniano.

Krok 2: Prototypowanie

Prototypowanie
Prototypowanie
Prototypowanie
Prototypowanie

Cały projekt można podzielić na następujące części: 1. poprawny obwód 2. program 3. układ fizyczny Ten krok jest opcjonalny, ponieważ podam schemat obwodu, ale gorąco polecam, abyś go wypróbował w najpierw płytkę prototypową, ponieważ potwierdzi (lub nie), że masz wszystkie potrzebne części i pozwoli ci pomyśleć o fizycznym rozmieszczeniu wszystkich elementów obudowy lub podstawy. Załączam tutaj zdjęcie mojego prototypu w płytce stykowej oraz schemat obwodu. Kilka uwag na temat obwodu: 1. W lewym górnym rogu schematu obwodu pokazuje pin na wyświetlaczu, który jest połączony z segmentem (katody) lub cyfrą (anody). 2. Zauważysz, że dla każdego wyświetlacza segmenty (katody) są połączone z odpowiednim segmentem na drugim wyświetlaczu. Dzieje się tak, ponieważ wyświetlacz jest multipleksowany, aby wyświetlać prawidłowe cyfry. 3. Przełącznik resetowania i przełącznik są połączone z rezystorami obniżającymi, aby utrzymać wejście w stanie LOW, gdy odpowiedni przycisk nie jest wciśnięty. zobacz https://www.arduino.cc/en/tutorial/button, aby uzyskać więcej informacji na ten temat. 4. Obwód zasilania jest całkowicie oddzielny, ale prosty. Jest to szeregowo 4 baterie AA z włącznikiem wlutowane w czerwone i czarne wyprowadzenia do przeciętego kabla USB. Kabel USB przechodzi następnie do arduino.

Krok 3: Program

Program
Program
Program
Program

Gdy już masz go na płytce prototypowej, musisz napisać kontroler. Na szczęście załączyłem tutaj mój kod, ale zachęcam do wypróbowania lub podkręcenia tego kodu. Jeśli zamierzasz napisać to od zera, najpierw wymyślisz, które szpilki ustawić, aby utworzyć wszystkie 10 cyfr, następnie zakodowałem dodatkowe 2 wzory, jeden na czas, gdy skończy się czas, a drugi reprezentujący 10 w jednym cyfra (patrz zdjęcie). Następnym krokiem jest zwielokrotnienie cyfr, dzięki czemu możesz potencjalnie wyświetlić inną liczbę lub wzór na każdej z 8 cyfr. Poprawiłem szybkość multipleksowania, aż wyglądało dobrze, zbyt szybko, a liczby łączą się między sąsiednimi cyframi i zbyt wolno, aby gołym okiem zauważyć multipleksowanie. Następnym krokiem jest odliczanie liczb jako 2 zestawy 4 liczb reprezentujących 2 odliczanie. Wybrałem pierwszą cyfrę dla minut, następną 2 dla sekund, a ostatnią dla dziesiątych sekund, ale możesz wybrać 2 dla minut i 2 dla sekund. Odliczanie można skalibrować za pomocą prostej pętli for, która nic nie robi, tak że tyknięcie „sekundy” na wyświetlaczu jest w rzeczywistości prawdziwą sekundą. Zbliżyłem się do mojej, ale stwierdziłem, że w nieformalnej grze w szachy nie ma większego znaczenia, czy każda gra ma taką samą liczbę jednostek. Myślę, że możesz chcieć zrobić to dokładniej, jeśli chcesz użyć zegara szachowego do turnieju lub nawet do zmierzenia czasu jajka! Po włączeniu zegar ładuje się w tryb resetowania. Następnie czeka na uderzenie w klawisze po obu stronach i odlicza (domyślnie) 5 minut. Kod nasłuchuje przycisku resetowania, gdy przełącznik jest zrównoważony. jeśli zostanie trafiony, zegar ponownie przejdzie w tryb resetowania. W tym momencie przycisk resetowania może być użyty do przechodzenia pomiędzy minutami żądanymi dla każdego odtworzenia od 1 do 10. Kiedy żądany czas zostanie wyświetlony, można ponownie nacisnąć klawisz, aby uruchomić zegar. na koniec musisz zrobić coś, aby wskazać, że czas się skończył w moim przypadku wyświetla wszystkie kreski (-) i odtwarza serię dźwięków, następnie pokazuje jedną stronę jako 0000 (przegrany), a drugą stronę jako dowolną godzinę został niewykorzystany przez zwycięzcę.

Krok 4: Budowa fizyczna

Budowa fizyczna
Budowa fizyczna

Kolejna faza to fizyczna budowa. Przełącznik kołyskowy Pierwszym elementem jest zbudowanie przełącznika kołyskowego. Przełącznik ten musi zamykać jedno z dwóch połączeń, ale nigdy oba. Musi również być w stanie zrównoważyć się w środku, gdzie nie zamyka żadnego połączenia. To zatrzymuje zegar. Tutaj użyłem małego kawałka drewna i przykręciłem brytyjską szpilkę uziemiającą do obu końców. Następnie na środku budowany jest trzpień, aby podnieść rocker z deski. Ponownie intensywnie korzystałem z mojego serwisu eBay Meccano do tego kawałka. Gdy wahacz jest zamontowany na płycie, kołki uziemiające muszą wejść do zacisków uchwytu bezpiecznika, aby zamknąć połączenie. Aby było to gładkie, spiłowałem krawędzie kołków uziemiających, aby przejście do uchwytu bezpiecznika poruszało się łatwo (patrz zdjęcie). Układ Najpierw zamontowałem puste płytki drukowane na arkuszu pleksiglasu z przerwą na oś wahacza przełącznik. Następnie zdjąłem go i przylutowałem elementy i przewody z tą samą przerwą. Jeśli tego nie zrobisz, możesz mieć trudności z przykręceniem powstałych desek z powrotem do pleksiglasu podstawy. Najpierw narysuj układ na papierze i pamiętaj: - jak wysoko będzie każda górna strona obudowy - niektóre elementy, takie jak uchwyty baterii i port USB Arduino, muszą być dostępne po zakończeniu - Jeśli przełączniki są być zamontowane na pokrywie obudowy, a następnie połączyć ich przewody ze złączami, aby można było całkowicie zdjąć pokrywę. (mój ma tylko zawias, ale i tak to zrobiłem) - przechyliłem 7-segmentowe wyświetlacze, wysuwając piny z jednej strony drutem bezpiecznikowym, co pozwala tej stronie siedzieć wyżej z tablicy Obudowa Planowałem zbudować niestandardową obudowę, ale w końcu nie miałem wystarczająco dużo czasu, a pleksi jest trudna do przycięcia, więc kupiłem pudełko podobnej wielkości do tego, czego potrzebowałem i trochę je zmodyfikowałem. Myślę, że dobrze jest mieć przezroczystą obudowę, żeby było widać działanie, ale upewnij się, że baterie i port USB pozostaną dostępne dla poprawek programu. To jest dobra zabawa i powodzenia!

Krok 5: Inne opcje…

Możliwe ulepszenia lub opcje: - odtwórz inną sekwencję dźwięków w zależności od tego, która strona wygra - odtwórz melodię po zakończeniu Uważam, że jest to możliwe za pomocą pinów analogowych i odpowiedniego brzęczyka. - różne oficjalne wzorce czasowe szachów (na przykład dodaj czas dla każdego zagranego ruchu) - użyj 7 segmentów, aby były 2 cyfry dla minut i 2 dla sekund

Krok 6: Aktualizacja 2019

Aktualizacja 2019!
Aktualizacja 2019!
Aktualizacja 2019!
Aktualizacja 2019!
Aktualizacja 2019!
Aktualizacja 2019!

więc wróciłem do mojego pierwszego Instructable i ponownie zrobiłem ten zegar szachowy!

Wykonałem mniej więcej te same kroki, ale z następującymi ulepszeniami:

Budowa fizyczna

  • Całość jest bardziej kompaktowa i na drewnianej podstawie (patrz zdjęcia)
  • Przełączony na pojedynczą baterię 9 v podłączoną bezpośrednio do VIN i GND za pomocą przełącznika
  • Przełącznik kołyskowy to meccanno, w którym każda strona jest przytrzymywana przez supermocne magnesy.

Kod

Poprawiłem również kod, który jest tutaj załączony. ulepszenia to:

  • Zrezygnowano z wyświetlania dziesiątych części sekundy i przesunięto cyfry w prawo
  • Dodano przyrosty. Dodano opcje 5 minut plus 5 sekund na ruch i 10 minut plus 5 sekund na ruch

Dodano kilka linii do przełączania wyświetlaczy (L R), jeśli po kompilacji okaże się, że przełącznik kołyskowy nie uruchamia prawidłowego zegara

Okrążenie

Zalecana: