Indholdsfortegnelse:

Arduino Chessclock: 6 trin
Arduino Chessclock: 6 trin

Video: Arduino Chessclock: 6 trin

Video: Arduino Chessclock: 6 trin
Video: Tempest Chess Clock - Deluxe Edition - Make Your Old Cellphone Useful Again 2024, Juli
Anonim
Arduino skakur
Arduino skakur

Jeg kunne ikke finde instruktioner om et godt Arduino skakur, så i stedet byggede jeg mit eget, som jeg vil beskrive her.

Trin 1: Deleliste

Liste over dele
Liste over dele

her er de ting, du skal bruge: Arduino nano (eller en hvilken som helst arduino UNO -type vil gøre) loddejern loddemetal printkort eller verokort 2 dobbelte AA batteriholdere 3 X 10k OHM modstande sikringsholder 2 X jordstifter fra 2 britiske stik 2 X 4 cifret 7-segment viser summer 1 vippekontakt 1 knap lille (tryk for at lave type) USB 1-kabel (eller hvad der passer til din Arduino) mikrofoner og møtrikbolte. Til dette budde jeg og vandt et meccano -sæt på ebay og brugte det jeg fandt Casing (valgfrit) brødbræt og jumperkabler (valgfrit men anbefales at prototype det første) gang, masser af tid! Jeg vedhæftede et billede, men dette var fra mine reservedele efter min build, så nogle komponenter mangler som angivet.

Trin 2: Prototyping

Prototyper
Prototyper
Prototyper
Prototyper

Hele projektet kan opdeles i disse dele: 1. få kredsløbet til at passe korrekt 2. programmet 3. det fysiske layout Dette trin er valgfrit, da jeg vil give dig kredsløbsdiagrammet, men jeg anbefaler stærkt, at du prøver det i en brødbræt først, da det vil bekræfte (eller ej), at du har alle de dele, du har brug for, og sætter dig i stand til at tænke over det fysiske layout af alle brikkerne til et hus eller en base. Jeg har vedhæftet her et billede af min prototype i et brødbræt og også et kredsløbsdiagram. Nogle bemærkninger om kredsløbet: 1. Øverst til venstre på kredsløbsdiagrammet viser stiften på displayet, der er forbundet til segmentet (katoder) eller cifret (anoder). 2. Du vil bemærke, at segmenterne (katoder) for hvert display er forbundet til det respektive segment på det andet display. Dette skyldes, at displayet er multiplekset for at vise de korrekte cifre 3. nulstillingskontakten og vippekablet er forbundet med nedtrapningsmodstande for at holde indgangen LAV, når den respektive knap ikke trykkes ned. se https://www.arduino.cc/en/tutorial/button for flere detaljer om dette. 4. strømkredsløbet er helt separat, men enkel. Det er 4 AA -batterier i serie med en switch, der er loddet ind i de røde og sorte ledninger til et afskåret USB -kabel. USB -kablet går derefter ind i arduinoen.

Trin 3: Programmet

Programmet
Programmet
Programmet
Programmet

Når du har det på et brødbræt, skal du skrive controlleren. Heldigvis for dig har jeg vedhæftet min kode her, men jeg vil opfordre dig til at prøve eller justere denne kode. Hvis du vil skrive det fra bunden, regner du først ud, hvilke pins der skal indstilles til, hvad der skal laves alle de 10 cifre, jeg har derefter kodet yderligere 2 mønstre, et til når tiden er løbet tør og en til at repræsentere 10 i en enkelt ciffer (se billede). Det næste trin er at multiplexere cifrene, så du potentielt kan vise et andet tal eller mønster på hver af de 8 cifre. Jeg justerede multiplexingens hastighed, indtil den så rigtigt ud, for hurtigt og tallene smelter sammen mellem nabocifre og for langsomme, og det blotte øje kan bemærke multiplexeringen. Det næste trin er at tælle tallene ned som 2 sæt med 4 tal, der repræsenterer 2 nedtællinger. Jeg valgte at bruge det første ciffer i minutter, de næste 2 i sekunder og det sidste i tiendedele sekunder, men du kunne vælge at have 2 i minutter og 2 i sekunder. Nedtællingen kan kalibreres med en simpel loop, der ikke gør noget, så et kryds på et 'sekund' på displayet faktisk er et reelt sekund. Jeg fik min ret tæt på, men jeg regnede med, at det ikke betyder for meget for et uformelt skakspil, hvis hvert spil har samme antal enheder. Jeg gætter på, at du måske vil gøre det mere præcist, hvis du vil bruge dit skakur til en turnering eller endda til at time et æg! Uret indlæses i nulstillingstilstand, når det tændes. Derefter venter det på, at rockerne bliver ramt på hver side og tæller ned fra (standard) 5 minutter. Koden lytter til nulstillingsknappen, når vippeknappen er afbalanceret. hvis det bliver ramt, går uret i nulstillingstilstand igen. På dette tidspunkt kan nulstillingsknappen bruges til at bladre gennem de minutter, der ønskes for hvert spil fra 1 til 10. Når det ønskede tidspunkt vises, kan vipperen slås igen for at starte uret. endelig skal du bruge det til at gøre noget for at angive, at tiden er løbet ud i mit tilfælde, det viser alle streger (-) og afspiller en række bip, så viser det den ene side som 0000 (taberen) og den anden side som uanset tidspunkt var ubrugt af vinderen.

Trin 4: Fysisk opbygning

Fysisk opbygning
Fysisk opbygning

Den næste fase er den fysiske opbygning. Vippekontakt Det første stykke er at bygge vippekontakten. Denne switch skal lukke en af to forbindelser, men aldrig begge. Den skal også være i stand til at balancere i midten, hvor den hverken afslutter forbindelsen. Dette sætter uret på pause. Her brugte jeg en lille længde af træ og skruede en britisk jordstift i hver ende. Derefter er en pivot bygget i midten for at løfte vipperen fra brættet. Igen brugte jeg min ebay meccano i vid udstrækning til denne bit. Når vipperen er monteret på brættet, skal jordstifterne gå ind i sikringsholderklemmerne for at lukke forbindelsen. For at få dette til at have en glat fornemmelse lagde jeg ned langs kanterne på jordstifterne, så det let kunne gå ind i sikringsholderen (se billede). Layout monterede jeg først de tomme print på et perspex -ark med et mellemrum til vippens drejning kontakt. Derefter tog jeg det af igen og loddet komponenterne og trådte ind med det samme mellemrum. Hvis du ikke gør dette, kan du have svært ved at bolt de resulterende brædder tilbage på basispunktet. Tegn først layoutet på papir, og husk på: - hvor høj 'up' -siden af hver vippe vil være for huset - nogle komponenter som f.eks. Batteriholdere og Arduino USB -port skal være tilgængelige efter afslutning - Hvis switches skal monteres på et låg på huset, og tilslut derefter deres ledninger med stik, så låget kan fjernes helt. (min har kun et hængsel, men jeg gjorde dette alligevel) - Jeg vippede de 7 -segmenters skærme ved at forlænge stifterne på den ene side med sikringstråd, som gør det muligt for den side at sidde højere ud af brættet Hus jeg havde planlagt at bygge et tilpasset hus, men i sidste ende havde jeg ikke tid nok, og perspexen er svær at skære, så jeg købte en kasse, der havde samme størrelse som jeg havde brug for, og ændrede den lidt. Jeg synes, det er godt at have et gennemsigtigt kabinet, så arbejdet kan ses, men sørg for, at batterierne og USB -porten er tilgængelige for programjusteringer. Det er det have det sjovt og held og lykke!

Trin 5: Andre muligheder …

Mulige forbedringer eller muligheder: - afspil en anden sekvens af bip afhængigt af hvilken side der vinder - afspil en melodi efter afslutning Jeg tror at dette er muligt med de analoge ben og en passende summer. - forskellige officielle skak -timemønstre (f.eks. tilføj tid for hvert spillede træk) - brug segmentet 7 til at være 2 cifre i minutter og 2 i sekunder

Trin 6: Opdatering fra 2019

2019 opdatering!
2019 opdatering!
2019 opdatering!
2019 opdatering!
2019 opdatering!
2019 opdatering!

så jeg vendte tilbage til min første Instructable og lavede dette skakur igen!

Jeg fulgte de samme trin mere eller mindre, men med følgende forbedringer:

Fysisk opbygning

  • Hele bygningen er mere kompakt og på en træbund (se fotos)
  • Skiftet til et enkelt 9v batteri forbundet direkte til VIN og GND med en switch
  • Vippekontakten er meccanno, hvor hver side holdes nede, når den trykkes af supersterke magneter.

Kode

Jeg har også forbedret koden, der er vedhæftet her. forbedringer er:

  • Slog visningen af tiendedele af et sekund og skiftede cifre til højre
  • Tilføjede trin. Tilføjet 5 minutter plus 5 sekunder pr. Bevægelse og 10 minutter plus 5 sekunder pr. Bevægelse som valgmuligheder

Tilføjet en coupe af linjer for at skifte skærme (L R), hvis du efter bygningen finder ud af, at vippekontakten ikke starter det korrekte ur

Kredsløb

Anbefalede: